Sadržaj:

IoT Monitor za kućne ljubimce!: 6 koraka (sa slikama)
IoT Monitor za kućne ljubimce!: 6 koraka (sa slikama)

Video: IoT Monitor za kućne ljubimce!: 6 koraka (sa slikama)

Video: IoT Monitor za kućne ljubimce!: 6 koraka (sa slikama)
Video: Белый Тигр (4К , военный, реж. Карен Шахназаров, 2012 г., с субтитрами) 2024, Studeni
Anonim
Image
Image
Predloženo čitanje
Predloženo čitanje

Pazite na svoje voljene bebe i puštajte glazbu ili im recite da šute dok ste odsutni! Ovaj će vodič pokazati kako koristiti računalo Raspberry Pi za nadzor glasnoće zvuka u vašem domu (putem oblaka) kako biste vidjeli je li i kada vaš ljubimac uzrujan.

Drum roll … najzabavniji dio: Ako postane preglasno (kao što Fido laje ili pravi neku drugu hrapavost), reći ćemo im da šute ili puštaju glazbu!

Uz Pi (i zvučnike), upotrijebit ćemo SparkFun MEMS mikrofonsku ploču za mjerenje glasnoće i pokretanje audio playera. Podaci se prenose u uslugu CloudMQTT pomoću komunikacijskog protokola MQTT.

Ukupno vrijeme čitanja: ~ 8 min

Ukupno vrijeme izgradnje: 60 min (manje sa iskusnim)

Veliko HVALA SparkFunu na podršci ovom projektu! Vodič pogledajte ovdje.

1. korak: Predloženo čitanje

Za izradu ovog projekta trebat će vam potpuno konfigurirano računalo Raspberry Pi 3 povezano WiFi-em s Raspbian OS-om. Također je korisno znati neke programe na Pythonu, kao i sljedeće stvari: (1) kako koristiti i kontrolirati Raspberry Pi GPIO pinove; (2) MQTT komunikacija; i (3) analogni senzori. Ako vam nešto od ovoga nije poznato ili ste samo znatiželjni (budite znatiželjni!), Pogledajte upute u nastavku!

Malina Pi 3

  1. Vodič za spajanje Raspberry Pi 3 početnog kompleta
  2. Raspberry Pi GPIO
  3. SPI komunikacija s Raspberry Pi

MQTT komunikacijski protokol

MQTT (telemetrijski transport upita upita) popularan je IoT komunikacijski protokol. Koristit ćemo Paho Client Python knjižnicu i MQTT uslugu pod nazivom CloudMQTT. Evo više o MQTT -u i kako ga koristiti:

  1. Istražujući komunikacijske protokole za IoT
  2. Početak rada s CloudMQTT -om
  3. Pregled klijentske knjižnice Eclipse Paho MQTT Python

MEMS ploča za razbijanje mikrofona

MEMS mikrofon je analogni mikrofon, pa će nam trebati analogno-digitalni pretvarač ("ADC") za čitanje analognog signala s Raspberry Pi digitalnim GPIO pinovima.

  1. Početak rada s SparkFun MEMS mikrofonskom pločom
  2. Tehnički list za MEMS mikrofon
  3. Tehnički list MCP3002 ADC

Korak 2: Materijali

Materijali
Materijali
Materijali
Materijali
Materijali
Materijali

- Raspberry Pi 3 Model B

Trebat će nam i sljedeće periferne jedinice: Raspberry Pi 3 kućište; SD kartica (minimalno 8 GB); Raspberry Pi 3 GPIO kabel; Kabel za napajanje MicroUSB; HDMI kabel i monitor kompatibilan s HDMI-om; USB tipkovnica; USB miš; zvučnici s 1/8 priključkom za slušalice.

- SparkFun MEMS mikrofonska ploča

-MCP3002 (analogno-digitalni pretvarač)

-Breadboard & M-to-M Breadboard Jumper žice

Korak 3: Konfigurirajte Raspberry Pi

Konfigurirajte Raspberry Pi
Konfigurirajte Raspberry Pi
Konfigurirajte Raspberry Pi
Konfigurirajte Raspberry Pi
Konfigurirajte Raspberry Pi
Konfigurirajte Raspberry Pi
Konfigurirajte Raspberry Pi
Konfigurirajte Raspberry Pi

Korak 1: Provjerite i instalirajte ažuriranja Provjera i instaliranje ažuriranja uvijek su dobar način za početak. Pokrenite sljedeće naredbe u prozoru terminala:

sudo apt-get ažuriranje

sudo apt-get nadogradnja

sudo ponovno podizanje sustava

Korak 2: Postavite SPI sučelje za MEMS mikrofon + MCP3002

Da bismo koristili SPI (sučelje serijskog porta) za čitanje u MEMS mikrofonu putem MCP3002, trebat će nam paket Python Dev:

sudo apt-get install python-dev

Trebat će nam i SPI sučelje (možda biste htjeli stvoriti podmapu za spremanje u ovu datoteku):

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

sudo python setup.py install

Evo SPI-Dev dokumentacije ako naiđete na bilo koji problem.

Korak 3: Reproduciranje zvukova s OMXPlayerom

OMXPlayer je audio i video player unaprijed učitan na Raspbian OS. Radi s većinom vrsta zvučnih datoteka, uključujući:.wav,.mp3 i.m4a. To je ono što ćemo koristiti za reprodukciju zvukova kada Fido postane preglasan. Knjižnica Python za kontrolu OMXPlayera uključena je u Raspbian (woo!).

Da biste testirali OMXPlayer s terminala, upišite sljedeće:

omxplayer /home/…/SongFilePath/SongFileName.mp3

Ako to ne uspije, pokušajte ga prisiliti na lokalni uređaj za audio-izlaz:

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

Korak 4: Konfigurirajte CloudMQTT poslužitelj

Sada smo postavili MQTT poslužitelj! Da biste to učinili pomoću CloudMQTT -a, učinite sljedeće:

  1. Postavite CloudMQTT račun (plan "Cute Cat" je besplatan).
  2. Izradite novu instancu MyCloud.
  3. U konzoli stvorite novo pravilo ACL -a.
  4. Objavljene poruke možete pratiti u korisničkom sučelju "Websocket".

Na kraju, instalirajte biblioteku Python klijenta MQTT Paho Client:

pip install paho-mqtt

Korak 4: Izgradite ga! Hardver

Izgradite ga! Hardver
Izgradite ga! Hardver
Izgradite ga! Hardver
Izgradite ga! Hardver
Izgradite ga! Hardver
Izgradite ga! Hardver

Dijagrami ispisa za Raspberry Pi i MCP3002 nalaze se na gornjim fotografijama.

1. Umetnite pinove MCP3002 u matičnu ploču (pogledajte gornji dijagram iscrtavanja)

MCP3002 koristi 4 SPI pina za komunikaciju: Serijski sat ("SCL"), Glavni ulazni izlazni izlaz ("MISO"), Glavni izlazni podređeni ulaz ("MOSI") i Odabir čipa ("CS"). Ovi pinovi odgovaraju Raspberry Pi GPIO pin 11 (SCLK), GPIO pin 9 (MISO), GPIO Pin 10 (MOSI) i GPIO Pin 8 (CE0).

Ostvarite sljedeće veze s pinovima MCP3002:

  • Spojite Pin 1 na Raspberry Pi GPIO Pin 8 (CE0)
  • Spojite pin 2 na analogni izlaz ploče za izbijanje mikrofona MEMS
  • Spojite pin 4 na GND
  • Spojite Pin 5 na Raspberry Pi GPIO Pin 10 (MOSI)
  • Spojite pin 6 na Raspberry Pi GPIO pin 9 (MISO)
  • Spojite Pin 7 na Raspberry Pi GPIO Pin 11 (SCLK)
  • Spojite Pin 8 na izlaz 3.3V Raspberry Pi

2. Lemite žice na MEMS mikrofonsku ploču. Povežite se na MCP3002 i Raspberry Pi

  • Spojite Vcc na Raspberry Pi 3.3V.
  • Spojite GND na Raspberry Pi GND
  • Spojite AUD na MCP3002 Pin 2

3. Uključite sve kabele za Raspberry Pi i uključite sve

Korak 5: Izgradite ga! Softver

Izgradite ga! Softver
Izgradite ga! Softver

Naš cilj s Bark Back -om je dvojak: aktivirati zvuk reprodukcije kada pas laje i poslati podatke na poslužitelj gdje to možemo provjeriti.

Evo otvorenog koda Python programa za ovaj projekt. Slobodno (i molim vas) prilagodite i izmijenite kôd.

Da biste pokrenuli program, morate ispuniti dvije stvari:

- songList: Upišite put datoteke i naziv datoteke za svaku pjesmu koju želite reproducirati.

- creds: Unesite svoje CloudMQTT podatke u ovaj rječnik.

Korak 1: Pročitajte na ploči za razbijanje mikrofona SparkFun MEMS

Očitajte vrijednost ADC-a (između 0 i 1023) s MEMS mikrofonske ploče (preko MCP3002) pomoću SPI biblioteke i izračunajte amplitudu signala od vrha do vrha.

Preslikajte amplitudu vrha signala u jedinicu volumena. Trenutni kôd preslikava raspon ADC -a između 0 i 700 (na temelju brzog eksperimentiranja) u jedinicu za glasnoću između 0 i 10. Da biste prilagodili osjetljivost mikrofona, prilagodite raspon ulaza ADC -a.

Za detaljan pregled MEMS mikrofona pogledajte ovaj vodič.

Korak 2: Pokrenite audio player

Prvo će nam trebati pjesme za sviranje! Možete brzo snimiti zvukove u GarageBandu (ili na pametnom telefonu) i poslati ih na Raspberry Pi. U Pythonu upotrijebite knjižnicu podprocesa za pozivanje omxplayera.

U kôd unesite putanju datoteke pjesama koje želite reproducirati u varijablu * songList * (redak 26). Trenutni prag glasnoće postavljen je na 7 u glavnoj funkciji.

Korak 3: Pošaljite podatke na CloudMQTT poslužitelj

Za komunikaciju s CloudMQTT poslužiteljima koristite Paho Client Python knjižnicu. Ukratko, rezimirajte: Postavite klijentski poslužitelj; definirati komunikacijske protokole; povežite se s našim vjerodajnicama (aka creds); i pretplatite se i objavite naše podatke. Većina se toga radi u glavnoj funkciji (retci 129 - 149 i retci 169 - 174).

Da biste provjerili primljene podatke, idite na karticu "Websocket UI" na CloudMQTT konzoli.

Korak 6: Testirajte i instalirajte

Testirajte i instalirajte!
Testirajte i instalirajte!

Pokrenite program BarkBack.py u Terminalu ili u Python IDE -u (možete koristiti i SSH za pokretanje programa nakon što ste već napustili).

Provjerite dobivate li razinu glasnoće na kartici UI Websocket.

Testirajte sustav aktiviranjem mikrofona (pljesak, vika, lavež itd.) Kako biste bili sigurni da zvučnici sviraju kroz sve zvukove.

Kad sve bude pokrenuto, preporučuje se lemljenje komponenti na PCB (tiskana pločica) ako namjeravate instalirati sustav na više od samo nekoliko dana.

Natjecanje za mikrokontrolere 2017
Natjecanje za mikrokontrolere 2017
Natjecanje za mikrokontrolere 2017
Natjecanje za mikrokontrolere 2017

Drugoplasirani na natjecanju mikrokontrolera 2017

Natječaj senzora 2017
Natječaj senzora 2017
Natječaj senzora 2017
Natječaj senzora 2017

Prva nagrada na natjecanju senzora 2017

Preporučeni: