Tartalomjegyzék:

IoT Pet Monitor!: 6 lépés (képekkel)
IoT Pet Monitor!: 6 lépés (képekkel)

Videó: IoT Pet Monitor!: 6 lépés (képekkel)

Videó: IoT Pet Monitor!: 6 lépés (képekkel)
Videó: Я работаю в Страшном музее для Богатых и Знаменитых. Страшные истории. Ужасы. 2024, November
Anonim
Image
Image
Javasolt olvasmány
Javasolt olvasmány

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

  1. Raspberry Pi 3 kezdő készlet összekapcsolási útmutató
  2. Raspberry Pi GPIO
  3. 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:

  1. Az IoT kommunikációs protokolljainak feltárása
  2. A CloudMQTT használatának első lépései
  3. 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.

  1. Kezdő lépések a SparkFun MEMS mikrofonkioldó táblával
  2. MEMS mikrofon adatlap
  3. MCP3002 ADC adatlap

2. lépés: Anyagok

Anyagok
Anyagok
Anyagok
Anyagok
Anyagok
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

Konfigurálja a Raspberry Pi -t
Konfigurálja a Raspberry Pi -t
Konfigurálja a Raspberry Pi -t
Konfigurálja a Raspberry Pi -t
Konfigurálja a Raspberry Pi -t
Konfigurálja a Raspberry Pi -t
Konfigurálja a Raspberry Pi -t
Konfigurálja a Raspberry Pi -t

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:

  1. Állítson be egy CloudMQTT fiókot (az "Aranyos macska" terv ingyenes).
  2. Hozzon létre egy új MyCloud -példányt.
  3. A konzolban hozzon létre egy új ACL -szabályt.
  4. 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

Építsd meg! Hardver
Építsd meg! Hardver
Építsd meg! Hardver
Építsd meg! Hardver
Építsd meg! Hardver
Építsd meg! 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

Építsd meg! Szoftver
Építsd meg! 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

Tesztelje és telepítse!
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.

Mikrokontroller verseny 2017
Mikrokontroller verseny 2017
Mikrokontroller verseny 2017
Mikrokontroller verseny 2017

Második hely a mikrokontroller versenyen 2017

Érzékelő verseny 2017
Érzékelő verseny 2017
Érzékelő verseny 2017
Érzékelő verseny 2017

Első díj a Szenzorok versenyen 2017

Ajánlott: