Sirkuit

Cara Membangun Counter Orang Dengan Raspberry Pi dan Ubidots: 6 Langkah

Membuat Smarthome dengan Raspberry Pi dan Telegram Bot

Membuat Smarthome dengan Raspberry Pi dan Telegram Bot

Daftar Isi:

Anonim

Dalam proyek sederhana ini kita akan menggunakan sensor gerak untuk mendeteksi jika suatu benda melintas di depan Raspberry Pi kita. Kemudian kita akan menghitung berapa kali itu terjadi, dan mengirimkan nilai ini ke Ubidots.

Penghitung orang biasanya merupakan perangkat mahal yang digunakan dalam industri ritel untuk memahami bagaimana perilaku pembeli. Berkat Raspberry Pi dan Ubidots, kami dapat membangun counter orang yang fungsional dalam beberapa jam dan dengan beberapa dolar!

Setelah kami mengirim orang yang menghitung data ke Ubidots, kami dapat membuat grafik yang bagus untuk analisis, serta peringatan SMS / Email.

Persediaan:

Langkah 1: Mendapatkan Bahan yang Tepat

Untuk menyelesaikan proyek ini, Anda perlu:

  1. A Raspberry Pi Model B
  2. A PIR Sensor oleh Parallax
  3. Dongle WiFi WiFi USB yang kompatibel dengan Raspberry Pi
  4. Paket baterai USB untuk memberi daya pada Raspberry Pi (ini opsional jika Anda ingin meninggalkan Pi sepenuhnya nirkabel)
  5. Tiga kabel jumper wanita-wanita

Langkah 2: Memasang Kabel

Sensor gerak PIR cukup mudah digunakan karena hanya memiliki tiga pin:

  • V +
  • GND
  • Pin sinyal yang menampilkan "1" saat ada gerakan dan "0" saat tidak ada.

Tidak perlu solder apa pun, atau untuk menulis I2C kompleks atau fungsi serial untuk mendeteksi sinyal ini; cukup colokkan kabel langsung ke pin GPIO Raspberry Pi Anda dan itu akan berhasil!

Langkah 3: Casing

Karena sensor PIR sangat sensitif terhadap pergerakan, saya menggunakan jumper switch di belakangnya untuk mengatur sensibilitas posible terendah. Juga, saya mengambil kasing tua dari kacamata hitam dan membuat lubang di dalamnya, lalu meletakkan RPi dan sensor PIR di dalamnya. Dengan cara ini, sensor gerak sangat fokus dalam satu titik, alih-alih menjadi begitu omnidirectional.

Langkah 4: Mengkode RPi Anda

Pada titik ini, kami akan menganggap Anda telah melakukan pengaturan dasar Raspberry Pi Anda dan Anda sedang melihat baris perintah Linux. Jika tidak, kami sarankan untuk membaca panduan ini terlebih dahulu. Anda juga dapat memeriksa posting ini tentang menggunakan Wicd untuk mengatur WiFi Raspberry Pi Anda.

Mari kita mulai dengan memastikan kita memiliki semua perpustakaan yang diperlukan:

Pembaruan apt-get $ sudo
$ sudo apt-get upgrade $ sudo apt-get install python-setuptools $ sudo easy_install pip $ pip install ubidots

Buat file baru bernama "peoplecounter.py":

$ sudo nano peoplecounter.py

Dan tuliskan kode di bawah ini. Pastikan untuk mengganti nilai kunci API dan ID variabel dengan yang ada di akun Ubidots pribadi Anda. (Catatan: kodenya tidak terlalu elegan, tapi hei saya bukan pengembang Python, hanya seorang pria perangkat keras :)

Script terdiri dari satu loop yang memeriksa keadaan pin # 7 (sensor gerak). Jika bunyinya "1", artinya ada gerakan, maka ia menambah variabel "peoplecount" dan menunggu 1,5 detik sehingga sensor gerak kembali normal. Ini dilakukan 10 kali, memastikan setidaknya ada 1 detik antara setiap siklus, lalu mengirimkan jumlah total "gerakan" ke Ubidots. Jika Anda perlu mengkalibrasi Penghitung Orang, Anda harus bermain dengan garis "time.sleep" dengan nilai lain.

dari ubidots, impor ApiClient

impor RPi.GPIO sebagai GPIO

waktu impor

GPIO.setmode (GPIO.BCM)

GPIO.setup (7, GPIO.IN)

mencoba:

api = ApiClient ("a21ebaf64e14d195c0044fcc3b9f6dab9d653af3")

orang = api.get_variable ("5238cec3f91b282c7357a140")

kecuali: cetak "Tidak dapat terhubung ke API, periksa koneksi Internet Anda"

penghitung = 0

peoplev = 0

sementara (1):

presence = GPIO.input (7)

jika (kehadiran):

peoplecount + = 1

Kehadiran = 0

time.sleep (1.5)

time.sleep (1)

penghitung + = 1

if (counter == 10):

cetak peoplecount

people.save_value ({'value': peoplecount})

penghitung = 0

peoplev = 0

Langkah 5: Tampilkan Data Anda

Terakhir, buka dasbor Ubidot Anda dan tambahkan widget jenis itu "Pernyataan". Ini akan menampilkan jumlah total orang yang terdeteksi dalam jangka waktu yang Anda tentukan

Langkah 6: Membungkus

Proyek ini memberikan petunjuk tentang jumlah orang yang melewati titik tertentu. Itu tidak memberikan jumlah orang yang tepat, mengingat keterbatasan sensor gerak, tetapi dalam beberapa aplikasi ini mungkin cukup.

Data yang dikumpulkan dapat dengan mudah dikirim ke Cloud Ubidots, di mana data tersebut dapat ditafsirkan dengan membuat lansiran, dasbor langsung, atau bahkan berbagi data ini di media sosial, sebagai kode sematan, atau hanya di tautan publik. Anda juga dapat membaca data ini dari aplikasi lain menggunakan API Ubidots.