top of page
Search
Writer's pictureNaftali Virgiawan Baruna Dewa

Proyek IoT dengan Raspberry Pi: Membuat Sistem Pendeteksi Gerak menggunakan Kamera

Tumnel
Sumber: Naftali

Internet of Things (IoT) adalah konsep di mana berbagai perangkat fisik dapat saling berkomunikasi dan berinteraksi melalui internet. Raspberry Pi adalah salah satu perangkat mini yang populer untuk mengimplementasikan proyek IoT. Dengan berbagai komponen dan kualitasnya sebagai komputer mini yang kuat, Raspberry Pi menjadi pilihan ideal untuk berbagai proyek IoT, termasuk sistem pendeteksi gerak menggunakan kamera.


Proyek ini bertujuan untuk membuat sistem pendeteksi gerak yang dapat digunakan untuk berbagai tujuan, seperti pengawasan keamanan, pemantauan lingkungan, atau bahkan untuk keperluan otomatisasi. Sistem pendeteksi gerak ini memanfaatkan kamera Raspberry Pi untuk menangkap gambar, menganalisis gerakan, dan memberikan tanggapan sesuai dengan kondisi yang terdeteksi.


Hal Yang Perlu Dipersiapkan

Dalam artikel ini, kami akan membahas langkah-langkah untuk membuat proyek IoT yang menarik ini. Namun, sebelum kita mulai, pastikan kamu memiliki perangkat dan komponen berikut:

  1. Raspberry Pi 3 (sudah terinstal sistem operasi Raspbian atau sistem operasi Raspberry Pi lainnya).

  2. Raspberry Pi Camera Module yang terhubung dengan Raspberry Pi.

  3. Internet connection, bisa dari LAN, Router, maupun Hotspot portabel.

  4. Mouse, keyboard, dan monitor untuk melakukan setup awal.

  5. Power supply, untuk Raspberry Pi harus menggunakan power supply yang bertegangan 5 Volt dengan arus yang cukup.

  6. Akses ke terminal atau SSH untuk mengakses Raspberry Pi.


Setup Awal

Sebelum memulai, pastikan Raspberry Pi sudah terkonfigurasi dengan baik dan terhubung ke internet. Jika belum, ikuti langkah-langkah berikut:

  • Instalasi Sistem Operasi: Unduh dan instal Raspbian atau sistem operasi Raspberry Pi lainnya dari situs resmi berikut ini

  • Koneksi Kamera: Hubungkan kamera Raspberry Pi ke slot khusus di papan Raspberry Pi. Pastikan kabel konektor terpasang dengan benar dan aman.

Kamera raspi
Sumber : https://www.arducam.com

  • Koneksi Internet: Pastikan Raspberry Pi terhubung ke internet, baik melalui kabel Ethernet atau Wi-Fi. Jika menggunakan kabel Ethernet, pastikan kabel terhubung ke port Ethernet Raspberry Pi. Jika menggunakan Wi-Fi, atur koneksi melalui ikon jaringan di sudut kanan atas antarmuka Raspberry Pi.

  • Update Sistem: Setelah Raspberry Pi terhubung ke internet, buka terminal

Sumber : https://codewith.mu
  • Perbarui Sistem Operasi: ketik pada terminal lalu jalankan perintah berikut untuk memperbarui sistem:

sudo apt update 
sudo apt upgrade

Aktivasi Kamera

Langkah ini sangat penting karena jika ada yang terlewat maka kamera bisa saja tidak tersambung dengan perangkat Raspberry Pi.

  • Aktifkan modul kamera pada Raspberry Pi dengan perintah berikut

sudo raspi-config
  • Nantinya akan muncul menu config seperti ini lalu pilih opsi "Interface Options," lalu "Camera" dan "Enable".

Sumber : https://linuxhint.com/

Restart Raspberry Pi: Setelah mengaktifkan kamera, restart Raspberry Pi untuk memastikan perubahan berlaku. Setelah setup awal selesai, Raspberry Pi siap digunakan untuk proyek IoT pendeteksi gerak.


Instalasi Library dan Dependency

Langkah selanjutnya adalah menginstal library dan dependensi yang diperlukan untuk proyek ini. Dalam proyek ini, kita akan menggunakan bahasa pemrograman Python untuk mengontrol kamera dan menganalisis gambar. Library yang akan kita gunakan adalah "picamera" dan "OpenCV".


  • Instal Picamera: Picamera adalah library Python yang memungkinkan kita untuk mengontrol kamera Raspberry Pi. Untuk menginstalnya, buka terminal atau SSH dan jalankan perintah berikut:

sudo apt install python3-picamera
  • Install OpenCV: OpenCV adalah library populer untuk pengolahan citra dan penglihatan komputer. Kita akan menggunakannya untuk menganalisis gambar dari kamera dan mendeteksi gerakan. Untuk menginstal OpenCV, jalankan perintah berikut:

sudo apt install python3-opencv

Setelah menginstall library dan dependensi, kita siap untuk memulai dengan kode Python untuk mendeteksi gerakan menggunakan kamera Raspberry Pi.


Kode Python untuk Pendeteksi Gerak

Berikut adalah kode Python yang akan digunakan untuk mendeteksi gerak menggunakan kamera Raspberry Pi:

import picamera
import picamera.array
import cv2

# Inisialisasi kamera Raspberry Pi
camera = picamera.PiCamera()

# Fungsi untuk mendeteksi gerakan dalam frame gambar
def detect_motion(frame):
    # Konversi gambar ke grayscale
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    
    # Deteksi gerakan menggunakan metode perbedaan absolut
    # (frame sekarang - frame sebelumnya)
    if prev_frame is not None:
        diff = cv2.absdiff(gray, prev_frame)
        _, threshold = cv2.threshold(diff, 30, 255, cv2.THRESH_BINARY)
        contours, _ = cv2.findContours(threshold, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
        
        # Jika ada kontur (gerakan terdeteksi), lakukan sesuatu (misalnya menyimpan gambar, mengirim notifikasi, dll.)
        if len(contours) > 0:
            print("Gerakan terdeteksi!")
            # Lakukan aksi yang diinginkan di sini
    else:
        # Inisialisasi frame sebelumnya pada awal program
        global prev_frame
        prev_frame = gray

# Loop untuk mendeteksi gerakan secara terus-menerus
try:
    prev_frame = None
    with picamera.array.PiRGBArray(camera) as stream:
        # Warm-up kamera
        camera.start_preview()
        camera.awb_mode = 'auto'
        camera.exposure_mode = 'auto'
        camera.resolution = (640, 480)
        camera.framerate = 24
        camera.capture(stream, format='bgr')
        stream.seek(0)

        # Loop untuk mengambil gambar dan mendeteksi gerakan
        while True:
            # Ambil gambar dari stream
            camera.capture(stream, format='bgr', use_video_port=True)
            frame = stream.array

            # Deteksi gerakan pada frame gambar
            detect_motion(frame)

            # Bersihkan stream untuk gambar berikutnya
            stream.seek(0)
            stream.truncate()

except KeyboardInterrupt:
    # Matikan kamera jika ada interrupt dari keyboard

    camera.stop_preview()

Penjelasan singkat kode di atas:

Kita menggunakan modul picamera untuk mengakses kamera Raspberry Pi dan memperoleh stream gambar real-time dari kamera.


Kode berisi fungsi 'detect_motion(frame)' yang bertugas mendeteksi gerakan dalam frame gambar. Deteksi gerakan dilakukan dengan membandingkan perbedaan absolut antara frame sekarang dan frame sebelumnya dalam bentuk gambar grayscale.


Jika gerakan terdeteksi (berdasarkan kontur yang dihasilkan), kita dapat melaksanakan tindakan lebih lanjut, seperti menyimpan gambar, mengirim notifikasi, atau memicu tindakan IoT lainnya.


Uji Coba Proyek

Setelah kode di atas sudah dijalankan pada Raspberry Pi, sistem pendeteksi gerak akan berjalan. Untuk menguji proyek ini, kamu dapat mencoba beberapa langkah berikut:


  1. Pastikan Raspberry Pi dan kamera terhubung ke sumber daya dan internet.

  2. Jalankan kode Python untuk pendeteksi gerak.

  3. Peragakan tangan atau objek lain di depan kamera Raspberry Pi.

  4. Jika gerakan terdeteksi, maka pesan "Gerakan terdeteksi!" akan muncul di konsol atau terminal.


Kesimpulan

Proyek IoT dengan Raspberry Pi untuk membuat sistem pendeteksi gerak menggunakan kamera adalah contoh menarik dari penerapan teknologi Internet of Things dalam kehidupan sehari-hari. Dengan menggunakan Raspberry Pi, kamera, dan Python, kita dapat membuat sistem sederhana yang dapat mengenali gerakan dan memberikan tanggapan sesuai dengan situasi.


Proyek ini juga bisa dikembangkan lebih lanjut dengan menambahkan fitur tambahan, seperti menyimpan rekaman gambar atau video saat terjadi gerakan, mengirim notifikasi melalui email atau aplikasi pesan, atau bahkan mengintegrasikan sistem dengan platform IoT lainnya.


Selain itu, kamu dapat melakukan improvisasi pada metode pendeteksian gerak dan mengembangkan aplikasi khusus yang sesuai dengan kebutuhan kamu. Semoga artikel ini memberikan inspirasi dan wawasan bagi pembaca untuk memulai eksplorasi lebih lanjut dalam dunia Internet of Things dan Raspberry Pi. Semoga bermanfaat dan selamat berkarya!


PT. Karya Merapi Teknologi



Sumber:


452 views2 comments

Recent Posts

See All

2 comentários


Restu Setiawan
Restu Setiawan
01 de ago. de 2023

oke barun siap

Curtir
Respondendo a

Mantap bang

Curtir
bottom of page