Sadržaj:
- 1. korak: Predloženo čitanje
- Korak 2: Materijali
- Korak 3: Konfigurirajte Raspberry Pi
- Korak 4: Izgradite ga! Hardver
- Korak 5: Izgradite ga! Softver
- Korak 6: Testirajte i instalirajte
Video: IoT Monitor za kućne ljubimce!: 6 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
Pazite na svoje voljene bebe i puštajte glazbu ili im recite da šute dok ste odsutni! Ovaj će vodič pokazati kako koristiti računalo Raspberry Pi za nadzor glasnoće zvuka u vašem domu (putem oblaka) kako biste vidjeli je li i kada vaš ljubimac uzrujan.
Drum roll … najzabavniji dio: Ako postane preglasno (kao što Fido laje ili pravi neku drugu hrapavost), reći ćemo im da šute ili puštaju glazbu!
Uz Pi (i zvučnike), upotrijebit ćemo SparkFun MEMS mikrofonsku ploču za mjerenje glasnoće i pokretanje audio playera. Podaci se prenose u uslugu CloudMQTT pomoću komunikacijskog protokola MQTT.
Ukupno vrijeme čitanja: ~ 8 min
Ukupno vrijeme izgradnje: 60 min (manje sa iskusnim)
Veliko HVALA SparkFunu na podršci ovom projektu! Vodič pogledajte ovdje.
1. korak: Predloženo čitanje
Za izradu ovog projekta trebat će vam potpuno konfigurirano računalo Raspberry Pi 3 povezano WiFi-em s Raspbian OS-om. Također je korisno znati neke programe na Pythonu, kao i sljedeće stvari: (1) kako koristiti i kontrolirati Raspberry Pi GPIO pinove; (2) MQTT komunikacija; i (3) analogni senzori. Ako vam nešto od ovoga nije poznato ili ste samo znatiželjni (budite znatiželjni!), Pogledajte upute u nastavku!
Malina Pi 3
- Vodič za spajanje Raspberry Pi 3 početnog kompleta
- Raspberry Pi GPIO
- SPI komunikacija s Raspberry Pi
MQTT komunikacijski protokol
MQTT (telemetrijski transport upita upita) popularan je IoT komunikacijski protokol. Koristit ćemo Paho Client Python knjižnicu i MQTT uslugu pod nazivom CloudMQTT. Evo više o MQTT -u i kako ga koristiti:
- Istražujući komunikacijske protokole za IoT
- Početak rada s CloudMQTT -om
- Pregled klijentske knjižnice Eclipse Paho MQTT Python
MEMS ploča za razbijanje mikrofona
MEMS mikrofon je analogni mikrofon, pa će nam trebati analogno-digitalni pretvarač ("ADC") za čitanje analognog signala s Raspberry Pi digitalnim GPIO pinovima.
- Početak rada s SparkFun MEMS mikrofonskom pločom
- Tehnički list za MEMS mikrofon
- Tehnički list MCP3002 ADC
Korak 2: Materijali
- Raspberry Pi 3 Model B
Trebat će nam i sljedeće periferne jedinice: Raspberry Pi 3 kućište; SD kartica (minimalno 8 GB); Raspberry Pi 3 GPIO kabel; Kabel za napajanje MicroUSB; HDMI kabel i monitor kompatibilan s HDMI-om; USB tipkovnica; USB miš; zvučnici s 1/8 priključkom za slušalice.
- SparkFun MEMS mikrofonska ploča
-MCP3002 (analogno-digitalni pretvarač)
-Breadboard & M-to-M Breadboard Jumper žice
Korak 3: Konfigurirajte Raspberry Pi
Korak 1: Provjerite i instalirajte ažuriranja Provjera i instaliranje ažuriranja uvijek su dobar način za početak. Pokrenite sljedeće naredbe u prozoru terminala:
sudo apt-get ažuriranje
sudo apt-get nadogradnja
sudo ponovno podizanje sustava
Korak 2: Postavite SPI sučelje za MEMS mikrofon + MCP3002
Da bismo koristili SPI (sučelje serijskog porta) za čitanje u MEMS mikrofonu putem MCP3002, trebat će nam paket Python Dev:
sudo apt-get install python-dev
Trebat će nam i SPI sučelje (možda biste htjeli stvoriti podmapu za spremanje u ovu datoteku):
git klon git: //github.com/doceme/py-spidev
sudo python setup.py install
Evo SPI-Dev dokumentacije ako naiđete na bilo koji problem.
Korak 3: Reproduciranje zvukova s OMXPlayerom
OMXPlayer je audio i video player unaprijed učitan na Raspbian OS. Radi s većinom vrsta zvučnih datoteka, uključujući:.wav,.mp3 i.m4a. To je ono što ćemo koristiti za reprodukciju zvukova kada Fido postane preglasan. Knjižnica Python za kontrolu OMXPlayera uključena je u Raspbian (woo!).
Da biste testirali OMXPlayer s terminala, upišite sljedeće:
omxplayer /home/…/SongFilePath/SongFileName.mp3
Ako to ne uspije, pokušajte ga prisiliti na lokalni uređaj za audio-izlaz:
omxplayer -o lokalno /home/…/SongFilePath/SongFileName.mp3
Korak 4: Konfigurirajte CloudMQTT poslužitelj
Sada smo postavili MQTT poslužitelj! Da biste to učinili pomoću CloudMQTT -a, učinite sljedeće:
- Postavite CloudMQTT račun (plan "Cute Cat" je besplatan).
- Izradite novu instancu MyCloud.
- U konzoli stvorite novo pravilo ACL -a.
- Objavljene poruke možete pratiti u korisničkom sučelju "Websocket".
Na kraju, instalirajte biblioteku Python klijenta MQTT Paho Client:
pip install paho-mqtt
Korak 4: Izgradite ga! Hardver
Dijagrami ispisa za Raspberry Pi i MCP3002 nalaze se na gornjim fotografijama.
1. Umetnite pinove MCP3002 u matičnu ploču (pogledajte gornji dijagram iscrtavanja)
MCP3002 koristi 4 SPI pina za komunikaciju: Serijski sat ("SCL"), Glavni ulazni izlazni izlaz ("MISO"), Glavni izlazni podređeni ulaz ("MOSI") i Odabir čipa ("CS"). Ovi pinovi odgovaraju Raspberry Pi GPIO pin 11 (SCLK), GPIO pin 9 (MISO), GPIO Pin 10 (MOSI) i GPIO Pin 8 (CE0).
Ostvarite sljedeće veze s pinovima MCP3002:
- Spojite Pin 1 na Raspberry Pi GPIO Pin 8 (CE0)
- Spojite pin 2 na analogni izlaz ploče za izbijanje mikrofona MEMS
- Spojite pin 4 na GND
- Spojite Pin 5 na Raspberry Pi GPIO Pin 10 (MOSI)
- Spojite pin 6 na Raspberry Pi GPIO pin 9 (MISO)
- Spojite Pin 7 na Raspberry Pi GPIO Pin 11 (SCLK)
- Spojite Pin 8 na izlaz 3.3V Raspberry Pi
2. Lemite žice na MEMS mikrofonsku ploču. Povežite se na MCP3002 i Raspberry Pi
- Spojite Vcc na Raspberry Pi 3.3V.
- Spojite GND na Raspberry Pi GND
- Spojite AUD na MCP3002 Pin 2
3. Uključite sve kabele za Raspberry Pi i uključite sve
Korak 5: Izgradite ga! Softver
Naš cilj s Bark Back -om je dvojak: aktivirati zvuk reprodukcije kada pas laje i poslati podatke na poslužitelj gdje to možemo provjeriti.
Evo otvorenog koda Python programa za ovaj projekt. Slobodno (i molim vas) prilagodite i izmijenite kôd.
Da biste pokrenuli program, morate ispuniti dvije stvari:
- songList: Upišite put datoteke i naziv datoteke za svaku pjesmu koju želite reproducirati.
- creds: Unesite svoje CloudMQTT podatke u ovaj rječnik.
Korak 1: Pročitajte na ploči za razbijanje mikrofona SparkFun MEMS
Očitajte vrijednost ADC-a (između 0 i 1023) s MEMS mikrofonske ploče (preko MCP3002) pomoću SPI biblioteke i izračunajte amplitudu signala od vrha do vrha.
Preslikajte amplitudu vrha signala u jedinicu volumena. Trenutni kôd preslikava raspon ADC -a između 0 i 700 (na temelju brzog eksperimentiranja) u jedinicu za glasnoću između 0 i 10. Da biste prilagodili osjetljivost mikrofona, prilagodite raspon ulaza ADC -a.
Za detaljan pregled MEMS mikrofona pogledajte ovaj vodič.
Korak 2: Pokrenite audio player
Prvo će nam trebati pjesme za sviranje! Možete brzo snimiti zvukove u GarageBandu (ili na pametnom telefonu) i poslati ih na Raspberry Pi. U Pythonu upotrijebite knjižnicu podprocesa za pozivanje omxplayera.
U kôd unesite putanju datoteke pjesama koje želite reproducirati u varijablu * songList * (redak 26). Trenutni prag glasnoće postavljen je na 7 u glavnoj funkciji.
Korak 3: Pošaljite podatke na CloudMQTT poslužitelj
Za komunikaciju s CloudMQTT poslužiteljima koristite Paho Client Python knjižnicu. Ukratko, rezimirajte: Postavite klijentski poslužitelj; definirati komunikacijske protokole; povežite se s našim vjerodajnicama (aka creds); i pretplatite se i objavite naše podatke. Većina se toga radi u glavnoj funkciji (retci 129 - 149 i retci 169 - 174).
Da biste provjerili primljene podatke, idite na karticu "Websocket UI" na CloudMQTT konzoli.
Korak 6: Testirajte i instalirajte
Pokrenite program BarkBack.py u Terminalu ili u Python IDE -u (možete koristiti i SSH za pokretanje programa nakon što ste već napustili).
Provjerite dobivate li razinu glasnoće na kartici UI Websocket.
Testirajte sustav aktiviranjem mikrofona (pljesak, vika, lavež itd.) Kako biste bili sigurni da zvučnici sviraju kroz sve zvukove.
Kad sve bude pokrenuto, preporučuje se lemljenje komponenti na PCB (tiskana pločica) ako namjeravate instalirati sustav na više od samo nekoliko dana.
Drugoplasirani na natjecanju mikrokontrolera 2017
Prva nagrada na natjecanju senzora 2017
Preporučeni:
SmartPET - Pametni hranilica za kućne ljubimce: 7 koraka (sa slikama)
SmartPET - Pametni hranilica za kućne ljubimce: Hej! Ja sam Maxime Vermeeren, 18-godišnji student MCT-a (multimedijske i komunikacijske tehnologije) na Howest-u. Odlučio sam stvoriti pametnu hranilicu za kućne ljubimce kao svoj projekt. Zašto sam to napravio? Moja mačka ima problema s težinom, pa sam odlučio napraviti stroj za
Bot za kućne ljubimce: 6 koraka (sa slikama)
Ljubimac za kućne ljubimce: Kredit: Ovaj projekt inspirirao je Beetlebot od strane robomaniac.Ažuriranje: Od tada sam ga preimenovao u Pet Bot. (Video se i dalje prikazuje kao Catfish Bot) Učim robotiku mlade proizvođače na ESP8266, Arduino i Raspberry PI platformama i jednoj od izazovnih
IDC2018IOT Povezani sustav za hranu, vodu i monitor za kućne ljubimce: 7 koraka
IDC2018IOT Sustav povezane hrane, vode i monitora za kućne ljubimce: Uvod Bilo da ste student pod pritiskom, vrijedna osoba ili jednostavno izvan kuće više od nekoliko sati dnevno. Kao brižni vlasnici kućnih ljubimaca, želimo osigurati da naši voljeni ostanu zdravi, nahranjeni i naravno NE leže na t
IoT dozator za kućne ljubimce: 7 koraka (sa slikama)
IoT dozator za kućne ljubimce: Imam dvije mačke, a to što im moram davati poslastice oko 3 puta dnevno postalo je velika smetnja. Podigli bi pogled prema meni sa svojim ljupkim licima i intenzivnim pogledom, a zatim potrčali do boksa punog mačjeg zelenila, mijaukali i molili ih. Odlučio sam
IoT vanjska vrata za kućne ljubimce: 6 koraka (sa slikama)
IoT vanjska vrata za kućne ljubimce: inspirirala me ova uputa za stvaranje automatskih vrata za kokošinjac. Ne samo da sam htio vrata kokošinjaca na tajmeru, već sam htio i vrata spojiti na internet kako bih ih mogao kontrolirati telefonom ili računalom. Ovaj d