Satura rādītājs:
- 1. darbība. Ieteicamā lasāmviela
- 2. solis: materiāli
- 3. darbība: konfigurējiet Raspberry Pi
- 4. solis: izveidojiet to! Aparatūra
- 5. solis: izveidojiet to! Programmatūra
- 6. darbība: pārbaudiet un instalējiet
Video: IoT mājdzīvnieku monitors!: 6 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
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
- Raspberry Pi 3 sākuma komplekta savienošanas rokasgrāmata
- Raspberry Pi GPIO
- 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:
- IoT sakaru protokolu izpēte
- Darba sākšana ar CloudMQTT
- 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.
- Darba sākšana ar SparkFun MEMS mikrofona sadalīšanas paneli
- MEMS mikrofona datu lapa
- MCP3002 ADC datu lapa
2. solis: 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
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:
- Izveidojiet CloudMQTT kontu (plāns "Cute Cat" ir bezmaksas).
- Izveidojiet jaunu MyCloud instanci.
- Konsolē izveidojiet jaunu ACL kārtulu.
- 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
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
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
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.
Otrā vieta mikrokontrolleru konkursā 2017
Pirmā balva sensoru konkursā 2017
Ieteicams:
Lauva: mājdzīvnieku kaķis: 7 soļi (ar attēliem)
Leo: lolojumdzīvnieku kaķis: Sveiki, šī ir mana pirmā pamācība. Pirmā " Sony Aibo Robot (1999) versija " Četru gadu vecumā mani piesaistīja robotika, kopš tā laika mans sapnis bija izgatavot mājdzīvnieku robotu. Tāpēc es izdomāju " Leo: lolojumdzīvnieku kaķis " w
SmartPET - viedā mājdzīvnieku barotava: 7 soļi (ar attēliem)
SmartPET - viedā mājdzīvnieku barotava: Hei! Es esmu Maksims Vermerens, 18 gadus vecs MCT (multimediju un komunikāciju tehnoloģiju) students Howest. Esmu izvēlējies izveidot gudru mājdzīvnieku barotavu kā savu projektu. Kāpēc es to izdarīju? Manam kaķim ir dažas svara problēmas, tāpēc es nolēmu izveidot mašīnu
Mājdzīvnieku robotu bumba: 10 soļi (ar attēliem)
Mājdzīvnieku robotu bumba: Manam lolojumdzīvniekam patīk spēlēties ar rotaļlietām, it īpaši tām, kuras viņš var vajāt! Es uzbūvēju robotu bumbiņu, kas ieslēdzas un automātiski rullē prom, kad viņš ar to mijiedarbojas, paziņo man, izmantojot manu mobilo tālruni, kuru pēc tam varu izmantot, lai to kontrolētu, izmantojot WiFi un fin
Projeto SmartHome - mājdzīvnieku glabātava un mājdzīvnieku glabātava + Iluminācijas kontrole: 7 soļi
Projeto SmartHome - Repositor De Alimento Para Pet + Controle De Iluminação: Este tutorial apresenta uma solução SmartHome simples que permite a reposição automática de alimento para animais de estimação (pet) e controle automático de iluminaçãoo evizando vizinhos para ace
IoT āra mājdzīvnieku durvis: 6 soļi (ar attēliem)
IoT āra mājdzīvnieku durvis: mani iedvesmoja šī pamācība izveidot automātiskas vistas gaļas durvis. Es ne tikai gribēju vistas gaļas durvis uz taimera, bet arī gribēju savienot durvis ar internetu, lai es varētu tās kontrolēt ar savu tālruni vai datoru. Šī d