Isi kandungan:
- Langkah 1: Bacaan yang dicadangkan
- Langkah 2: Bahan
- Langkah 3: Konfigurasikan Raspberry Pi
- Langkah 4: Bangunlah! Perkakasan
- Langkah 5: Bangunlah! Perisian
- Langkah 6: Uji & Pasang
Video: Monitor Haiwan Peliharaan IoT !: 6 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:12
Awasi anak kesayangan anda dan mainkan muzik atau suruh mereka diam semasa anda pergi! Tutorial ini akan menunjukkan cara menggunakan komputer Raspberry Pi untuk memantau jumlah suara di rumah anda (melalui Awan) untuk melihat apakah dan kapan haiwan kesayangan anda kecewa.
Drum roll… bahagian yang paling menggembirakan: Sekiranya terlalu kuat (seperti Fido menyalak atau membuat beberapa kasar), kami akan memberitahu mereka untuk diam atau bermain muzik!
Bersama dengan Pi (dan pembesar suara), kami akan menggunakan papan pemecah mikrofon SparkFun MEMS untuk mengukur tahap kelantangan dan mencetuskan pemain audio. Data dimuat ke perkhidmatan CloudMQTT menggunakan protokol komunikasi MQTT.
Jumlah Masa Baca: ~ 8 min
Jumlah Masa Binaan: 60 min (kurang w / berpengalaman)
TERIMA KASIH kepada SparkFun kerana menyokong projek ini! Lihat tutorial di sini.
Langkah 1: Bacaan yang dicadangkan
Untuk membina projek ini, anda memerlukan komputer Raspberry Pi 3 yang disambungkan sepenuhnya dengan WiFi dengan OS Raspbian. Ia juga berguna untuk mengetahui beberapa pengaturcaraan Python serta perkara-perkara berikut: (1) cara menggunakan dan mengendalikan pin Raspberry Pi GPIO; (2) komunikasi MQTT; dan (3) sensor analog. Sekiranya ada perkara yang tidak dikenali, atau jika anda hanya ingin tahu (ingin tahu!), Lihat tutorial di bawah!
Raspberry Pi 3
- Panduan Hookup Kit Permulaan Raspberry Pi 3
- Raspberry Pi GPIO
- Komunikasi SPI dengan Raspberry Pi
Protokol Komunikasi MQTT
MQTT (Transport Query Telemetry Transport) adalah protokol komunikasi IoT yang popular. Kami akan menggunakan perpustakaan Paho Client Python dan perkhidmatan MQTT yang dipanggil CloudMQTT. Inilah lebih lanjut mengenai MQTT dan cara menggunakannya:
- Meneroka Protokol Komunikasi untuk IoT
- Bermula dengan CloudMQTT
- Gambaran keseluruhan perpustakaan pelanggan Eclipse Paho MQTT Python
Papan Pemecah Mikrofon MEMS
Mikrofon MEMS adalah mikrofon analog, jadi kami memerlukan penukar Analog-ke-Digital ("ADC") untuk membaca dalam isyarat analog dengan pin GPIO digital Raspberry Pi.
- Bermula dengan SparkFun MEMS Microphone Breakout Board
- Lembaran Data Mikrofon MEMS
- Lembaran Data MCP3002 ADC
Langkah 2: Bahan
- Raspberry Pi 3 Model B
Kami juga memerlukan periferal berikut: Kes Raspberry Pi 3; Kad SD (minimum 8 GB); Kabel Raspberry Pi 3 GPIO; Kabel kuasa MicroUSB; Kabel HDMI dan monitor serasi HDMI; Papan kekunci USB; Tetikus USB; pembesar suara dengan port fon kepala 1/8.
- SparkFun MEMS Mic Breakout Board
- MCP3002 (Penukar Analog-ke-Digital)
- Wire Jumper Breadboard & M-to-M Breadboard
Langkah 3: Konfigurasikan Raspberry Pi
Langkah 1: Periksa & Pasang Kemas kini Memeriksa dan memasang kemas kini selalu merupakan cara yang baik untuk memulakan. Jalankan arahan berikut di tetingkap terminal:
sudo apt-get kemas kini
sudo apt-get peningkatan
rebo sudo
Langkah 2: Sediakan Muka SPI untuk MEMS Mikrofon + MCP3002
Untuk menggunakan SPI (Serial Port Interface) untuk membaca di MEMS Mikrofon melalui MCP3002, kami memerlukan Python Dev Package:
sudo apt-get install python-dev
Kami juga memerlukan Interface SPI (mungkin ingin membuat subfolder untuk menyimpannya):
git klon git: //github.com/doceme/py-spidev
sudo python setup.py pasang
Inilah Dokumentasi SPI-Dev jika anda menghadapi sebarang masalah.
Langkah 3: Bermain Bunyi dengan OMXPlayer
OMXPlayer adalah pemain audio dan video yang dimuatkan terlebih dahulu pada OS Raspbian. Ia berfungsi dengan kebanyakan jenis fail suara, termasuk:.wav,.mp3, dan.m4a. Inilah yang akan kita gunakan untuk memainkan semula bunyi apabila Fido terlalu kuat. Perpustakaan Python untuk mengawal OMXPlayer termasuk dalam Raspbian (woo!).
Untuk menguji OMXPlayer dari terminal, ketik yang berikut:
omxplayer /home/…/SongFilePath/SongFileName.mp3
Sekiranya tidak berjaya, cubalah memaksanya menggunakan peranti keluar audio tempatan:
omxplayer -o local /home/…/SongFilePath/SongFileName.mp3
Langkah 4: Konfigurasikan Pelayan CloudMQTT
Sekarang kami menyediakan pelayan MQTT! Untuk melakukan ini menggunakan CloudMQTT, lakukan perkara berikut:
- Sediakan akaun CloudMQTT (pelan "Cute Cat" adalah percuma).
- Buat contoh MyCloud baru.
- Di Konsol, buat peraturan ACL baru.
- Anda boleh memantau mesej yang diterbitkan di UI "Websocket".
Akhirnya, pasang pustaka MQTT Paho Client Python:
memasang pip paho-mqtt
Langkah 4: Bangunlah! Perkakasan
Gambarajah pinout untuk Raspberry Pi dan MCP3002 terdapat dalam gambar di atas.
1. Masukkan pin MCP3002 ke papan roti (lihat gambarajah 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).
Lakukan hubungan berikut dengan pin MCP3002:
- Sambungkan Pin 1 ke Raspberry Pi GPIO Pin 8 (CE0)
- Sambungkan Pin 2 ke output analog papan pemecah Mikrofon MEMS
- Sambungkan Pin 4 ke GND
- Sambungkan Pin 5 ke Raspberry Pi GPIO Pin 10 (MOSI)
- Sambungkan Pin 6 ke Raspberry Pi GPIO pin 9 (MISO)
- Sambungkan Pin 7 ke Raspberry Pi GPIO Pin 11 (SCLK)
- Sambungkan Pin 8 ke Raspberry Pi 3.3V keluar
2. Kabel solder ke papan pemecah Mikrofon MEMS. Sambungkan ke MCP3002 dan Raspberry Pi
- Sambungkan Vcc ke Raspberry Pi 3.3V.
- Sambungkan GND ke Raspberry Pi GND
- Sambungkan AUD ke MCP3002 Pin 2
3. Pasangkan semua kabel untuk Raspberry Pi dan hidupkan semuanya
Langkah 5: Bangunlah! Perisian
Matlamat kami dengan Bark Back adalah dua kali ganda: mencetuskan suara main balik ketika anjing menyalak, dan mengirim data ke pelayan di mana kami dapat memeriksanya.
Inilah program Python sumber terbuka untuk projek ini. Jangan ragu (dan sila lakukan) menyesuaikan dan mengubah kodnya.
Untuk menjalankan program ini, anda perlu mengisi dua perkara:
- songList: Tulis di jalur fail dan nama fail untuk setiap lagu yang anda mahu mainkan.
- creds: Masukkan maklumat CloudMQTT anda dalam kamus ini.
Langkah 1: Baca di papan pemecah Mikrofon SparkFun MEMS
Baca dalam nilai ADC (antara 0 dan 1023) dari papan pemecah Mikrofon MEMS (melalui MCP3002) menggunakan perpustakaan SPI dan hitung amplitud puncak-ke-puncak isyarat.
Petakan amplitud puncak ke puncak isyarat ke Unit Isipadu. Kod semasa memetakan rentang ADC antara 0 dan 700 (berdasarkan eksperimen cepat) ke Unit Volume antara 0 dan 10. Untuk menyesuaikan kepekaan mikrofon, sesuaikan julat input ADC.
Untuk gambaran keseluruhan mic MEMS, lihat tutorial ini.
Langkah 2: Mencetuskan pemain audio
Mula-mula kita memerlukan lagu untuk dimainkan! Anda boleh merakam suara dengan pantas di GarageBand (atau di telefon pintar anda) dan menghantarnya ke Raspberry Pi. Di Python, gunakan perpustakaan subproses untuk memanggil omxplayer.
Dalam kod, masukkan jalur fail lagu yang ingin anda mainkan dalam pemboleh ubah * songList * (baris 26). Ambang kelantangan semasa ditetapkan ke 7 dalam fungsi utama.
Langkah 3: Hantar data ke Pelayan CloudMQTT
Gunakan perpustakaan Paho Client Python untuk berkomunikasi dengan pelayan CloudMQTT. Untuk meringkaskan secara meluas: Sediakan pelayan Pelanggan; menentukan protokol komunikasi; berhubung dengan kelayakan kami (aka creds); dan melanggan dan menerbitkan data kami. Sebilangan besar ini dilakukan dalam fungsi utama (baris 129 - 149, dan baris 169 - 174).
Untuk memeriksa data yang diterima, pergi ke tab "Websocket UI" di konsol CloudMQTT.
Langkah 6: Uji & Pasang
Jalankan program BarkBack.py di Terminal atau di Python IDE (anda juga boleh menggunakan SSH untuk menjalankan program setelah anda keluar).
Pastikan anda mendapat tahap kelantangan di tab UI Websocket anda.
Uji sistem dengan memicu mikrofon (bertepuk tangan, berteriak, kulit kayu, dll.) Untuk memastikan pembesar suara memainkan semua suara.
Setelah semuanya berjalan lancar, disarankan untuk memasangkan komponen ke PCB (Printed Circuit Board) jika anda berhasrat untuk memasang sistem selama lebih dari beberapa hari.
Naib Johan dalam Peraduan Mikrokontroler 2017
Hadiah Pertama dalam Peraduan Sensor 2017
Disyorkan:
SmartPET - Pemakanan Haiwan Peliharaan Pintar: 7 Langkah (dengan Gambar)
SmartPET - Pemakanan Haiwan Peliharaan Pintar: Hei! Saya Maxime Vermeeren, pelajar MCT (Teknologi multimedia dan komunikasi) 18 tahun di Howest. Saya telah memilih untuk membuat feeder haiwan kesayangan pintar sebagai projek saya. Mengapa saya membuat ini? Kucing saya mempunyai beberapa masalah berat badan, jadi saya memutuskan untuk membuat mesin
OLOID Bergerak - Haiwan Peliharaan Berbeza dalam Masa Berbeza: 10 Langkah (dengan Gambar)
OLOID yang Bergerak - Haiwan Peliharaan yang Berbeza pada Masa yang Berbeza: Corona telah mengubah hidup kita: ia memerlukan kita untuk menjauhkan secara fizikal, yang seterusnya membawa kepada jarak sosial. Jadi apa yang boleh menjadi penyelesaian? Mungkin haiwan kesayangan? Tetapi tidak, Corona berasal dari haiwan. Mari selamatkan diri kita dari Corona 2.0 yang lain. Tetapi jika kita ha
Mesin Pengumpan Haiwan Peliharaan Dengan RasPi dan Telegram Bot: 4 Langkah (dengan Gambar)
Mesin Pengumpan Haiwan Peliharaan Dengan RasPi dan Telegram Bot: Pertama sekali, saya perlu menjelaskan bahawa ini bukan Tambang Idea yang asli, hanya kemas kini dan sesuaikan skrip pengaturcaraan untuk berfungsi dengan telegram, saya dapati di Instructable sebelumnya sehingga kredit benar-benar pengarangnya. Anda dapat melihat bahasa Sepanyol
IoT Treat Dispenser untuk Haiwan Peliharaan: 7 Langkah (dengan Gambar)
IoT Treat Dispenser for Pets: Saya mempunyai dua ekor kucing, dan harus memberi mereka rawatan kira-kira 3 kali sehari menjadi sangat mengganggu. Mereka memandang saya dengan wajah comel dan tatapan tajam mereka, kemudian berlari ke kotak yang penuh dengan kehijauan kucing, mengeong dan meminta mereka. Saya telah memutuskan
Pintu Haiwan Peliharaan Luar IoT: 6 Langkah (dengan Gambar)
Pintu Haiwan Luaran IoT: Saya terinspirasi oleh arahan ini untuk membuat pintu kandang ayam automatik. Bukan sahaja saya mahukan pintu kandang ayam pada pemasa, tetapi saya juga mahu menyambungkan pintu ke internet supaya saya dapat mengawalnya dengan telefon atau komputer saya. Ini