Obsah:

IoT Pet Monitor !: 6 kroků (s obrázky)
IoT Pet Monitor !: 6 kroků (s obrázky)

Video: IoT Pet Monitor !: 6 kroků (s obrázky)

Video: IoT Pet Monitor !: 6 kroků (s obrázky)
Video: Je Tohle Nejzdravější Čech? 2024, Listopad
Anonim
Image
Image
Doporučené čtení
Doporučené čtení

Dávejte pozor na své milované děti a pouštějte hudbu nebo jim řekněte, aby byly potichu, když jste pryč! Tento tutoriál vám ukáže, jak pomocí počítače Raspberry Pi monitorovat hlasitost vašeho domova (prostřednictvím cloudu), abyste zjistili, zda a kdy je váš mazlíček naštvaný.

Bubnování … nejzábavnější část: Pokud to začne být příliš hlasité (jako když Fido štěká nebo dělá nějaký jiný chraplavý zvuk), můžeme jim říct, aby byli zticha nebo hráli hudbu!

Spolu s Pi (a reproduktory) použijeme k měření úrovní hlasitosti a spuštění audio přehrávače SparkFun MEMS mikrofonní oddělovací desku. Data se nahrávají do služby CloudMQTT pomocí komunikačního protokolu MQTT.

Celková doba čtení: ~ 8 min

Celková doba stavby: 60 min (méně zkušených)

Obrovské DÍKY patří SparkFunu za podporu tohoto projektu! Podívejte se na tutoriál zde.

Krok 1: Doporučené čtení

K vytvoření tohoto projektu budete potřebovat plně nakonfigurovaný počítač Raspberry Pi 3 připojený přes WiFi s OS Raspbian. Je také užitečné znát nějaké programování v Pythonu a také následující věci: (1) jak používat a ovládat piny Raspberry Pi GPIO; (2) komunikace MQTT; a (3) analogová čidla. Pokud vám něco z toho není známé, nebo vás to jen zajímá (buďte zvědaví!), Podívejte se na níže uvedené návody!

Raspberry Pi 3

  1. Průvodce připojením Raspberry Pi 3 Starter Kit
  2. Raspberry Pi GPIO
  3. Komunikace SPI s Raspberry Pi

Komunikační protokol MQTT

MQTT (Message Query Telemetry Transport) je populární komunikační protokol IoT. Použijeme knihovnu Paho Client Python a službu MQTT s názvem CloudMQTT. Zde je více o MQTT a jeho použití:

  1. Zkoumání komunikačních protokolů pro IoT
  2. Začínáme s CloudMQTT
  3. Přehled klientské knihovny Eclipse Paho MQTT Python

Mikrofonní odlamovací deska MEMS

Mikrofon MEMS je analogový mikrofon, takže ke čtení analogového signálu pomocí digitálních GPIO pinů Raspberry Pi budeme potřebovat převodník analogového signálu („ADC“).

  1. Začínáme s mikrofonní deskou SparkFun MEMS Breakout Board
  2. Datový list mikrofonu MEMS
  3. Datový 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 také potřebovat následující periferie: Raspberry Pi 3 Case; Karta SD (minimálně 8 GB); Raspberry Pi 3 GPIO kabel; Napájecí kabel MicroUSB; Kabel HDMI a monitor kompatibilní s HDMI; USB klávesnice; Myš USB; reproduktory s 1/8 portem pro sluchátka.

- SparkFun MEMS Mic Breakout Board

-MCP3002 (převodník analogového signálu na digitální)

-Drátěné propojovací vodiče a propojovací vodiče M-to-M Breadboard

Krok 3: Konfigurujte Raspberry Pi

Konfigurujte Raspberry Pi
Konfigurujte Raspberry Pi
Konfigurujte Raspberry Pi
Konfigurujte Raspberry Pi
Konfigurujte Raspberry Pi
Konfigurujte Raspberry Pi
Konfigurujte Raspberry Pi
Konfigurujte Raspberry Pi

Krok 1: Kontrola a instalace aktualizací Kontrola a instalace aktualizací je vždy dobrý způsob, jak začít. V okně terminálu spusťte následující příkazy:

sudo apt-get update

sudo apt-get upgrade

sudo restart

Krok 2: Nastavení rozhraní SPI pro mikrofon MEMS + MCP3002

Abychom mohli pomocí rozhraní SPI (Serial Port Interface) číst v mikrofonu MEMS prostřednictvím MCP3002, budeme potřebovat balíček Python Dev Package:

sudo apt-get install python-dev

Budeme také potřebovat rozhraní SPI (možná budete chtít vytvořit podsložku, do které to uložíte):

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

instalace sudo python setup.py

Zde je dokumentace SPI-Dev, pokud narazíte na nějaké problémy.

Krok 3: Přehrávání zvuků pomocí aplikace OMXPlayer

OMXPlayer je audio a video přehrávač s předinstalovaným operačním systémem Raspbian. Funguje s většinou typů zvukových souborů, včetně:.wav,.mp3 a.m4a. Toho budeme používat k přehrávání zvuků, až bude Fido příliš hlasitý. Knihovna Python pro ovládání OMXPlayeru je součástí Raspbian (woo!).

Chcete -li vyzkoušet OMXPlayer z terminálu, zadejte následující:

omxplayer /home/…/SongFilePath/SongFileName.mp3

Pokud to nefunguje, zkuste to přenést přes místní zařízení pro zvukový výstup:

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

Krok 4: Konfigurujte server CloudMQTT

Nyní jsme vytvořili server MQTT! Chcete -li to provést pomocí CloudMQTT, proveďte následující:

  1. Založte si účet CloudMQTT (tarif „Cute Cat“je zdarma).
  2. Vytvořte novou instanci MyCloud.
  3. V konzole vytvořte nové pravidlo ACL.
  4. Publikované zprávy můžete sledovat v uživatelském rozhraní „Websocket“.

Nakonec nainstalujte knihovnu MQTT Paho Client Python:

pip install paho-mqtt

Krok 4: Postavte to! Hardware

Postav to! Hardware
Postav to! Hardware
Postav to! Hardware
Postav to! Hardware
Postav to! Hardware
Postav to! Hardware

Pinoutové diagramy pro Raspberry Pi a MCP3002 jsou na fotografiích výše.

1. Vložte piny MCP3002 do prkénka (viz diagram vývodů výše)

MCP3002 používá pro komunikaci 4 piny SPI: Sériové hodiny („SCL“), Slave výstup hlavního vstupu („MISO“), Slave vstup hlavního výstupu („MOSI“) a Výběr čipu („CS“). Tyto piny odpovídají Raspberry Pi GPIO pin 11 (SCLK), GPIO pin 9 (MISO), GPIO Pin 10 (MOSI) a GPIO Pin 8 (CE0).

Pomocí pinů MCP3002 proveďte následující připojení:

  • Připojte Pin 1 k Raspberry Pi GPIO Pin 8 (CE0)
  • Připojte pin 2 k analogovému výstupu desky pro odpojení mikrofonu MEMS
  • Připojte pin 4 k GND
  • Připojte pin 5 k Raspberry Pi GPIO Pin 10 (MOSI)
  • Připojte pin 6 k Raspberry Pi GPIO pin 9 (MISO)
  • Připojte pin 7 k Raspberry Pi GPIO Pin 11 (SCLK)
  • Připojte pin 8 k výstupu Raspberry Pi 3.3V

2. Pájejte vodiče k rozpojovací desce mikrofonu MEMS. Připojte se k MCP3002 a Raspberry Pi

  • Připojte Vcc k Raspberry Pi 3.3V.
  • Připojte GND k Raspberry Pi GND
  • Připojte AUD ke kolíku 2 MCP3002

3. Zapojte všechny kabely k Raspberry Pi a vše zapněte

Krok 5: Postavte to! Software

Postav to! Software
Postav to! Software

Náš cíl s Bark Back je dvojí: spustit zvuk přehrávání, když pes štěká, a odeslat data na server, kde je můžeme zkontrolovat.

Zde je open-source program Python pro tento projekt. Neváhejte (a prosím udělejte) upravit a upravit kód.

Aby byl program spuštěn, musíte vyplnit dvě věci:

- songList: Napište cestu k souboru a název souboru pro každou skladbu, kterou chcete přehrát.

- kredity: Zadejte informace o CloudMQTT do tohoto slovníku.

Krok 1: Přečtěte si na desce pro odpojení mikrofonu SparkFun MEMS

Odečtěte hodnotu ADC (mezi 0 a 1023) z desky MEMS Breakout Board (prostřednictvím MCP3002) pomocí knihovny SPI a vypočítejte amplitudu signálu od špičky k vrcholu.

Namapujte amplitudu signálu od špičky k jednotce hlasitosti. Aktuální kód mapuje rozsah ADC mezi 0 a 700 (na základě rychlého experimentování) na jednotku hlasitosti mezi 0 a 10. Chcete -li upravit citlivost mikrofonu, upravte vstupní rozsah ADC.

Podrobný přehled mikrofonu MEMS najdete v tomto tutoriálu.

Krok 2: Spusťte zvukový přehrávač

Nejprve budeme ke hraní potřebovat písničky! Zvuky můžete rychle nahrávat do GarageBandu (nebo do smartphonu) a odeslat je na Raspberry Pi. V Pythonu použijte knihovnu podprocesů k volání omxplayeru.

Do kódu zadejte cestu k souboru skladeb, které chcete přehrát, do proměnné * songList * (řádek 26). Aktuální práh hlasitosti je v hlavní funkci nastaven na 7.

Krok 3: Odeslání dat na server CloudMQTT

Ke komunikaci se servery CloudMQTT použijte knihovnu Paho Client Python. Stručně shrnuto: Nastavte klientský server; definovat komunikační protokoly; spojit se s našimi přihlašovacími údaji (aka creds); a přihlásit se k odběru a publikovat naše data. Většina z toho se provádí v hlavní funkci (řádky 129 - 149 a řádky 169 - 174).

Chcete -li zkontrolovat přijatá data, přejděte v konzole CloudMQTT na kartu „Websocket UI“.

Krok 6: Test a instalace

Test a instalace!
Test a instalace!

Spusťte program BarkBack.py v Terminálu nebo v IDE Pythonu (SSH můžete také použít ke spuštění programu poté, co jste již odešli).

Zkontrolujte, zda se vám na kartě Websocket UI zobrazují úrovně hlasitosti.

Otestujte systém spuštěním mikrofonu (tleskání, řev, štěkání atd.), Abyste se ujistili, že reproduktory přehrávají všechny zvuky.

Jakmile je vše v provozu, doporučujeme pájet součásti na desku plošných spojů (PCB), pokud máte v úmyslu instalovat systém déle než jen několik dní.

Soutěž o mikrořadič 2017
Soutěž o mikrořadič 2017
Soutěž o mikrořadič 2017
Soutěž o mikrořadič 2017

Runner Up in the Microcontroller Contest 2017

Senzorová soutěž 2017
Senzorová soutěž 2017
Senzorová soutěž 2017
Senzorová soutěž 2017

První cena v soutěži Sensors Contest 2017

Doporučuje: