Tartalomjegyzék:
- 1. lépés: Javasolt olvasmány
- 2. lépés: Anyagok
- 3. lépés: A Raspberry Pi konfigurálása
- 4. lépés: Építsd fel! Hardver
- 5. lépés: Építsd fel! Szoftver
- 6. lépés: Tesztelje és telepítse
Videó: IoT Pet Monitor!: 6 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
Tartsa szemmel szeretett babáját, és zenéljen, vagy szóljon nekik, hogy legyenek csendben, amíg távol vannak! Ez az oktatóanyag bemutatja, hogyan használhat egy Raspberry Pi számítógépet az otthoni hang hangerejének felügyeletén keresztül történő felügyeletére, hogy lássa, ha és amikor a kedvence ideges.
Dobtekercs … a legszórakoztatóbb rész: Ha túl hangos lesz (például Fido ugat, vagy valami más hangoskodik), akkor azt mondhatjuk nekik, hogy legyenek csendben, vagy zenéljenek!
A Pi -vel (és a hangszórókkal) együtt a SparkFun MEMS mikrofon kioldótáblát fogjuk használni a hangerő mérésére és az audiolejátszó aktiválására. Az adatok feltöltése a CloudMQTT szolgáltatásba az MQTT kommunikációs protokoll használatával történik.
Teljes olvasási idő: ~ 8 perc
Teljes építési idő: 60 perc (kevesebb, tapasztalt)
Hatalmas KÖSZÖNET a SparkFunnak, hogy támogatta ezt a projektet! Nézze meg az oktatóanyagot itt.
1. lépés: Javasolt olvasmány
A projekt felépítéséhez egy teljesen konfigurált, WiFi-hez csatlakoztatott Raspberry Pi 3 számítógépre lesz szüksége Raspbian operációs rendszerrel. Szintén hasznos néhány Python programozás ismerete, valamint a következő dolgok: (1) a Raspberry Pi GPIO csapok használata és vezérlése; (2) MQTT kommunikáció; és (3) analóg érzékelők. Ha ezek közül bármelyik ismeretlen, vagy csak kíváncsi vagy (legyél kíváncsi!), Nézd meg az alábbi oktatóanyagokat!
Raspberry Pi 3
- Raspberry Pi 3 kezdő készlet összekapcsolási útmutató
- Raspberry Pi GPIO
- SPI kommunikáció a Raspberry Pi -vel
MQTT kommunikációs protokoll
Az MQTT (Message Query Telemetry Transport) egy népszerű IoT kommunikációs protokoll. A Paho Client Python könyvtárat és a CloudMQTT nevű MQTT szolgáltatást fogjuk használni. További információ az MQTT -ről és használatáról:
- Az IoT kommunikációs protokolljainak feltárása
- A CloudMQTT használatának első lépései
- Az Eclipse Paho MQTT Python ügyfélkönyvtár áttekintése
MEMS mikrofontörő panel
A MEMS mikrofon analóg mikrofon, ezért szükségünk lesz egy analóg-digitális átalakítóra ("ADC"), hogy beolvassuk az analóg jelet a Raspberry Pi digitális GPIO érintkezőkkel.
- Kezdő lépések a SparkFun MEMS mikrofonkioldó táblával
- MEMS mikrofon adatlap
- MCP3002 ADC adatlap
2. lépés: Anyagok
- Raspberry Pi 3 B modell
Szükségünk lesz a következő perifériákra is: Raspberry Pi 3 tok; SD kártya (legalább 8 GB); Raspberry Pi 3 GPIO kábel; MicroUSB tápkábel; HDMI-kábel és HDMI-kompatibilis monitor; USB billentyűzet; USB egér; hangszórók 1/8 -os fejhallgató -porttal.
- SparkFun MEMS Mic Breakout Board
-MCP3002 (analóg-digitális átalakító)
-Breadboard és M-to-M Breadboard Jumper vezetékek
3. lépés: A Raspberry Pi konfigurálása
1. lépés: Frissítések ellenőrzése és telepítése A frissítések keresése és telepítése mindig jó módszer a kezdéshez. Futtassa a következő parancsokat a terminál ablakában:
sudo apt-get update
sudo apt-get upgrade
sudo újraindítás
2. lépés: Állítsa be az SPI interfészt a MEMS mikrofon + MCP3002 számára
Az SPI (soros port interfész) használatához a MEMS mikrofon MCP3002 -n keresztüli olvasásához szükségünk lesz a Python Dev csomagra:
sudo apt-get install python-dev
Szükségünk lesz az SPI interfészre is (érdemes létrehozni egy almappát a mentéshez):
git klón git: //github.com/doceme/py-spidev
sudo python setup.py install
Íme az SPI-Dev dokumentáció, ha bármilyen probléma merül fel.
3. lépés: Hangok lejátszása az OMXPlayer segítségével
Az OMXPlayer egy Raspbian operációs rendszerre előtelepített audio- és videolejátszó. A legtöbb hangfájltípussal működik, beleértve:.wav,.mp3 és.m4a. Ezt használjuk a hangok lejátszására, ha Fido túl hangos lesz. Az OMXPlayer vezérlésére szolgáló Python könyvtár a Raspbian tartalmazza (woo!).
Az OMXPlayer terminálról történő teszteléséhez írja be a következőt:
omxplayer /home/…/SongFilePath/SongFileName.mp3
Ha ez nem működik, próbálja meg erőltetni a helyi hangkimeneti eszközön:
omxplayer -o local /home/…/SongFilePath/SongFileName.mp3
4. lépés: A CloudMQTT kiszolgáló konfigurálása
Most beállítottunk egy MQTT szervert! Ehhez a CloudMQTT használatával tegye a következőket:
- Állítson be egy CloudMQTT fiókot (az "Aranyos macska" terv ingyenes).
- Hozzon létre egy új MyCloud -példányt.
- A konzolban hozzon létre egy új ACL -szabályt.
- A közzétett üzeneteket a "Websocket" felhasználói felületen figyelheti.
Végül telepítse az MQTT Paho Client Python könyvtárat:
pip install paho-mqtt
4. lépés: Építsd fel! Hardver
A Raspberry Pi és az MCP3002 pinout diagramjai a fenti képeken találhatók.
1. Helyezze be az MCP3002 csapokat a kenyértáblába (lásd a fenti pinout diagramot)
Az MCP3002 4 SPI érintkezőt használ a kommunikációhoz: soros óra ("SCL"), fő bemeneti szolga kimenet ("MISO"), mesterkimenet szolgabemenet ("MOSI") és chipkiválasztó ("CS"). Ezek a tűk megfelelnek a Raspberry Pi GPIO 11 -es (SCLK), a GPIO 9 -es (MISO), a GPIO 10 -es (MOSI) és a GPIO 8 -as (CE0) tűnek.
Hozza létre a következő kapcsolatokat az MCP3002 csapokkal:
- Csatlakoztassa az 1 -es tűt a Raspberry Pi GPIO Pin 8 -hoz (CE0)
- Csatlakoztassa a 2 -es érintkezőt a MEMS mikrofon megszakító kártya analóg kimenetéhez
- Csatlakoztassa a 4. tűt a GND -hez
- Csatlakoztassa az 5. tűt a Raspberry Pi GPIO Pin 10 -hez (MOSI)
- Csatlakoztassa a 6 -os tűt a Raspberry Pi GPIO 9 -es tűjéhez (MISO)
- Csatlakoztassa a 7 -es tűt a Raspberry Pi GPIO Pin 11 -hez (SCLK)
- Csatlakoztassa a 8. tűt a Raspberry Pi 3.3V kimenetéhez
2. Forrasztja a vezetékeket a MEMS mikrofon törőlapra. Csatlakozás az MCP3002 -hez és a Raspberry Pi -hez
- Csatlakoztassa az Vcc -t a Raspberry Pi 3.3V -hoz.
- Csatlakoztassa a GND -t a Raspberry Pi GND -hez
- Csatlakoztassa az AUD -t az MCP3002 2. tűhöz
3. Csatlakoztassa a Raspberry Pi összes kábelét, és kapcsoljon be mindent
5. lépés: Építsd fel! Szoftver
Célunk a Bark Back -szel kettős: visszajátszási hangot ad ki, amikor a kutya ugat, és elküldi az adatokat egy szervernek, ahol ellenőrizhetjük.
Itt van a projekt nyílt forráskódú Python programja. Nyugodtan módosítsa (és tegye) a kódot.
A program elindításához két dolgot kell kitöltenie:
- songList: Írja be a lejátszani kívánt dalok elérési útját és fájlnevét.
- hitelek: Adja meg CloudMQTT adatait ebben a szótárban.
1. lépés: Olvassa el a SparkFun MEMS mikrofon kioldótábláját
Olvassa le az ADC értéket (0 és 1023 között) a MEMS mikrofon kioldó tábláról (az MCP3002-n keresztül) az SPI könyvtár használatával, és számítsa ki a jel csúcs-csúcs amplitúdóját.
Térképezze le a jel csúcs-csúcs amplitúdóját egy hangegységre. A jelenlegi kód az ADC tartományt 0 és 700 között (gyors kísérletezés alapján) 0 és 10 közötti hangerőegységhez rendeli. A mikrofon érzékenységének beállításához állítsa be az ADC bemeneti tartományt.
A MEMS mikrofon alapos áttekintéséhez nézze meg ezt az oktatóanyagot.
2. lépés: Aktiválja az audiolejátszót
Először dalokra lesz szükségünk a lejátszáshoz! Gyorsan rögzíthet hangokat a GarageBandban (vagy okostelefonján), és elküldheti azokat a Raspberry Pi -re. A Pythonban az alfolyamat -könyvtár használatával hívhatja meg az omxplayert.
A kódban adja meg a lejátszani kívánt zeneszámok elérési útját a * songList * változóban (26. sor). A fő funkcióban az aktuális hangerőküszöb 7 -re van állítva.
3. lépés: Adatok küldése a CloudMQTT kiszolgálóra
A Paho Client Python könyvtár használatával kommunikálhat a CloudMQTT szerverekkel. Összefoglalva: Állítson be egy kliens szervert; kommunikációs protokollok meghatározása; kapcsolódjon hitelesítő adatainkhoz (más néven hitelesítő adatokhoz); és iratkozzon fel és tegye közzé adatainkat. Ennek nagy része a fő funkcióban történik (129–149. Sor és 169–174. Sor).
A kapott adatok ellenőrzéséhez lépjen a CloudMQTT konzol "Websocket UI" lapjára.
6. lépés: Tesztelje és telepítse
Futtassa a BarkBack.py programot a Terminálban vagy a Python IDE -ben (az SSH használatával is futtathatja a programot, miután már elhagyta).
Ellenőrizze, hogy a Websocket felhasználói felületén kap -e hangerőszintet.
Tesztelje a rendszert a mikrofon bekapcsolásával (taps, kiabálás, ugatás stb.), Hogy megbizonyosodjon arról, hogy a hangszórók minden hangot lejátszanak.
Ha minden rendben van, ajánlott az alkatrészeket forrasztani egy NYÁK -ra (nyomtatott áramkörre), ha a rendszert csak néhány napnál hosszabb ideig kívánja telepíteni.
Második hely a mikrokontroller versenyen 2017
Első díj a Szenzorok versenyen 2017
Ajánlott:
SmartPET - Smart Pet Feeder: 7 lépés (képekkel)
SmartPET - Smart Pet Feeder: Hé! Maxime Vermeeren vagyok, 18 éves MCT (multimédiás és kommunikációs technológia) hallgató a Howest-nél. Úgy döntöttem, hogy intelligens háziállat-etetőt hozok létre projektemnek. Miért tettem ezt? A macskámnak vannak súlyproblémái, ezért úgy döntöttem, hogy csinálok egy gépet
Pet Bot: 6 lépés (képekkel)
Pet Bot: Hitel: Ezt a projektet a robomaniac Beetlebot ihlette. Frissítés: Azóta átneveztem Pet Bot -ra. (A videó továbbra is Catfish Bot néven mutatja) Robotikát tanítok fiatal gyártóknak ESP8266, Arduino és Raspberry PI platformokon, és az egyik kihívás
Arduino és Raspberry Pi Powered Pet Monitoring System: 19 lépés (képekkel)
Arduino és Raspberry Pi Powered Pet Monitoring System: Nemrég nyaralás közben rájöttünk, hogy nincs kapcsolat a kedvencünk Beagle -lel. Némi kutatás után olyan termékeket találtunk, amelyek statikus kamerát tartalmaztak, amely lehetővé tette az állat megfigyelését és a vele való kommunikációt. Ezeknek a rendszereknek bizonyos előnyei voltak
D4E1 PET -vágó (Artmaker02): 9 lépés (képekkel)
D4E1 PET -vágó (Artmaker02): Mit tesz ez a palackvágó? Ez a gép újrahasznosított műanyag (PET) palackokat fűtött késsel gyűrűkbe vagy spirálokba vág egy biztonságos házban, amelyet mindenki biztonságosan használhat. Miért és miért készítettük ezt Az ipari D csoport vagyunk
IoT Outdoor Pet Door: 6 lépés (képekkel)
IoT Outdoor Pet Door: Ez az oktatóanyag inspirált engem egy automatikus csirkeháztető ajtó létrehozására. Nemcsak azt akartam, hogy a csirkeszekrény ajtaja időzítőn legyen, hanem az ajtót is az internethez akartam csatlakoztatni, hogy a telefonnal vagy a számítógéppel irányíthassam. Ezt a d