Kazalo:
- 1. korak: Predlagano branje
- 2. korak: Materiali
- 3. korak: Konfigurirajte Raspberry Pi
- 4. korak: Zgradite ga! Strojna oprema
- 5. korak: Zgradite ga! Programska oprema
- 6. korak: Preizkusite in namestite
Video: IoT Pet Monitor!: 6 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
Bodite pozorni na svoje ljubljene bebe in predvajajte glasbo ali jim povejte, naj bodo tiho, medtem ko vas ni! Ta vadnica bo pokazala, kako z računalnikom Raspberry Pi spremljati glasnost zvoka v vašem domu (prek oblaka) in preveriti, ali je vaš ljubljenček razburjen in kdaj.
Drum roll… najbolj zabaven del: Če bo preglasno (na primer, da Fido laja ali dela kakšen drug hripav), jim lahko rečemo, naj bodo tiho ali naj predvajajo glasbo!
Skupaj s Pi (in zvočniki) bomo uporabili mikrofonsko ploščo SparkFun MEMS za merjenje ravni glasnosti in sprožitev avdio predvajalnika. Podatki se naložijo v storitev CloudMQTT s komunikacijskim protokolom MQTT.
Skupni čas branja: ~ 8 min
Skupni čas izdelave: 60 min (manj z izkušenimi)
Iskrena HVALA SparkFunu za podporo temu projektu! Oglejte si vadnico tukaj.
1. korak: Predlagano branje
Za izdelavo tega projekta boste potrebovali popolnoma konfiguriran računalnik Raspberry Pi 3, povezan z WiFi, z OS Raspbian. Koristno je tudi, da poznate nekaj programiranja Python, pa tudi naslednje: (1) kako uporabljati in nadzorovati zatiče Raspberry Pi GPIO; (2) komunikacija MQTT; in (3) analogni senzorji. Če vam kaj od tega ni znano ali če ste samo radovedni (bodite radovedni!), Si oglejte spodnje vaje!
Malina Pi 3
- Priročnik za priklop Raspberry Pi 3 Starter Kit
- Raspberry Pi GPIO
- SPI komunikacija z Raspberry Pi
Komunikacijski protokol MQTT
MQTT (Message Query Telemetry Transport) je priljubljen komunikacijski protokol IoT. Uporabili bomo knjižnico Paho Client Python in storitev MQTT, imenovano CloudMQTT. Tukaj je več o MQTT in njegovi uporabi:
- Raziskovanje komunikacijskih protokolov za IoT
- Uvod v CloudMQTT
- Pregled odjemalčeve knjižnice Eclipse Paho MQTT Python
Odklopna plošča za mikrofon MEMS
Mikrofon MEMS je analogni mikrofon, zato potrebujemo analogno-digitalni pretvornik ("ADC") za branje analognega signala z digitalnimi zatiči GPIO Raspberry Pi.
- Začnite z uporabo mikrofonske plošče SparkFun MEMS
- Podatkovni list za mikrofon MEMS
- Tehnični list ADC MCP3002
2. korak: Materiali
- Raspberry Pi 3 Model B
Potrebovali bomo tudi naslednje zunanje naprave: ohišje Raspberry Pi 3; SD kartica (najmanj 8 GB); Raspberry Pi 3 GPIO kabel; Napajalni kabel MicroUSB; Kabel HDMI in monitor, združljiv s HDMI; USB tipkovnica; Miška USB; zvočniki z vhodom za slušalke 1/8.
- SparkFun MEMS Breakout Board
-MCP3002 (analogno-digitalni pretvornik)
-Breadboard & M-to-M Breadboard Jumper Wires
3. korak: Konfigurirajte Raspberry Pi
1. korak: Preverite in namestite posodobitve Preverjanje in nameščanje posodobitev je vedno dober način za začetek. V terminalnem oknu zaženite naslednje ukaze:
sudo apt-get posodobitev
sudo apt-get nadgradnja
sudo ponovni zagon
2. korak: Nastavite vmesnik SPI za mikrofon MEMS + MCP3002
Če želite uporabljati SPI (vmesnik serijskih vrat) za branje v mikrofonu MEMS prek MCP3002, potrebujemo paket Python Dev:
sudo apt-get install python-dev
Potrebovali bomo tudi vmesnik SPI (morda boste želeli ustvariti podmapo, v katero boste to shranili):
git clone git: //github.com/doceme/py-spidev
sudo python setup.py install
Tukaj je dokumentacija SPI-Dev, če naletite na kakršne koli težave.
3. korak: Predvajanje zvokov z OMXPlayerjem
OMXPlayer je predvajalnik zvoka in videa, predhodno naložen v OS Raspbian. Deluje z večino vrst zvočnih datotek, vključno z:.wav,.mp3 in.m4a. To bomo uporabili za predvajanje zvokov, ko bo Fido preglasen. Knjižnica Python za nadzor programa OMXPlayer je vključena v Raspbian (woo!).
Če želite preskusiti OMXPlayer s terminala, vnesite naslednje:
omxplayer /home/…/SongFilePath/SongFileName.mp3
Če to ne deluje, poskusite to vsiliti prek lokalne naprave za avdio izhod:
omxplayer -o lokalno /home/…/SongFilePath/SongFileName.mp3
4. korak: Konfigurirajte strežnik CloudMQTT
Zdaj smo nastavili strežnik MQTT! Če želite to narediti s storitvijo CloudMQTT, naredite naslednje:
- Nastavite račun CloudMQTT (načrt "Cute Cat" je brezplačen).
- Ustvarite nov primerek MyCloud.
- V konzoli ustvarite novo pravilo ACL.
- Objavljena sporočila lahko spremljate v uporabniškem vmesniku "Websocket".
Na koncu namestite knjižnico Python odjemalca MQTT Paho Client:
pip install paho-mqtt
4. korak: Zgradite ga! Strojna oprema
Diagrami izpisov za Raspberry Pi in MCP3002 so na zgornjih fotografijah.
1. Vtičnice MCP3002 vstavite v ploščo (glejte zgornji diagram izklopa)
MCP3002 uporablja 4 zatiča SPI za komunikacijo: zaporedna ura ("SCL"), glavni vhodni pomožni izhod ("MISO"), glavni izhodni podrejeni vhod ("MOSI") in izbira čipa ("CS"). Ti zatiči ustrezajo Raspberry Pi GPIO pin 11 (SCLK), GPIO pin 9 (MISO), GPIO Pin 10 (MOSI) in GPIO Pin 8 (CE0).
S priključki MCP3002 vzpostavite naslednje povezave:
- Priključite Pin 1 na Raspberry Pi GPIO Pin 8 (CE0)
- Priključite pin 2 na analogni izhod plošče za odklop mikrofona MEMS
- Priključite pin 4 na GND
- Priključite Pin 5 na Raspberry Pi GPIO Pin 10 (MOSI)
- Priključite pin 6 na Raspberry Pi GPIO pin 9 (MISO)
- Priključite Pin 7 na Raspberry Pi GPIO Pin 11 (SCLK)
- Priključite Pin 8 na 3.3V izhod Raspberry Pi
2. Spajkajte žice na odklopno ploščo mikrofona MEMS. Povežite se z MCP3002 in Raspberry Pi
- Priključite Vcc na Raspberry Pi 3.3V.
- Povežite GND z Raspberry Pi GND
- Priključite AUD na pin 2 MCP3002
3. Priključite vse kable za Raspberry Pi in vse vklopite
5. korak: Zgradite ga! Programska oprema
Naš cilj pri Bark Back je dvojen: sproži zvok predvajanja, ko pes laja, in podatke pošlje na strežnik, kjer jih lahko preverimo.
Tukaj je odprtokodni program Python za ta projekt. Kodo lahko prilagodite (in prosim).
Če želite zagnati program, morate izpolniti dve stvari:
- songList: Vnesite pot do datoteke in ime datoteke za vsako skladbo, ki jo želite predvajati.
- creds: Vnesite svoje podatke CloudMQTT v ta slovar.
1. korak: Preberite na plošči za odpiranje mikrofona SparkFun MEMS
V knjižnici SPI preberite vrednost ADC (med 0 in 1023) z odklopne plošče mikrofona MEMS (prek MCP3002) in izračunajte amplitudo signala od vrha do vrha.
Preslikajte amplitudo signala od vrha do vrha na enoto za glasnost. Trenutna koda preslika območje ADC med 0 in 700 (na podlagi hitrega preizkušanja) v enoto za glasnost med 0 in 10. Če želite prilagoditi občutljivost mikrofona, prilagodite vhodno območje ADC.
Za podroben pregled mikrofona MEMS si oglejte to vadnico.
2. korak: Sprožite avdio predvajalnik
Najprej bomo potrebovali pesmi za predvajanje! Zvoke lahko hitro posnamete v GarageBand (ali na pametnem telefonu) in jih pošljete v Raspberry Pi. V Pythonu uporabite knjižnico podprocesov, da pokličete omxplayer.
V kodo vnesite pot do datoteke skladb, ki jih želite predvajati, v spremenljivko * songList * (vrstica 26). Trenutni prag glasnosti je v glavni funkciji nastavljen na 7.
3. korak: Pošljite podatke na strežnik CloudMQTT
Za komunikacijo s strežniki CloudMQTT uporabite knjižnico Paho Client Python. Če povzamemo na splošno: Nastavite odjemalčev strežnik; opredeliti komunikacijske protokole; povežite se z našimi poverilnicami (aka creds); ter se naročite in objavite naše podatke. Večina tega se izvaja v glavni funkciji (vrstice 129 - 149 in vrstice 169 - 174).
Če želite preveriti prejete podatke, pojdite na zavihek "Websocket UI" v konzoli CloudMQTT.
6. korak: Preizkusite in namestite
Zaženite program BarkBack.py v terminalu ali v Python IDE (za zagon programa lahko uporabite tudi SSH, potem ko ste že odšli).
Preverite, ali na zavihku UI Websocket prejemate glasnost.
Preizkusite sistem tako, da sprožite mikrofon (ploskanje, vpitje, lajanje itd.), Da se prepričate, da zvočniki predvajajo vse zvoke.
Ko namestite vse, je priporočljivo, da komponente spajkate na tiskano vezje, če nameravate sistem namestiti za več kot le nekaj dni.
Drugouvrščeni na natečaju za mikrokrmilnik 2017
Prva nagrada na tekmovanju senzorjev 2017
Priporočena:
Poceni monitor kakovosti zraka IoT na osnovi RaspberryPi korakov 4: 15 (s slikami)
Nizkocenovni IoT monitor kakovosti zraka, ki temelji na RaspberryPi 4: Santiago, Čile v času zimske okoljske krize ima privilegij živeti v eni najlepših držav na svetu, vendar na žalost niso vse vrtnice. Čile v zimski sezoni zelo trpi zaradi onesnaženja zraka, mai
D4E1 PET rezalnik (Artmaker02): 9 korakov (s slikami)
D4E1 PET rezalnik (Artmaker02): Kaj počne ta rezalnik za steklenice? Ta stroj z ogrevanim nožem v varnem ohišju razreže reciklirane plastične (PET) steklenice na obroče ali spirale, ki jih lahko varno uporabljajo vsi. Zakaj smo to naredili in kdo smo za? Smo skupina industrijskih D
Monitor Raspberry Pi Impact Force Monitor!: 16 korakov (s slikami)
Raspberry Pi Impact Force Monitor !: Koliko vpliva lahko prenese človeško telo? Ne glede na to, ali gre za nogomet, plezanje ali kolesarsko nesrečo, je zelo pomembno, da po trčenju takoj poiščete zdravniško pomoč, še posebej, če ni očitnih znakov trama
Arduino CPU+RAM Monitor Monitor LCD: 5 korakov
Arduino CPU+RAM Monitor Monitor LCD: Pozdravljeni, vseeno sem naredil monitor za uporabo Arduino CPU+RAM z uporabo preproste skice Arduino in programa VB.net. V tem navodilu vam bom pokazal, kako to narediti. Program vb.net vsebuje preizkuševalnik povezav Arduino in lahko napišete besedilo po meri v
Senzor nagiba pet centov: 4 koraki (s slikami)
Senzor nagiba s petimi centri: To je osnovni senzor nagiba, ki ga navdihujejo senzorji s kroglo in kletko, vendar 2d namesto 3d. Ujeti vzorec poveže pare žic, odvisno od usmerjenosti senzorja. Te so hitro izdelane in precej poceni; Prišel sem do njih za projekt s