Obsah:

IoT Pet Monitor!: 6 krokov (s obrázkami)
IoT Pet Monitor!: 6 krokov (s obrázkami)

Video: IoT Pet Monitor!: 6 krokov (s obrázkami)

Video: IoT Pet Monitor!: 6 krokov (s obrázkami)
Video: Камера-ЛАМПА со слежением и определением человека. 2024, November
Anonim
Image
Image
Navrhované čítanie
Navrhované čítanie

Sledujte svoje milované deti a pustite si hudbu alebo im povedzte, aby boli ticho, keď ste preč! Tento tutoriál vám ukáže, ako pomocou počítača Raspberry Pi monitorovať hlasitosť zvuku vo vašej domácnosti (prostredníctvom cloudu), aby ste zistili, či a kedy je váš maznáčik naštvaný.

Bubon … najzábavnejšia časť: Ak je zvuk príliš hlasný (napríklad, keď Fido šteká alebo robí iný chrapľavý zvuk), povieme im, aby boli ticho alebo hrali hudbu!

Spolu s Pi (a reproduktormi) použijeme oddeľovaciu dosku mikrofónu SparkFun MEMS na meranie úrovní hlasitosti a spustenie prehrávača zvuku. Dáta sa nahrávajú do služby CloudMQTT pomocou komunikačného protokolu MQTT.

Celkový čas na čítanie: ~ 8 min

Celkový čas zostavenia: 60 min (menej skúseností/ skúseností)

Obrovská VĎAKA SparkFunu za podporu tohto projektu! Pozrite sa na návod tu.

Krok 1: Navrhované čítanie

Na zostavenie tohto projektu budete potrebovať plne nakonfigurovaný počítač Raspberry Pi 3 s pripojením WiFi a OS Raspbian. Je tiež užitočné poznať niektoré programovanie v Pythone a nasledujúce veci: (1) používanie a ovládanie pinov GPIO Raspberry Pi; (2) komunikácia MQTT; a (3) analógové snímače. Ak vám niečo z toho nie je známe, alebo vás to len zaujíma (buďte zvedaví!), Pozrite si nižšie uvedené návody!

Raspberry Pi 3

  1. Sprievodca pripojením štartovacej sady Raspberry Pi 3 Starter Kit
  2. Raspberry Pi GPIO
  3. Komunikácia SPI s Raspberry Pi

Komunikačný protokol MQTT

MQTT (Message Query Telemetry Transport) je populárny komunikačný protokol IoT. Použijeme knižnicu Paho Client Python a službu MQTT s názvom CloudMQTT. Tu je viac o MQTT a jeho použití:

  1. Skúmanie komunikačných protokolov pre IoT
  2. Začíname s CloudMQTT
  3. Prehľad klientskej knižnice Eclipse Paho MQTT Python

Oddeľovací panel mikrofónu MEMS

Mikrofón MEMS je analógový mikrofón, takže na čítanie analógového signálu pomocou digitálnych GPIO pinov Raspberry Pi budeme potrebovať analógovo-digitálny prevodník („ADC“).

  1. Začíname s mikrofónovou doskou SparkFun MEMS
  2. Technický list mikrofónu MEMS
  3. Dátový list ADC MCP3002

Krok 2: Materiály

Materiály
Materiály
Materiály
Materiály
Materiály
Materiály

- Raspberry Pi 3 Model B

Budeme tiež potrebovať nasledujúce periférne zariadenia: Puzdro Raspberry Pi 3; Karta SD (minimálne 8 GB); GPIO kábel Raspberry Pi 3; Napájací kábel MicroUSB; Kábel HDMI a monitor kompatibilný s HDMI; USB klávesnica; Myš USB; reproduktory s 1/8 portom pre slúchadlá.

- SparkFun MEMS Mic Breakout Board

-MCP3002 (prevodník analógovo-digitálneho signálu)

-Prepojovacie vodiče pre Breadboard a M-to-M Breadboard

Krok 3: Konfigurujte Raspberry Pi

Nakonfigurujte Raspberry Pi
Nakonfigurujte Raspberry Pi
Konfigurujte Raspberry Pi
Konfigurujte Raspberry Pi
Konfigurujte Raspberry Pi
Konfigurujte Raspberry Pi
Nakonfigurujte Raspberry Pi
Nakonfigurujte Raspberry Pi

Krok 1: Kontrola a inštalácia aktualizácií Kontrola a inštalácia aktualizácií je vždy dobrým spôsobom, ako začať. V okne terminálu spustite nasledujúce príkazy:

sudo apt-get aktualizácia

sudo apt-get upgrade

sudo reštart

Krok 2: Nastavte rozhranie SPI pre mikrofón MEMS + MCP3002

Na použitie rozhrania SPI (Serial Port Interface) na čítanie z mikrofónu MEMS prostredníctvom MCP3002 budeme potrebovať balík Python Dev:

sudo apt-get install python-dev

Budeme tiež potrebovať rozhranie SPI (možno budete chcieť vytvoriť podpriečinok, do ktorého ho chcete uložiť):

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

sudo python setup.py install

Tu nájdete dokumentáciu SPI-Dev, ak narazíte na nejaký problém.

Krok 3: Prehrávanie zvukov s OMXPlayer

OMXPlayer je prehrávač zvuku a videa predinštalovaný v systéme Raspbian OS. Funguje s väčšinou typov zvukových súborov vrátane:.wav,.mp3 a.m4a. Práve to použijeme na prehrávanie zvukov, keď bude Fido príliš hlasný. Knižnica Python na ovládanie OMXPlayeru je súčasťou Raspbian (woo!).

Ak chcete otestovať prehrávač OMXPlayer z terminálu, zadajte nasledujúci príkaz:

omxplayer /home/…/SongFilePath/SongFileName.mp3

Ak to nefunguje, skúste to vynútiť cez miestne zariadenie na výstup zvuku:

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

Krok 4: Konfigurujte server CloudMQTT

Teraz sme vytvorili server MQTT! Ak to chcete urobiť pomocou CloudMQTT, postupujte takto:

  1. Založte si účet CloudMQTT (plán „Cute Cat“je bezplatný).
  2. Vytvorte novú inštanciu MyCloud.
  3. V konzole vytvorte nové pravidlo ACL.
  4. Publikované správy môžete sledovať v používateľskom rozhraní „Websocket“.

Nakoniec nainštalujte knižnicu MQTT Paho Client Python:

pip install paho-mqtt

Krok 4: Postavte to! Hardvér

Postavte to! Hardvér
Postavte to! Hardvér
Postavte to! Hardvér
Postavte to! Hardvér
Postavte to! Hardvér
Postavte to! Hardvér

Diagramy vývodov pre Raspberry Pi a MCP3002 sú na fotografiách vyššie.

1. Vložte kolíky MCP3002 na dosku (pozri diagram vývodov vyššie)

MCP3002 používa na komunikáciu 4 piny SPI: sériové hodiny („SCL“), podriadený výstup hlavného vstupu („MISO“), podradený vstup hlavného výstupu („MOSI“) a výber čipu („CS“). Tieto kolíky zodpovedajú pinom Raspberry Pi GPIO pin 11 (SCLK), GPIO pin 9 (MISO), GPIO Pin 10 (MOSI) a GPIO Pin 8 (CE0).

Vykonajte nasledujúce pripojenia s kolíkmi MCP3002:

  • Pripojte pin 1 k Raspberry Pi GPIO Pin 8 (CE0)
  • Pripojte pin 2 k analógovému výstupu oddeľovacej dosky mikrofónu MEMS
  • Pripojte pin 4 k GND
  • Pripojte pin 5 k Raspberry Pi GPIO Pin 10 (MOSI)
  • Pripojte pin 6 k Raspberry Pi GPIO pin 9 (MISO)
  • Pripojte Pin 7 k Raspberry Pi GPIO Pin 11 (SCLK)
  • Pripojte pin 8 k výstupu Raspberry Pi 3,3 V.

2. Spájkujte vodiče k oddeľovacej doske mikrofónu MEMS. Pripojte sa k MCP3002 a Raspberry Pi

  • Pripojte Vcc k Raspberry Pi 3,3 V.
  • Pripojte GND k Raspberry Pi GND
  • Pripojte AUD k pinu 2 MCP3002

3. Pripojte všetky káble k Raspberry Pi a všetko zapnite

Krok 5: Postavte to! Softvér

Postavte to! Softvér
Postavte to! Softvér

Náš cieľ s Bark Back je dvojaký: spustiť zvuk prehrávania, keď pes šteká, a odoslať údaje na server, kde ich môžeme skontrolovať.

Tu je open-source program Python pre tento projekt. Nebojte sa (a prosím urobte) upraviť a upraviť kód.

Na spustenie programu musíte splniť dve veci:

- songList: Napíšte cestu k súboru a názov súboru pre každú skladbu, ktorú chcete hrať.

- kredity: Zadajte informácie o svojom CloudMQTT do tohto slovníka.

Krok 1: Prečítajte si odpájaciu dosku SparkFun MEMS Microphone

Prečítajte si hodnotu ADC (od 0 do 1023) z oddeľovacej dosky mikrofónu MEMS (prostredníctvom MCP3002) pomocou knižnice SPI a vypočítajte amplitúdu signálu od špičky k vrcholu.

Namapujte amplitúdu signálu od špičky k jednotke hlasitosti. Aktuálny kód mapuje rozsah ADC od 0 do 700 (na základe rýchleho experimentovania) do jednotky hlasitosti medzi 0 a 10. Ak chcete nastaviť citlivosť mikrofónu, upravte vstupný rozsah ADC.

Ak chcete získať podrobný prehľad o mikrofóne MEMS, pozrite si tento návod.

Krok 2: Spustite zvukový prehrávač

Najprv budeme potrebovať piesne na hranie! Zvuky môžete rýchlo nahrávať do GarageBandu (alebo do smartfónu) a odoslať ich na Raspberry Pi. V Pythone použite na volanie omxplayera knižnicu podprocesov.

Do kódu zadajte cestu k súboru skladieb, ktoré chcete prehrať, do premennej * songList * (riadok 26). Aktuálny prah hlasitosti je v hlavnej funkcii nastavený na 7.

Krok 3: Odoslanie údajov na server CloudMQTT

Na komunikáciu so servermi CloudMQTT použite knižnicu Paho Client Python. Stručne zhrnuté: Nastavte klientský server; definovať komunikačné protokoly; spojiť sa s našimi povereniami (aka kreditmi); a prihlásiť sa na odber a zverejniť naše údaje. Väčšina z toho sa robí v hlavnej funkcii (riadky 129 - 149 a riadky 169 - 174).

Prijaté údaje môžete skontrolovať v konzole CloudMQTT na karte „Websocket UI“.

Krok 6: Otestujte a nainštalujte

Otestujte a nainštalujte!
Otestujte a nainštalujte!

Spustite program BarkBack.py na termináli alebo v IDE Pythonu (pomocou SSH môžete program spustiť aj potom, čo ste už odišli).

Na karte Používateľské rozhranie Websocket skontrolujte, či sa vám zobrazujú úrovne hlasitosti.

Otestujte systém spustením mikrofónu (tlieskanie, krik, štekot atď.), Aby ste sa presvedčili, že reproduktory prechádzajú všetkými zvukmi.

Keď je všetko v prevádzke, odporúča sa spájkovať súčiastky na dosku plošných spojov (PCB), ak plánujete inštalovať systém dlhšie ako niekoľko dní.

Súťaž o mikrokontrolér 2017
Súťaž o mikrokontrolér 2017
Súťaž o mikrokontrolér 2017
Súťaž o mikrokontrolér 2017

Druhé miesto v súťaži o mikrokontrolér 2017

Súťaž senzorov 2017
Súťaž senzorov 2017
Súťaž senzorov 2017
Súťaž senzorov 2017

Prvá cena v súťaži senzorov 2017

Odporúča: