Daftar Isi:

IoT Pet Monitor!: 6 Langkah (dengan Gambar)
IoT Pet Monitor!: 6 Langkah (dengan Gambar)

Video: IoT Pet Monitor!: 6 Langkah (dengan Gambar)

Video: IoT Pet Monitor!: 6 Langkah (dengan Gambar)
Video: Punya Ipad wajib tau ini 2024, November
Anonim
Image
Image
Bacaan yang Disarankan
Bacaan yang Disarankan

Awasi bbies kesayangan Anda dan mainkan musik atau beri tahu mereka untuk diam saat Anda pergi! Tutorial ini akan menunjukkan cara menggunakan komputer Raspberry Pi untuk memantau volume suara di rumah Anda (melalui Cloud) untuk melihat apakah dan kapan hewan peliharaan Anda marah.

Drum roll… bagian yang paling menyenangkan: Jika terlalu keras (seperti Fido menggonggong atau membuat suara parau lainnya), kami akan memberi tahu mereka untuk diam atau memutar musik!

Bersama dengan Pi (dan speaker), kami akan menggunakan papan breakout mikrofon MEMS SparkFun untuk mengukur level volume dan memicu pemutar audio. Data diunggah ke layanan CloudMQTT menggunakan protokol komunikasi MQTT.

Total Waktu Baca: ~ 8 menit

Total Waktu Pembuatan: 60 menit (kurang dengan pengalaman)

TERIMA KASIH kepada SparkFun karena telah mendukung proyek ini! Lihat tutorialnya di sini.

Langkah 1: Bacaan yang Disarankan

Untuk membangun proyek ini, Anda memerlukan komputer Raspberry Pi 3 yang terkonfigurasi sepenuhnya dan terhubung dengan WiFi dengan Raspbian OS. Ini juga membantu untuk mengetahui beberapa pemrograman Python serta hal-hal berikut: (1) cara menggunakan dan mengontrol pin GPIO Raspberry Pi; (2) komunikasi MQTT; dan (3) sensor analog. Jika ada yang asing, atau jika Anda hanya ingin tahu (jadi penasaran!), lihat tutorial di bawah ini!

Raspberry Pi 3

  1. Panduan Hookup Kit Pemula Raspberry Pi 3
  2. Raspberry Pi GPIO
  3. Komunikasi SPI dengan Raspberry Pi

Protokol Komunikasi MQTT

MQTT (Message Query Telemetry Transport) adalah protokol komunikasi IoT yang populer. Kami akan menggunakan pustaka Paho Client Python dan layanan MQTT yang disebut CloudMQTT. Berikut lebih lanjut tentang MQTT dan cara menggunakannya:

  1. Menjelajahi Protokol Komunikasi untuk IoT
  2. Memulai CloudMQTT
  3. Ikhtisar pustaka klien Eclipse Paho MQTT Python

Papan Breakout Mikrofon MEMS

Mikrofon MEMS adalah mikrofon analog, jadi kita memerlukan konverter Analog-ke-Digital ("ADC") untuk membaca sinyal analog dengan pin GPIO digital Raspberry Pi.

  1. Memulai dengan Papan Breakout Mikrofon MEMS SparkFun
  2. Lembar Data Mikrofon MEMS
  3. Lembar Data ADC MCP3002

Langkah 2: Bahan

Bahan
Bahan
Bahan
Bahan
Bahan
Bahan

- Raspberry Pi 3 Model B

Kami juga membutuhkan periferal berikut: Raspberry Pi 3 Case; Kartu SD (minimal 8 GB); Kabel Raspberry Pi 3 GPIO; kabel daya microUSB; Kabel HDMI dan monitor yang kompatibel dengan HDMI; papan ketik USB; mouse USB; speaker dengan port headphone 1/8.

- Papan Breakout Mic MEMS SparkFun

- MCP3002 (Konverter Analog-ke-Digital)

- Kabel Jumper Breadboard & M-to-M Breadboard

Langkah 3: Konfigurasikan Raspberry Pi

Konfigurasikan Raspberry Pi
Konfigurasikan Raspberry Pi
Konfigurasikan Raspberry Pi
Konfigurasikan Raspberry Pi
Konfigurasikan Raspberry Pi
Konfigurasikan Raspberry Pi
Konfigurasikan Raspberry Pi
Konfigurasikan Raspberry Pi

Langkah 1: Periksa & Instal Pembaruan Memeriksa dan menginstal pembaruan selalu merupakan cara yang baik untuk memulai. Jalankan perintah berikut di jendela terminal:

sudo apt-get update

sudo apt-get upgrade

sudo reboot

Langkah 2: Siapkan Antarmuka SPI untuk Mikrofon MEMS + MCP3002

Untuk menggunakan SPI (Serial Port Interface) untuk membaca di Mikrofon MEMS melalui MCP3002, kita memerlukan Paket Dev Python:

sudo apt-get install python-dev

Kami juga memerlukan Antarmuka SPI (mungkin ingin membuat subfolder untuk menyimpannya):

git clone git://github.com/doceme/py-spidev

sudo python setup.py install

Inilah Dokumentasi SPI-Dev jika Anda mengalami masalah.

Langkah 3: Memutar Suara dengan OMXPlayer

OMXPlayer adalah pemutar audio dan video yang dimuat sebelumnya di Raspbian OS. Ia bekerja dengan sebagian besar jenis file suara, termasuk:.wav,.mp3, dan.m4a. Inilah yang akan kita gunakan untuk memutar ulang suara saat Fido menjadi terlalu keras. Pustaka Python untuk mengontrol OMXPlayer disertakan dalam Raspbian (woo!).

Untuk menguji OMXPlayer dari terminal, ketik berikut ini:

omxplayer /home/…/SongFilePath/SongFileName.mp3

Jika itu tidak berhasil, coba paksakan melalui perangkat keluaran audio lokal:

omxplayer -o local /home/…/SongFilePath/SongFileName.mp3

Langkah 4: Konfigurasikan Server CloudMQTT

Sekarang kami menyiapkan server MQTT! Untuk melakukan ini menggunakan CloudMQTT, lakukan hal berikut:

  1. Siapkan akun CloudMQTT (paket "Kucing Lucu" gratis).
  2. Buat instance MyCloud baru.
  3. Di Konsol, buat aturan ACL baru.
  4. Anda dapat memantau pesan yang dipublikasikan di UI "Websocket".

Terakhir, instal pustaka MQTT Paho Client Python:

instal pip paho-mqtt

Langkah 4: Bangun! Perangkat keras

Bangun itu! Perangkat keras
Bangun itu! Perangkat keras
Bangun itu! Perangkat keras
Bangun itu! Perangkat keras
Bangun itu! Perangkat keras
Bangun itu! Perangkat keras

Diagram pinout untuk Raspberry Pi dan MCP3002 ada di foto di atas.

1. Masukkan pin MCP3002 ke breadboard (lihat diagram pinout di atas)

MCP3002 menggunakan 4 pin SPI untuk komunikasi: Serial Clock ("SCL"), Master Input Slave Output ("MISO"), Master Output Slave Input ("MOSI"), dan Chip Select ("CS"). Pin ini sesuai dengan Raspberry Pi GPIO pin 11 (SCLK), GPIO pin 9 (MISO), GPIO Pin 10 (MOSI), dan GPIO Pin 8 (CE0).

Buat koneksi berikut dengan pin MCP3002:

  • Hubungkan Pin 1 ke Raspberry Pi GPIO Pin 8 (CE0)
  • Hubungkan Pin 2 ke output analog papan breakout MEMS Microphone
  • Hubungkan Pin 4 ke GND
  • Hubungkan Pin 5 ke Raspberry Pi GPIO Pin 10 (MOSI)
  • Hubungkan Pin 6 ke Raspberry Pi GPIO pin 9 (MISO)
  • Hubungkan Pin 7 ke Raspberry Pi GPIO Pin 11 (SCLK)
  • Hubungkan Pin 8 ke Raspberry Pi 3.3V keluar

2. Solder kabel ke papan breakout MEMS Microphone. Hubungkan ke MCP3002 dan Raspberry Pi

  • Hubungkan Vcc ke Raspberry Pi 3.3V.
  • Hubungkan GND ke Raspberry Pi GND
  • Hubungkan AUD ke MCP3002 Pin 2

3. Colokkan semua kabel untuk Raspberry Pi dan nyalakan semuanya

Langkah 5: Bangun! Perangkat lunak

Bangun itu! Perangkat lunak
Bangun itu! Perangkat lunak

Tujuan kami dengan Bark Back ada dua: memicu suara pemutaran saat anjing menggonggong, dan mengirim data ke server tempat kami dapat memeriksanya.

Inilah program Python open-source untuk proyek ini. Jangan ragu untuk (dan silakan) menyesuaikan dan memodifikasi kode.

Untuk menjalankan dan menjalankan program, Anda perlu mengisi dua hal:

- songList: Tulis di jalur file dan nama file untuk setiap lagu yang ingin Anda putar.

- kredit: Masukkan informasi CloudMQTT Anda dalam kamus ini.

Langkah 1: Baca di papan breakout Mikrofon MEMS SparkFun

Baca nilai ADC (antara 0 dan 1023) dari papan breakout Mikrofon MEMS (melalui MCP3002) menggunakan pustaka SPI dan hitung amplitudo sinyal puncak-ke-puncak.

Petakan amplitudo sinyal puncak-ke-puncak ke Unit Volume. Kode saat ini memetakan rentang ADC antara 0 dan 700 (berdasarkan eksperimen cepat) ke Unit Volume antara 0 dan 10. Untuk menyesuaikan sensitivitas mikrofon, sesuaikan rentang input ADC.

Untuk gambaran menyeluruh tentang mikrofon MEMS, lihat tutorial ini.

Langkah 2: Picu pemutar audio

Pertama kita perlu lagu untuk dimainkan! Anda dapat dengan cepat merekam suara di GarageBand (atau di ponsel cerdas Anda) dan mengirimkannya ke Raspberry Pi. Dengan Python, gunakan pustaka subproses untuk memanggil omxplayer.

Dalam kode, masukkan path file dari lagu yang ingin Anda putar ulang di variabel *songList* (baris 26). Ambang batas volume saat ini diatur ke 7 dalam fungsi utama.

Langkah 3: Kirim data ke Server CloudMQTT

Gunakan pustaka Paho Client Python untuk berkomunikasi dengan server CloudMQTT. Untuk meringkas secara luas: Siapkan server Klien; menentukan protokol komunikasi; terhubung dengan kredensial kami (alias kredensial); dan berlangganan dan mempublikasikan data kami. Sebagian besar ini dilakukan di fungsi utama (baris 129 - 149, dan baris 169 - 174).

Untuk memeriksa data yang diterima, buka tab "Websocket UI" di konsol CloudMQTT.

Langkah 6: Uji & Instal

Uji & Instal!
Uji & Instal!

Jalankan program BarkBack.py di Terminal atau di Python IDE (Anda juga dapat menggunakan SSH untuk menjalankan program setelah Anda keluar).

Periksa apakah Anda mendapatkan level volume di tab UI Websocket Anda.

Uji sistem dengan memicu mikrofon (tepuk tangan, teriakan, gonggongan, dll.) untuk memastikan bahwa speaker memainkan semua suara.

Setelah semuanya berjalan dan berjalan, disarankan untuk menyolder komponen ke PCB (Printed Circuit Board) jika Anda ingin menginstal sistem lebih dari beberapa hari.

Lomba Mikrokontroler 2017
Lomba Mikrokontroler 2017
Lomba Mikrokontroler 2017
Lomba Mikrokontroler 2017

Runner Up Kontes Mikrokontroler 2017

Kontes Sensor 2017
Kontes Sensor 2017
Kontes Sensor 2017
Kontes Sensor 2017

Juara Pertama Kontes Sensor 2017

Direkomendasikan: