Satura rādītājs:

IoT mājdzīvnieku monitors!: 6 soļi (ar attēliem)
IoT mājdzīvnieku monitors!: 6 soļi (ar attēliem)

Video: IoT mājdzīvnieku monitors!: 6 soļi (ar attēliem)

Video: IoT mājdzīvnieku monitors!: 6 soļi (ar attēliem)
Video: успокаивающую музыку, чтобы успокоить собаку после спасательной Rehoming 2024, Novembris
Anonim
Image
Image
Ieteicamā lasāmviela
Ieteicamā lasāmviela

Sekojiet saviem mīļajiem mazuļiem un atskaņojiet mūziku vai pasakiet viņiem klusēt, kamēr esat prom! Šī apmācība parādīs, kā izmantot Raspberry Pi datoru, lai uzraudzītu skaņas skaļumu jūsu mājās (izmantojot mākoni), lai redzētu, vai jūsu mājdzīvnieks ir satraukts.

Bungu rullītis … visjautrākā daļa: ja tas kļūst pārāk skaļš (piemēram, Fido rej vai dara kādu citu trakulīgu), mēs varam viņiem pateikt klusumu vai atskaņot mūziku!

Kopā ar Pi (un skaļruņiem) mēs izmantosim SparkFun MEMS mikrofona sadalīšanas paneli, lai izmērītu skaļuma līmeni un iedarbinātu audio atskaņotāju. Dati tiek augšupielādēti pakalpojumā CloudMQTT, izmantojot MQTT sakaru protokolu.

Kopējais lasīšanas laiks: ~ 8 min

Kopējais būvēšanas laiks: 60 min (mazāk ar pieredzi)

Milzīgs PALDIES SparkFun par atbalstu šim projektam! Iepazīstieties ar apmācību šeit.

1. darbība. Ieteicamā lasāmviela

Lai izveidotu šo projektu, jums būs nepieciešams pilnībā konfigurēts, ar WiFi savienots Raspberry Pi 3 dators ar Raspbian OS. Ir arī noderīgi zināt dažas Python programmēšanas iespējas, kā arī šādas lietas: (1) kā lietot un kontrolēt Raspberry Pi GPIO tapas; (2) MQTT komunikācija; un 3) analogie sensori. Ja kaut kas no šī ir nepazīstams vai ja jūs vienkārši interesē (esiet ziņkārīgs!), Pārbaudiet tālāk norādītās apmācības!

Raspberry Pi 3

  1. Raspberry Pi 3 sākuma komplekta savienošanas rokasgrāmata
  2. Raspberry Pi GPIO
  3. SPI komunikācija ar Raspberry Pi

MQTT sakaru protokols

MQTT (Message Query Telemetry Transport) ir populārs IoT sakaru protokols. Mēs izmantosim Paho Client Python bibliotēku un MQTT pakalpojumu ar nosaukumu CloudMQTT. Šeit ir vairāk par MQTT un tā izmantošanu:

  1. IoT sakaru protokolu izpēte
  2. Darba sākšana ar CloudMQTT
  3. Pārskats par Eclipse Paho MQTT Python klientu bibliotēku

MEMS mikrofona sadalīšanas panelis

MEMS mikrofons ir analogais mikrofons, tāpēc mums būs nepieciešams analogo ciparu pārveidotājs ("ADC"), lai lasītu analogo signālu ar Raspberry Pi digitālajām GPIO tapām.

  1. Darba sākšana ar SparkFun MEMS mikrofona sadalīšanas paneli
  2. MEMS mikrofona datu lapa
  3. MCP3002 ADC datu lapa

2. solis: materiāli

Materiāli
Materiāli
Materiāli
Materiāli
Materiāli
Materiāli

- Raspberry Pi 3 B modelis

Mums būs nepieciešamas arī šādas perifērijas ierīces: Raspberry Pi 3 korpuss; SD karte (vismaz 8 GB); Raspberry Pi 3 GPIO kabelis; MicroUSB barošanas kabelis; HDMI kabelis un ar HDMI saderīgs monitors; USB tastatūra; USB pele; skaļruņi ar 1/8 austiņu pieslēgvietu.

- SparkFun MEMS Mic Breakout Board

-MCP3002 (analogo ciparu pārveidotājs)

-Maizes dēlis un M-to-M maizes dēļa džemperu vadi

3. darbība: konfigurējiet Raspberry Pi

Konfigurējiet Raspberry Pi
Konfigurējiet Raspberry Pi
Konfigurējiet Raspberry Pi
Konfigurējiet Raspberry Pi
Konfigurējiet Raspberry Pi
Konfigurējiet Raspberry Pi
Konfigurējiet Raspberry Pi
Konfigurējiet Raspberry Pi

1. darbība: pārbaudiet un instalējiet atjauninājumus Atjauninājumu meklēšana un instalēšana vienmēr ir labs veids, kā sākt. Termināļa logā palaidiet šādas komandas:

sudo apt-get update

sudo apt-get jauninājums

sudo atsāknēšana

2. darbība: iestatiet SPI saskarni MEMS mikrofonam + MCP3002

Lai izmantotu SPI (seriālā porta saskarni) lasīšanai MEMS mikrofonā, izmantojot MCP3002, mums būs nepieciešama Python Dev pakotne:

sudo apt-get instalēt python-dev

Mums būs nepieciešama arī SPI saskarne (iespējams, vēlēsities izveidot apakšmapi, lai to saglabātu):

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

sudo python setup.py instalēt

Šeit ir SPI-Dev dokumentācija, ja rodas kādas problēmas.

3. darbība. Skaņu atskaņošana, izmantojot OMXPlayer

OMXPlayer ir audio un video atskaņotājs, kas iepriekš ir ielādēts Raspbian OS. Tas darbojas ar lielāko daļu skaņas failu tipu, tostarp:.wav,.mp3 un.m4a. To mēs izmantosim, lai atskaņotu skaņas, kad Fido kļūst pārāk skaļš. Python bibliotēka OMXPlayer kontrolei ir iekļauta Raspbian (woo!).

Lai pārbaudītu OMXPlayer no termināļa, ierakstiet šo:

omxplayer /home/…/SongFilePath/SongFileName.mp3

Ja tas nedarbojas, mēģiniet to piespiest vietējā audio izejas ierīcē:

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

4. darbība: konfigurējiet CloudMQTT serveri

Tagad mēs izveidojam MQTT serveri! Lai to izdarītu, izmantojot CloudMQTT, rīkojieties šādi:

  1. Izveidojiet CloudMQTT kontu (plāns "Cute Cat" ir bezmaksas).
  2. Izveidojiet jaunu MyCloud instanci.
  3. Konsolē izveidojiet jaunu ACL kārtulu.
  4. Publicētos ziņojumus varat pārraudzīt lietotāja saskarnē "Websocket".

Visbeidzot instalējiet MQTT Paho Client Python bibliotēku:

pip instalēt paho-mqtt

4. solis: izveidojiet to! Aparatūra

Veidojiet to! Aparatūra
Veidojiet to! Aparatūra
Veidojiet to! Aparatūra
Veidojiet to! Aparatūra
Veidojiet to! Aparatūra
Veidojiet to! Aparatūra

Raspberry Pi un MCP3002 pinout diagrammas ir redzamas iepriekš redzamajos fotoattēlos.

1. Ievietojiet MCP3002 tapas maizes dēļā (skatiet iepriekš redzamo diagrammu)

MCP3002 saziņai izmanto 4 SPI tapas: sērijas pulkstenis ("SCL"), galvenās ievades verdzības izeja ("MISO"), galvenās izejas vergu ievade ("MOSI") un mikroshēmas izvēle ("CS"). Šīs tapas atbilst Raspberry Pi GPIO pin 11 (SCLK), GPIO pin 9 (MISO), GPIO Pin 10 (MOSI) un GPIO Pin 8 (CE0).

Izveidojiet šādus savienojumus ar MCP3002 tapām:

  • Pievienojiet tapu 1 Raspberry Pi GPIO tapai 8 (CE0)
  • Pievienojiet tapu 2 MEMS mikrofona sadalīšanas paneļa analogajai izejai
  • Pievienojiet 4. tapu GND
  • Pievienojiet tapu 5 Raspberry Pi GPIO Pin 10 (MOSI)
  • Pievienojiet 6. tapu Raspberry Pi GPIO tapai 9 (MISO)
  • Pievienojiet 7. tapu Raspberry Pi GPIO tapai 11 (SCLK)
  • Pievienojiet tapu 8 Raspberry Pi 3.3V izejai

2. Lodēt vadus pie MEMS mikrofona sadalīšanas paneļa. Izveidojiet savienojumu ar MCP3002 un Raspberry Pi

  • Savienojiet Vcc ar Raspberry Pi 3.3V.
  • Savienojiet GND ar Raspberry Pi GND
  • Pievienojiet AUD MCP3002 2. tapai

3. Pievienojiet visus Raspberry Pi kabeļus un ieslēdziet visu

5. solis: izveidojiet to! Programmatūra

Veidojiet to! Programmatūra
Veidojiet to! Programmatūra

Mūsu mērķis ar mizas aizmuguri ir divējāds: iedarbiniet atskaņošanas skaņu, kad suns rej, un nosūtiet datus uz serveri, kur mēs to varam pārbaudīt.

Šeit ir šī projekta atvērtā pirmkoda Python programma. Jūtieties brīvi (un, lūdzu, dariet), lai pielāgotu un mainītu kodu.

Lai programma sāktu darboties, jums jāaizpilda divas lietas:

- songList: ierakstiet faila ceļu un faila nosaukumu katrai dziesmai, kuru vēlaties atskaņot.

- kredīti: ievadiet savu CloudMQTT informāciju šajā vārdnīcā.

1. darbība: lasiet SparkFun MEMS mikrofona sadalīšanas panelī

Izmantojot SPI bibliotēku, nolasiet ADC vērtību (no 0 līdz 1023) no MEMS mikrofona sadalīšanas paneļa (izmantojot MCP3002) un aprēķiniet signāla maksimālo amplitūdu.

Kartējiet signāla maksimālo amplitūdu ar tilpuma vienību. Pašreizējais kods kartē ADC diapazonu no 0 līdz 700 (pamatojoties uz ātriem eksperimentiem) līdz skaļuma vienībai no 0 līdz 10. Lai pielāgotu mikrofona jutību, noregulējiet ADC ievades diapazonu.

Lai iegūtu pilnīgu pārskatu par MEMS mikrofonu, skatiet šo apmācību.

2. darbība: aktivizējiet audio atskaņotāju

Vispirms mums būs vajadzīgas dziesmas, lai tās atskaņotu! Jūs varat ātri ierakstīt skaņas GarageBand (vai viedtālrunī) un nosūtīt tās uz Raspberry Pi. Programmā Python izmantojiet apakšprocesu bibliotēku, lai izsauktu omxplayer.

Kodā ievadiet atskaņojamo dziesmu faila ceļu mainīgajā * songList * (26. rinda). Pamatfunkcijā pašreizējais skaļuma slieksnis ir iestatīts uz 7.

3. darbība: nosūtiet datus uz CloudMQTT serveri

Lai sazinātos ar CloudMQTT serveriem, izmantojiet Paho Client Python bibliotēku. Apkopojot vispārīgi: iestatiet klienta serveri; definēt sakaru protokolus; sazināties ar mūsu akreditācijas datiem (aka creds); un abonēt un publicēt mūsu datus. Lielākā daļa no tā tiek veikta galvenajā funkcijā (129. - 149. rinda un 169. - 174. rinda).

Lai pārbaudītu saņemtos datus, atveriet CloudMQTT konsoles cilni "Websocket UI".

6. darbība: pārbaudiet un instalējiet

Pārbaudi un instalē!
Pārbaudi un instalē!

Palaidiet programmu BarkBack.py terminālī vai Python IDE (varat arī izmantot SSH, lai palaistu programmu pēc tam, kad esat jau aizgājis).

Pārbaudiet, vai cilnē Websocket UI tiek parādīts skaļuma līmenis.

Pārbaudiet sistēmu, iedarbinot mikrofonu (aplaudēšana, kliegšana, miza utt.), Lai pārliecinātos, ka skaļruņi atskaņo visas skaņas.

Kad viss ir sagatavots un darbojas, ieteicams komponentus pielodēt pie PCB (iespiedshēmas plates), ja plānojat sistēmu instalēt ilgāk par dažām dienām.

Mikrokontrolleru konkurss 2017
Mikrokontrolleru konkurss 2017
Mikrokontrolleru konkurss 2017
Mikrokontrolleru konkurss 2017

Otrā vieta mikrokontrolleru konkursā 2017

Sensoru konkurss 2017
Sensoru konkurss 2017
Sensoru konkurss 2017
Sensoru konkurss 2017

Pirmā balva sensoru konkursā 2017

Ieteicams: