Sisukord:

IoT lemmikloomade monitor!: 6 sammu (koos piltidega)
IoT lemmikloomade monitor!: 6 sammu (koos piltidega)

Video: IoT lemmikloomade monitor!: 6 sammu (koos piltidega)

Video: IoT lemmikloomade monitor!: 6 sammu (koos piltidega)
Video: Невероятные приключения итальянцев в России (4К, комедия, реж. Эльдар Рязанов, 1973 г.) 2024, November
Anonim
Image
Image
Soovitatav lugemine
Soovitatav lugemine

Hoidke oma armsatel beebidel silma peal ja mängige muusikat või käskige neil eemaloleku ajal vaikida! See õpetus näitab, kuidas kasutada Raspberry Pi arvutit oma kodus helitugevuse jälgimiseks (pilve kaudu), et näha, kas teie lemmikloom on ärritunud ja millal.

Trummirull … kõige lõbusam osa: kui see läheb liiga valjuks (nagu Fido haugub või teeb muud ägedaks), võime teile öelda, et nad oleksid vaiksed või esitaksid muusikat!

Koos Pi -ga (ja kõlaritega) kasutame helitugevuse mõõtmiseks ja helipleieri käivitamiseks SparkFun MEMS -i mikrofonikatkestusplaati. Andmed laaditakse teenusesse CloudMQTT üles, kasutades MQTT sideprotokolli.

Lugemisaeg kokku: ~ 8 min

Ehitusaeg kokku: 60 min (vähem kogenud)

Suured TÄNUD SparkFunile selle projekti toetamise eest! Tutvuge õpetusega siin.

Samm: soovitatav lugemine

Selle projekti loomiseks vajate täielikult konfigureeritud WiFi-ühendusega Raspberry Pi 3 arvutit Raspbian OS-iga. Samuti on kasulik teada mõnda Pythoni programmeerimist ja järgmisi asju: (1) kuidas kasutada ja juhtida Raspberry Pi GPIO nööpnõelu; (2) MQTT side; ja (3) analoogandurid. Kui mõni sellest on võõras või kui olete lihtsalt uudishimulik (olge uudishimulik!), Vaadake allolevaid õpetusi!

Vaarika Pi 3

  1. Raspberry Pi 3 stardikomplekti ühendamise juhend
  2. Raspberry Pi GPIO
  3. SPI Side Raspberry Pi -ga

MQTT sideprotokoll

MQTT (Message Query Telemetry Transport) on populaarne IoT -sideprotokoll. Kasutame Paho kliendi Pythoni teeki ja MQTT teenust nimega CloudMQTT. Siin on rohkem teavet MQTT ja selle kasutamise kohta:

  1. IoT suhtlusprotokollide uurimine
  2. CloudMQTT -i kasutamise alustamine
  3. Ülevaade Eclipse Paho MQTT Pythoni klienditeegist

MEMS -i mikrofonipesa

MEMS-mikrofon on analoogmikrofon, seega vajame Raspberry Pi digitaalsete GPIO-nööpnõeltega analoogsignaali lugemiseks analoog-digitaalmuundurit ("ADC").

  1. Alustamine SparkFun MEMS mikrofonide eraldusplaadiga
  2. MEMSi mikrofoni andmeleht
  3. MCP3002 ADC andmeleht

2. samm: materjalid

Materjalid
Materjalid
Materjalid
Materjalid
Materjalid
Materjalid

- Raspberry Pi 3 mudel B

Vajame ka järgmisi välisseadmeid: Raspberry Pi 3 ümbris; SD -kaart (vähemalt 8 GB); Raspberry Pi 3 GPIO kaabel; MicroUSB toitekaabel; HDMI-kaabel ja HDMI-ühilduv monitor; USB -klaviatuur; USB -hiir; kõlarid 1/8 kõrvaklappide pesaga.

- SparkFun MEMS Mic Breakout Board

-MCP3002 (analoog-digitaalmuundur)

-Leibalaud ja M-to-M leivaplaadi hüppaja juhtmed

Samm: konfigureerige Raspberry Pi

Seadistage Raspberry Pi
Seadistage Raspberry Pi
Seadistage Raspberry Pi
Seadistage Raspberry Pi
Seadistage Raspberry Pi
Seadistage Raspberry Pi
Seadistage Raspberry Pi
Seadistage Raspberry Pi

Samm: värskenduste kontrollimine ja installimine Värskenduste kontrollimine ja installimine on alati hea viis alustamiseks. Käivitage terminaliaknas järgmised käsud:

sudo apt-get update

sudo apt-get upgrade

sudo taaskäivitamine

2. samm: seadistage SPI -liides MEMS -mikrofoni + MCP3002 jaoks

SPI (jadaliidese) kasutamiseks MEMS -mikrofonis lugemiseks MCP3002 kaudu vajame Pythoni arenduspaketti:

sudo apt-get install python-dev

Vajame ka SPI -liidest (võib -olla soovite selle salvestamiseks luua alamkausta):

git kloon git: //github.com/doceme/py-spidev

sudo python setup.py install

Siin on SPI-Dev dokumentatsioon, kui teil tekib probleeme.

3. samm: helide mängimine OMXPlayeriga

OMXPlayer on audio- ja videopleier, mis on eelinstallitud Raspbian OS-i. See töötab enamiku helifailide tüüpidega, sealhulgas:.wav,.mp3 ja.m4a. Seda kasutame helide taasesitamiseks, kui Fido muutub liiga valjuks. Pythoni teek OMXPlayeri juhtimiseks on kaasatud Raspbiani (woo!).

Terminalist OMXPlayeri testimiseks tippige järgmine tekst:

omxplayer /home/…/SongFilePath/SongFileName.mp3

Kui see ei tööta, proovige seda sundida üle kohaliku heliväljundseadme:

omxplayer -o local /home/…/SongFilePath/SongFileName.mp3

Samm: seadistage CloudMQTT -server

Nüüd seadistame MQTT serveri! Selleks CloudMQTT abil tehke järgmist.

  1. Seadistage CloudMQTT konto (plaan "Cute Cat" on tasuta).
  2. Looge uus MyCloudi eksemplar.
  3. Looge konsoolis uus ACL -reegel.
  4. Avaldatud sõnumeid saate jälgida "Websocket" kasutajaliideses.

Lõpuks installige MQTT Paho Client Pythoni teek:

pip install paho-mqtt

Samm: ehitage see üles! Riistvara

Ehita see! Riistvara
Ehita see! Riistvara
Ehita see! Riistvara
Ehita see! Riistvara
Ehita see! Riistvara
Ehita see! Riistvara

Raspberry Pi ja MCP3002 pinout -skeemid on ülaltoodud fotodel.

1. Sisestage MCP3002 tihvtid leivaplaadile (vt ülalolevat skeemi)

MCP3002 kasutab suhtlemiseks 4 SPI -tihvti: jadakell ("SCL"), peamise sisendi alamväljund ("MISO"), põhiväljundi alam -sisend ("MOSI") ja kiibi valimine ("CS"). Need tihvtid vastavad Raspberry Pi GPIO pin 11 (SCLK), GPIO pin 9 (MISO), GPIO Pin 10 (MOSI) ja GPIO Pin 8 (CE0) kontaktidele.

Looge MCP3002 tihvtidega järgmised ühendused:

  • Ühendage tihvt 1 Raspberry Pi GPIO tihvtiga 8 (CE0)
  • Ühendage tihvt 2 analoogväljundiga MEMS mikrofoni kaitselülitist
  • Ühendage tihvt 4 GND -ga
  • Ühendage tihvt 5 Raspberry Pi GPIO tihvtiga 10 (MOSI)
  • Ühendage tihvt 6 Raspberry Pi GPIO tihvtiga 9 (MISO)
  • Ühendage tihvt 7 Raspberry Pi GPIO tihvtiga 11 (SCLK)
  • Ühendage tihvt 8 Raspberry Pi 3.3V väljundiga

2. Jootke juhtmed MEMS -i mikrofoni katkestusplaadile. Ühendage MCP3002 ja Raspberry Pi -ga

  • Ühendage Vcc Raspberry Pi 3.3V -ga.
  • Ühendage GND Raspberry Pi GND -ga
  • Ühendage AUD MCP3002 tihvtiga 2

3. Ühendage kõik Raspberry Pi kaablid ja lülitage kõik sisse

Samm: ehitage see üles! Tarkvara

Ehita see! Tarkvara
Ehita see! Tarkvara

Meie eesmärk Bark Backiga on kahekordne: vallandada taasesituse heli, kui koer haugub, ja saata andmed serverisse, kus me saame neid kontrollida.

Siin on selle projekti jaoks avatud lähtekoodiga Pythoni programm. Võite vabalt (ja palun tehke) koodi kohandada ja muuta.

Programmi käivitamiseks peate täitma kaks asja:

- songList: kirjutage iga esitatava laulu jaoks failitee ja failinimi.

- krediidid: sisestage oma sõnastikku oma CloudMQTT teave.

Samm: lugege SparkFun MEMS -i mikrofonipaneeli

Lugege SPC teeki kasutades MEMS-i mikrofonikatkestusplaadilt (MCP3002 kaudu) sisse ADC väärtus (vahemikus 0 kuni 1023) ja arvutage signaali tipp-tipp-amplituud.

Kaardistage signaali tipp-tipp-amplituud helitugevuse ühikule. Praegune kood kaardistab ADC vahemiku 0 kuni 700 (kiire katsetamise põhjal) helitugevuse ühikuks vahemikus 0 kuni 10. Mikrofoni tundlikkuse reguleerimiseks reguleerige ADC sisendvahemikku.

MEMS -mikrofoni põhjaliku ülevaate saamiseks vaadake seda õpetust.

2. toiming: käivitage helipleier

Esiteks vajame esitamiseks laule! Saate kiiresti salvestada helisid GarageBandis (või nutitelefonis) ja saata need Raspberry Pi -sse. Pythonis kasutage omxplayeri helistamiseks alamprotsessi teeki.

Sisestage koodis esitatavate lugude failitee * songList * muutujale (rida 26). Praeguse helitugevuse läveks on põhifunktsioonis seatud 7.

Samm: saatke andmed CloudMQTT -serverisse

Kasutage CloudMQTT -serveritega suhtlemiseks Paho Client Pythoni teeki. Laias laastus: seadistage kliendiserver; määratleda suhtlusprotokollid; ühendage meie volikirjadega (aka credid); tellida ja avaldada meie andmed. Suurem osa sellest tehakse põhifunktsioonis (read 129 - 149 ja read 169 - 174).

Vastuvõetud andmete kontrollimiseks minge CloudMQTT konsooli vahekaardile "Websocket UI".

Samm: testige ja installige

Testige ja installige!
Testige ja installige!

Käivitage programm BarkBack.py terminalis või Python IDE -s (saate kasutada ka SSH -d programmi käivitamiseks pärast seda, kui olete juba lahkunud).

Veenduge, et vahekaardil Websocket kasutajaliides kuvatakse helitugevust.

Kontrollige süsteemi, käivitades mikrofoni (plaksutused, karjed, haukumine jne), veendumaks, et kõlarid esitavad kõik helid.

Kui kõik on töökorras, on soovitatav komponendid jootma trükkplaadile (PCB), kui kavatsete süsteemi installida kauemaks kui mõneks päevaks.

Mikrokontrollerite võistlus 2017
Mikrokontrollerite võistlus 2017
Mikrokontrollerite võistlus 2017
Mikrokontrollerite võistlus 2017

Teine koht mikrokontrollerite võistlusel 2017

Andurite konkurss 2017
Andurite konkurss 2017
Andurite konkurss 2017
Andurite konkurss 2017

Esimene auhind andurite konkursil 2017

Soovitan: