Përmbajtje:

IoT Pet Monitor !: 6 hapa (me fotografi)
IoT Pet Monitor !: 6 hapa (me fotografi)

Video: IoT Pet Monitor !: 6 hapa (me fotografi)

Video: IoT Pet Monitor !: 6 hapa (me fotografi)
Video: Собаку бросили в лесу с коробкой макарон. История собаки по имени Ринго. 2024, Nëntor
Anonim
Image
Image
Lexim i sugjeruar
Lexim i sugjeruar

Mbani një sy në bbies tuaj të dashur dhe të luajë muzikë ose them atyre të jenë të qetë, ndërsa ju jeni larg! Ky tutorial do të tregojë se si të përdorni një kompjuter Raspberry Pi për të monitoruar volumin e zërit në shtëpinë tuaj (përmes Cloud) për të parë nëse dhe kur kafsha juaj është e mërzitur.

Drum roll … pjesa më argëtuese: Nëse bëhet shumë e zhurmshme (si Fido që leh ose bën ndonjë gjë tjetër të ashpër), ne do t'u themi atyre që të heshtin ose të luajnë muzikë!

Së bashku me Pi (dhe altoparlantët), ne do të përdorim bordin e shpërthimit të mikrofonit SparkFun MEMS për të matur nivelet e volumit dhe për të aktivizuar luajtësin audio. Të dhënat ngarkohen në shërbimin CloudMQTT duke përdorur protokollin e komunikimit MQTT.

Koha totale e leximit: ~ 8 min

Koha totale e ndërtimit: 60 min (më pak me përvojë)

Një FALEMINDERIT të madh për SparkFun për mbështetjen e këtij projekti! Shikoni tutorialin këtu.

Hapi 1: Lexim i sugjeruar

Për të ndërtuar këtë projekt, do t'ju duhet një kompjuter Raspberry Pi 3 i konfiguruar plotësisht, i lidhur me WiFi me Raspbian OS. Alsoshtë gjithashtu e dobishme të dini disa programe Python, si dhe gjërat e mëposhtme: (1) si të përdorni dhe kontrolloni kunjat e Raspberry Pi GPIO; (2) komunikimi MQTT; dhe (3) sensorë analogë. Nëse ndonjë nga këto është e panjohur, ose nëse jeni thjesht kurioz (jini kurioz!), Shikoni udhëzimet më poshtë!

Mjedër Pi 3

  1. Udhëzues për lidhjen e Raspberry Pi 3 Starter Kit
  2. Raspberry Pi GPIO
  3. Komunikimi SPI me Raspberry Pi

Protokolli i Komunikimit MQTT

MQTT (Message Query Telemetry Transport) është një protokoll i njohur komunikimi IoT. Ne do të përdorim bibliotekën Paho Client Python dhe një shërbim MQTT të quajtur CloudMQTT. Këtu keni më shumë rreth MQTT dhe si ta përdorni atë:

  1. Eksplorimi i Protokolleve të Komunikimit për IoT
  2. Fillimi me CloudMQTT
  3. Pasqyrë e bibliotekës së klientit Eclipse Paho MQTT Python

Bordi i shpërthimit të mikrofonit MEMS

Mikrofoni MEMS është një mikrofon analog, kështu që do të na duhet një konvertues analog-në-dixhital ("ADC") për të lexuar në sinjalin analog me kunjat GPIO dixhitale Raspberry Pi.

  1. Fillimi me Bordin e Ndarjes së Mikrofonit SparkFun MEMS
  2. Fleta e të dhënave të mikrofonit MEMS
  3. Fleta e të dhënave MCP3002 ADC

Hapi 2: Materialet

Materiale
Materiale
Materiale
Materiale
Materiale
Materiale

- Raspberry Pi 3 Model B

Ne gjithashtu do të kemi nevojë për pajisjet periferike të mëposhtme: Raspberry Pi 3 Case; Kartë SD (minimumi 8 GB); Kabllo Raspberry Pi 3 GPIO; Kabllo energjie MicroUSB; Kabllo HDMI dhe monitor të pajtueshëm me HDMI; Tastierë USB; Miun USB; altoparlantë me portë kufjesh 1/8.

- SparkFun MEMS Mic Breakout Board

-MCP3002 (Konvertues analog-dixhital)

-Breadboard & M-to-M Breadboard Jumper Wires

Hapi 3: Konfiguroni Raspberry Pi

Konfiguroni Raspberry Pi
Konfiguroni Raspberry Pi
Konfiguroni Raspberry Pi
Konfiguroni Raspberry Pi
Konfiguroni Raspberry Pi
Konfiguroni Raspberry Pi
Konfiguroni Raspberry Pi
Konfiguroni Raspberry Pi

Hapi 1: Kontrolloni dhe instaloni përditësimet Kontrollimi dhe instalimi i përditësimeve është gjithmonë një mënyrë e mirë për të filluar. Drejtoni komandat e mëposhtme në dritaren e terminalit:

përditësim sudo apt-get

sudo apt-get upgrade

rindiz sudo

Hapi 2: Vendosni ndërfaqen SPI për Mikrofonin MEMS + MCP3002

Për të përdorur SPI (Ndërfaqja Seriale e Portit) për të lexuar në Mikrofonin MEMS përmes MCP3002, do të na duhet Paketa Python Dev:

sudo apt-get install python-dev

Ne gjithashtu do të kemi nevojë për ndërfaqen SPI (mund të dëshironi të krijoni një nën -dosje për ta ruajtur këtë):

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

sudo python setup.py install

Këtu keni Dokumentacionin SPI-Dev nëse hasni ndonjë problem.

Hapi 3: Luajtja e Tingujve me OMXPlayer

OMXPlayer është një luajtës audio dhe video i para-ngarkuar në Raspbian OS. Punon me shumicën e llojeve të skedarëve të zërit, duke përfshirë:.wav,.mp3 dhe.m4a. Kjo është ajo që ne do të përdorim për të riprodhuar tingujt kur Fido bëhet shumë i fortë. Biblioteka Python për të kontrolluar OMXPlayer është përfshirë në Raspbian (woo!).

Për të testuar OMXPlayer nga terminali, shkruani sa vijon:

omxplayer /home/…/SongFilePath/SongFileName.mp3

Nëse kjo nuk funksionon, provoni ta detyroni atë mbi pajisjen lokale të daljes së zërit:

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

Hapi 4: Konfiguroni serverin CloudMQTT

Tani ne kemi ngritur një server MQTT! Për ta bërë këtë duke përdorur CloudMQTT, bëni sa më poshtë:

  1. Krijoni një llogari CloudMQTT (plani "Cat Cute" është falas).
  2. Krijoni një shembull të ri MyCloud.
  3. Në tastierë, krijoni një rregull të ri ACL.
  4. Mund të monitoroni mesazhet e publikuara në UI "Websocket".

Së fundi, instaloni bibliotekën MQTT Paho Client Python:

pip instaloni paho-mqtt

Hapi 4: Ndërtoni! Hardware

Ndërtojeni! Hardware
Ndërtojeni! Hardware
Ndërtojeni! Hardware
Ndërtojeni! Hardware
Ndërtojeni! Hardware
Ndërtojeni! Hardware

Diagramet Pinout për Raspberry Pi dhe MCP3002 janë në fotot e mësipërme.

1. Futni kunjat MCP3002 në dërrasën e bukës (shikoni diagramin e pinout më lart)

MCP3002 përdor 4 kunja SPI për komunikim: Ora Seriale ("SCL"), Master Input Slave Output ("MISO"), Master Output Slave Input ("MOSI") dhe Chip Select ("CS"). Këto kunja i përgjigjen Raspberry Pi GPIO pin 11 (SCLK), GPIO pin 9 (MISO), GPIO Pin 10 (MOSI) dhe GPIO Pin 8 (CE0).

Bëni lidhjet e mëposhtme me kunjat MCP3002:

  • Lidhni Pin 1 me Raspberry Pi GPIO Pin 8 (CE0)
  • Lidhni Pin 2 me daljen analoge të bordit të shpërthimit të Mikrofonit MEMS
  • Lidhni Pin 4 me GND
  • Lidh Pin 5 me Raspberry Pi GPIO Pin 10 (MOSI)
  • Lidh Pin 6 me Raspberry Pi GPIO pin 9 (MISO)
  • Lidhni Pin 7 me Raspberry Pi GPIO Pin 11 (SCLK)
  • Lidhni Pin 8 me Raspberry Pi 3.3V jashtë

2. Saldoni telat në bordin e shpërthimit të Mikrofonit MEMS. Lidhuni me MCP3002 dhe Raspberry Pi

  • Lidhni Vcc me Raspberry Pi 3.3V.
  • Lidhni GND me Raspberry Pi GND
  • Lidhni AUD me MCP3002 Pin 2

3. Lidhni të gjitha kabllot për Raspberry Pi dhe ndizni gjithçka

Hapi 5: Ndërtoni! Softuer

Ndërtojeni! Softuer
Ndërtojeni! Softuer

Qëllimi ynë me Bark Back është i dyfishtë: shkaktoni një tingull rishikimi kur qeni leh dhe dërgoni të dhënat në një server ku mund t'i kontrollojmë.

Këtu është programi Python me burim të hapur për këtë projekt. Ndjehuni të lirë të rregulloni dhe modifikoni (dhe ju lutemi).

Për të filluar programin, duhet të plotësoni dy gjëra:

- songList: Shkruani në rrugën e skedarit dhe emrin e skedarit për secilën nga këngët që dëshironi të luani.

- kreds: Futni informacionin tuaj CloudMQTT në këtë fjalor.

Hapi 1: Lexoni në tabelën e shpërthimit të mikrofonit SparkFun MEMS

Lexoni në vlerën ADC (midis 0 dhe 1023) nga pllaka e shpërthimit të Mikrofonit MEMS (përmes MCP3002) duke përdorur bibliotekën SPI dhe llogaritni amplituda kulmin-kulmin e sinjalit.

Hartoni amplituda kulmin-kulmin e sinjalit në një Njësi Vëllimi. Kodi aktual harton gamën ADC midis 0 dhe 700 (bazuar në eksperimentimin e shpejtë) në një Njësi vëllimi midis 0 dhe 10. Për të rregulluar ndjeshmërinë e mikrofonit, rregulloni gamën e hyrjes ADC.

Për një përmbledhje të plotë të mikrofonit MEMS, shikoni këtë udhëzues.

Hapi 2: Aktivizoni luajtësin audio

Së pari do të na duhen këngë për të luajtur! Mund të regjistroni shpejt tinguj në GarageBand (ose në smartphone tuaj) dhe t'i dërgoni ato në Raspberry Pi. Në Python, përdorni bibliotekën e nënprocesit për të thirrur omxplayer.

Në kod, futni rrugën e skedarit të këngëve që dëshironi të riprodhoni në ndryshoren * songList * (rreshti 26). Pragu aktual i vëllimit është vendosur në 7 në funksionin kryesor.

Hapi 3: Dërgoni të dhëna te Serveri CloudMQTT

Përdorni bibliotekën Paho Client Python për të komunikuar me serverët CloudMQTT. Për ta përmbledhur gjerësisht: Krijoni një server Klienti; përcaktoni protokollet e komunikimit; lidheni me kredencialet tona (aka creds); dhe regjistrohuni dhe publikoni të dhënat tona. Pjesa më e madhe e kësaj bëhet në funksionin kryesor (rreshtat 129 - 149, dhe rreshtat 169 - 174).

Për të kontrolluar të dhënat e marra, shkoni te skedari "Websocket UI" në tastierën CloudMQTT.

Hapi 6: Testoni dhe instaloni

Test & Instalo!
Test & Instalo!

Drejtoni programin BarkBack.py në Terminal ose në Python IDE (gjithashtu mund të përdorni SSH për të drejtuar programin pasi të jeni larguar tashmë).

Kontrolloni që po merrni nivelet e volumit në skedën tuaj të ndërfaqes së internetit të Uebfaqes.

Provoni sistemin duke aktivizuar mikrofonin (duartrokitje, ulërimë, leh, etj.) Për t'u siguruar që altoparlantët luajnë përmes të gjithë tingujve.

Sapo gjithçka të funksionojë, rekomandohet të lidhni përbërësit në një PCB (Printed Circuit Board) nëse keni ndërmend ta instaloni sistemin për më shumë se vetëm disa ditë.

Konkursi i mikrokontrolluesve 2017
Konkursi i mikrokontrolluesve 2017
Konkursi i mikrokontrolluesve 2017
Konkursi i mikrokontrolluesve 2017

Vrapues në Konkursin e Mikrokontrolluesit 2017

Konkursi i sensorëve 2017
Konkursi i sensorëve 2017
Konkursi i sensorëve 2017
Konkursi i sensorëve 2017

Çmimi i Parë në Konkursin e Sensorëve 2017

Recommended: