Litar

Cara Membina Kaunter Rakyat Dengan Raspberry Pi dan Ubidots: 6 Langkah

Curso Raspberry PI 3 - Integración con Ubidots - IOT - DHT22

Curso Raspberry PI 3 - Integración con Ubidots - IOT - DHT22

Isi kandungan:

Anonim

Dalam projek mudah ini, kami akan menggunakan sensor gerakan untuk mengesan jika sesuatu objek sedang berlalu di hadapan Raspberry Pi kami. Kemudian kami akan mengira berapa kali yang berlaku, dan hantar nilai ini kepada Ubidots.

Kaunter orang biasanya peranti mahal yang digunakan dalam industri runcit untuk memahami bagaimana pembeli berkelakuan. Terima kasih kepada Raspberry Pi dan Ubidots, kami dapat membina kaunter yang berfungsi dalam beberapa jam dan dengan beberapa dolar!

Sebaik sahaja kami menghantar orang mengira data ke Ubidots, kami boleh membuat grafik bagus untuk analisis, serta makluman SMS / E-mel.

Bekalan:

Langkah 1: Mendapatkan Bahan Kanan

Untuk melengkapkan projek ini, anda perlu:

  1. Model Raspberry Pi B
  2. PIR Sensor oleh Parallax
  3. Raspberry Pi yang serasi dengan USB WiFi Dongle
  4. Pek bateri USB untuk kuasa Raspberry Pi (ini adalah pilihan sekiranya anda mahu meninggalkan Pi sepenuhnya tanpa wayar)
  5. Tiga wayar pelompat wanita

Langkah 2: Perkara Pendawaian

Sensor gerakan PIR agak mudah digunakan kerana ia hanya mempunyai tiga pin:

  • V +
  • GND
  • Pin isyarat yang menghasilkan "1" apabila terdapat pergerakan dan "0" apabila tidak ada.

Tidak perlu bersuara apa-apa, atau menulis fungsi I2C kompleks atau siri untuk mengesan isyarat ini; hanya pasang kabel terus ke pin GPIO Ras Raspberry Pi anda dan ia akan berfungsi!

Langkah 3: Casing

Oleh kerana sensor PIR sangat sensitif terhadap pergerakan, saya menggunakan suis jumper di belakangnya untuk menetapkan kepekaan yang paling rendah. Juga, saya mengambil kes lama dari sepasang kacamata hitam dan membuat lubang di dalamnya, kemudian meletakkan RPi dan sensor PIR di dalamnya. Dengan cara ini, sensor gerak sangat tertumpu pada satu titik, bukannya omnidirectional.

Langkah 4: Mengekod RPi anda

Pada ketika ini, kami akan mengandaikan anda telah membuat persediaan asas Raspberry Pi anda dan anda sedang melihat baris arahan Linuxnya. Jika tidak, kami mengesyorkan menerusi panduan ini terlebih dahulu. Anda juga boleh menyemak siaran ini tentang menggunakan Wicd untuk menyediakan WiFi Raspberry Pi anda.

Mari kita mulakan dengan memastikan kita mempunyai semua perpustakaan yang diperlukan:

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

Buat fail baru yang dipanggil "peoplecounter.py":

$ sudo nano peoplecounter.py

Dan tuliskan kod di bawah. Pastikan untuk mengganti nilai-nilai kunci API dan ID pembolehubah dengan orang-orang dalam akaun Ubidots peribadi anda. (Nota: kod itu tidak terlalu elegan, tapi hei saya bukan pemaju Python, hanya seorang lelaki perkakasan :)

Skrip terdiri daripada gelung yang memeriksa keadaan pin # 7 (sensor gerak). Sekiranya ia membaca "1", bermakna terdapat pergerakan, maka ia akan menambah pembolehubah "orang" dan menunggu 1.5 saat supaya sensor gerakan kembali normal. Ini dilakukan sebanyak 10 kali, memastikan sekurang-kurangnya 1 saat antara setiap kitaran, maka ia akan menghantar jumlah "pergerakan" ke Ubidot. Sekiranya anda perlu menentukur Kaunter Orang, anda perlu bermain dengan baris "time.sleep" dengan nilai lain.

dari ubidots import ApiClient

import RPi.GPIO sebagai GPIO

masa import

GPIO.setmode (GPIO.BCM)

GPIO.setup (7, GPIO.IN)

cuba:

api = ApiClient ("a21ebaf64e14d195c0044fcc3b9f6dab9d653af3")

orang = api.get_variable ("5238cec3f91b282c7357a140")

kecuali: mencetak "Tidak dapat menyambung ke API, periksa sambungan Internet anda"

kaunter = 0

peoplev = 0

sementara (1):

kehadiran = GPIO.input (7)

jika (kehadiran):

orang = + 1

kehadiran = 0

time.sleep (1.5)

time.sleep (1)

kaunter + = 1

jika (counter == 10):

mencetak jumlah orang

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

kaunter = 0

peoplev = 0

Langkah 5: Paparkan Data Anda

Akhirnya, pergi ke papan pemuka Ubidots anda dan tambahkan widget jenis "Kenyataan"Ini akan memaparkan bilangan orang yang dikesan dalam tempoh masa yang anda tetapkan

Langkah 6: Bungkus Up

Projek ini memberi petunjuk kepada jumlah orang yang melalui satu titik tertentu. Ia tidak memberikan bilangan orang yang tepat, memandangkan batasan sensor gerakan, tetapi dalam sesetengah aplikasi ini mungkin cukup.

Data yang dikumpulkan boleh dihantar dengan mudah ke Ubidots Cloud, di mana ia dapat ditafsirkan dengan membuat isyarat, papan pemuka langsung atau berkongsi data ini dalam media sosial, sebagai kod benam, atau hanya dalam pautan awam. Anda juga boleh membaca data ini dari aplikasi lain menggunakan API Ubidots.