Sadržaj:
- Korak 1: 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 Pet Monitor!: 6 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
Pazite na svoje voljene bebe i puštajte muziku ili im recite da šute dok ste odsutni! Ovaj vodič će pokazati kako se pomoću računara Raspberry Pi može pratiti jačina zvuka u vašem domu (putem oblaka) kako bi se vidjelo je li i kada vaš ljubimac uznemiren.
Drum roll … najzabavniji dio: Ako postane preglasno (kao što Fido laje ili pravi neku drugu hrapavost), reći ćemo im da šute ili puste muziku!
Uz Pi (i zvučnike), koristit ćemo SparkFun MEMS ploču za razbijanje mikrofona za mjerenje glasnoće i aktiviranje audio playera. Podaci se učitavaju u CloudMQTT uslugu 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.
Korak 1: Predloženo čitanje
Za izradu ovog projekta trebat će vam potpuno konfigurirano Raspberry Pi 3 računalo povezano WiFi-em s Raspbian OS-om. Takođe je korisno znati nekoliko programa za Python, kao i sledeće stvari: (1) kako se koriste i kontrolišu Raspberry Pi GPIO pinovi; (2) MQTT komunikacija; i (3) analogni senzori. Ako vam nešto od ovoga nije poznato ili ste samo znatiželjni (budite znatiželjni!), Pogledajte vodiče ispod!
Raspberry Pi 3
- Vodič za spajanje Raspberry Pi 3 početnog kompleta
- Raspberry Pi GPIO
- SPI komunikacija sa Raspberry Pi
MQTT komunikacijski protokol
MQTT (Telemetry Transport Message Query Telemetry Transport) je popularan IoT komunikacijski protokol. Koristićemo Paho Client Python biblioteku i MQTT uslugu koja se zove CloudMQTT. Evo više o MQTT -u i kako ga koristiti:
- Istraživanje komunikacijskih protokola za IoT
- Početak rada s CloudMQTT -om
- Pregled klijentske biblioteke 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 pomoću Raspberry Pi digitalnih GPIO pinova.
- Početak rada sa SparkFun MEMS mikrofonskom pločom
- Tehnički list MEMS mikrofona
- 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 (najmanje 8 GB); Raspberry Pi 3 GPIO kabel; Kabel za napajanje MicroUSB; HDMI kabl i monitor kompatibilan sa HDMI; USB tastatura; USB miš; zvučnici sa 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 update
sudo apt-get nadogradnja
sudo reboot
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 ćete htjeti stvoriti podmapu u koju ćete ovo spremiti):
git clone git: //github.com/doceme/py-spidev
sudo python setup.py install
Evo SPI-Dev dokumentacije ako naiđete na bilo koji problem.
Korak 3: Reprodukcija zvukova sa 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. Ovo je ono što ćemo koristiti za reprodukciju zvukova kada Fido postane preglasan. Python biblioteka 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 server! Da biste to učinili koristeći CloudMQTT, učinite sljedeće:
- Postavite CloudMQTT račun (plan "Cute Cat" je besplatan).
- Kreirajte novu instancu MyCloud.
- U konzoli kreirajte novo ACL pravilo.
- Objavljene poruke možete pratiti u korisničkom sučelju "Websocket".
Na kraju, instalirajte MQTT Paho Client Python biblioteku:
pip install paho-mqtt
Korak 4: Izgradite ga! Hardver
Dijagrami iscrtavanja 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 ulazni 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 MEMS mikrofonske ploče
- Spojite pin 4 na GND
- Spojite Pin 5 na Raspberry Pi GPIO Pin 10 (MOSI)
- Priključite pin 6 na Raspberry Pi GPIO pin 9 (MISO)
- Spojite Pin 7 na Raspberry Pi GPIO Pin 11 (SCLK)
- Spojite Pin 8 na 3.3V izlaz Raspberry Pi
2. Lemite žice na MEMS mikrofonsku ploču. Povežite se na MCP3002 i Raspberry Pi
- Priključite Vcc na Raspberry Pi 3.3V.
- Povežite GND sa Raspberry Pi GND
- Spojite AUD na MCP3002 Pin 2
3. Uključite sve kablove za Raspberry Pi i uključite sve
Korak 5: Izgradite ga! Softver
Naš cilj sa Bark Back -om je dvojak: aktivirati zvuk reprodukcije kada pas laje i poslati podatke na server gdje to možemo provjeriti.
Evo otvorenog koda Python programa za ovaj projekt. Slobodno (i molimo vas) prilagodite i izmijenite kôd.
Da biste pokrenuli program, morate ispuniti dvije stvari:
- songList: Upišite putanju datoteke i naziv datoteke za svaku pjesmu koju želite reproducirati.
- creds: Unesite svoje CloudMQTT informacije u ovaj rječnik.
Korak 1: Pročitajte na SparkFun MEMS mikrofonskoj ploči
Očitajte vrijednost ADC-a (između 0 i 1023) sa MEMS mikrofonske ploče (preko MCP3002) pomoću SPI biblioteke i izračunajte amplitudu signala od vrha do vrha.
Preslikajte amplitudu vrha signala signala u jedinicu za volumen. Trenutni kôd preslikava raspon ADC -a između 0 i 700 (na temelju brzog eksperimentiranja) u jedinicu za jačinu zvuka 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 GarageBand -u (ili na pametnom telefonu) i poslati ih na Raspberry Pi. U Pythonu koristite biblioteku potprocesa za pozivanje omxplayera.
U kôd unesite putanju datoteke pjesama koje želite reproducirati u varijablu * songList * (26. red). Trenutni prag glasnoće je postavljen na 7 u glavnoj funkciji.
Korak 3: Pošaljite podatke na CloudMQTT server
Koristite Paho Client Python biblioteku za komunikaciju s CloudMQTT poslužiteljima. Ukratko, rezimirajte: Postavite klijentski server; definirati komunikacijske protokole; povežite se s našim vjerodajnicama (aka creds); i pretplatite se i objavite naše podatke. Većina toga se radi u glavnoj funkciji (redovi 129 - 149 i redovi 169 - 174).
Da biste provjerili primljene podatke, idite na karticu "Websocket UI" u CloudMQTT konzoli.
Korak 6: Testirajte i instalirajte
Pokrenite program BarkBack.py na Terminalu ili u Python IDE -u (možete koristiti i SSH za pokretanje programa nakon što ste već napustili).
Provjerite dobivate li jačinu zvuka na kartici UI Websocket.
Testirajte sistem pokretanjem mikrofona (pljeskanje, vikanje, lavež itd.) Kako biste bili sigurni da zvučnici puštaju sve zvukove.
Kada sve bude pokrenuto, preporučuje se lemljenje komponenti na PCB (štampana ploča) ako namjeravate instalirati sistem na više od samo nekoliko dana.
Drugoplasirani na takmičenju mikrokontrolera 2017
Prva nagrada na takmičenju senzora 2017
Preporučuje se:
Tinyduino LoRa Tracker Pet Tracker: 7 koraka
Tinyduino LoRa Tracker Pet Tracker: Tko ne želi imati kućne ljubimce ?? Ti krzneni prijatelji mogu vas ispuniti ljubavlju i srećom. Ali bol zbog nedostatka njih je poražavajuća. Naša porodica je imala mačka po imenu Thor (slika gore) i on je bio lutalica zaljubljenik u avanture. Mnogo puta se vraćao
Jeftin IoT monitor kvaliteta zraka zasnovan na RaspberryPi 4: 15 koraka (sa slikama)
Jeftin IoT monitor kvaliteta zraka zasnovan na RaspberryPi 4: Santiago, Čile tokom zimske ekološke krize ima privilegiju da živi u jednoj od najljepših zemalja na svijetu, ali nažalost nisu sve ruže. Čile tokom zimske sezone mnogo pati od zagađenja vazduha, mai
D4E1 PET rezač (Artmaker02): 9 koraka (sa slikama)
D4E1 PET rezač (Artmaker02): Šta radi ovaj rezač boca? Ova mašina reže reciklirane plastične (PET) boce na prstenove ili spirale zagrijanim nožem u sigurnom kućištu koje mogu sigurno koristiti svi. Zašto smo ovo napravili i ko mi smo grupa industrijskih D
Creeper-BOT (Creeper Pet): 9 koraka (sa slikama)
Creeper-BOT (Creeper Pet): Oduvek sam želeo da napravim svog četvoronožnog robota i takmičenje u Minecraftu je bilo dobar izgovor. Osim toga, zaista sam želio 'ljubimca' puzavca. U ovom Instructableu podijelit ću kako sam to napravio i dat ću vam vodič ako želite napraviti svoj. Pretpostavljam da ste
Senzor nagiba od pet centi: 4 koraka (sa slikama)
Senzor nagiba od pet centi: Ovo je osnovni osjetnik nagiba inspirisan senzorima u stilu loptice i kaveza, ali 2d umjesto 3d. Uhvaćeni nick povezuje parove žica ovisno o orijentaciji senzora. Brzo se izrađuju i prilično su jeftini; Smislio sam ih za projekat sa