Daftar Isi:
- Langkah 1: Bacaan yang Disarankan
- Langkah 2: Bahan
- Langkah 3: Konfigurasikan Raspberry Pi
- Langkah 4: Bangun! Perangkat keras
- Langkah 5: Bangun! Perangkat lunak
- Langkah 6: Uji & Instal
Video: IoT Pet Monitor!: 6 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:58
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
- Panduan Hookup Kit Pemula Raspberry Pi 3
- Raspberry Pi GPIO
- 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:
- Menjelajahi Protokol Komunikasi untuk IoT
- Memulai CloudMQTT
- 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.
- Memulai dengan Papan Breakout Mikrofon MEMS SparkFun
- Lembar Data Mikrofon MEMS
- Lembar Data ADC MCP3002
Langkah 2: 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
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:
- Siapkan akun CloudMQTT (paket "Kucing Lucu" gratis).
- Buat instance MyCloud baru.
- Di Konsol, buat aturan ACL baru.
- 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
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
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
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.
Runner Up Kontes Mikrokontroler 2017
Juara Pertama Kontes Sensor 2017
Direkomendasikan:
D4E1 PET Cutter (Artmaker02): 9 Langkah (dengan Gambar)
D4E1 PET Cutter (Artmaker02): Apa yang dilakukan pemotong botol ini?Mesin ini memotong botol plastik daur ulang (PET) menjadi cincin atau spiral dengan pisau yang dipanaskan di dalam wadah yang aman yang dapat digunakan dengan aman oleh semua orang.Mengapa kami membuat ini dan siapa itu untuk? Kami adalah kelompok Industri D
Creeper-BOT (Pet Creeper): 9 Langkah (dengan Gambar)
Creeper-BOT (Creeper Pet): Saya selalu ingin membuat robot berkaki empat saya sendiri dan kontes Minecraft adalah alasan yang bagus. Selain itu, saya sangat menginginkan 'hewan peliharaan' Creeper. Dalam Instruksi ini saya akan membagikan bagaimana saya membuatnya dan memberi Anda panduan jika Anda ingin membuatnya sendiri. Saya berasumsi Anda ha
Monitor Privasi Diretas Dari Monitor LCD Lama: 7 Langkah (dengan Gambar)
Monitor Privasi Diretas Dari Monitor LCD Lama: Akhirnya Anda dapat melakukan sesuatu dengan monitor LCD lama yang Anda miliki di garasi. Anda dapat mengubahnya menjadi monitor privasi! Semua orang terlihat putih kecuali Anda, karena Anda memakai "ajaib" kacamata! Yang benar-benar harus Anda miliki adalah pa
IoT Outdoor Pet Door: 6 Langkah (dengan Gambar)
IoT Outdoor Pet Door: Saya terinspirasi oleh instruksi ini untuk membuat pintu kandang ayam otomatis. Saya tidak hanya ingin pintu kandang ayam di timer, tetapi saya juga ingin menghubungkan pintu ke internet sehingga saya bisa mengontrolnya dengan telepon saya atau komputer saya. ini d
Membuat Art Bowl Dari Pet Bottle: 5 Langkah (dengan Gambar)
Membuat Mangkuk Seni Dari Botol Hewan Peliharaan: PET adalah Polyethylene Terephthalate, yang merupakan polimer termoplastik. Itu dapat dibentuk kembali dengan pemanasan. Setelah proses pemanasan, menjadi lebih kaku, kaku, tahan lama dan kaca. Itu menjadi lebih kuat dan mengkristal ketika dilubangi. Ini dibentuk kembali