Obsah:
- Krok 1: Doporučené čtení
- Krok 2: Materiály
- Krok 3: Konfigurujte Raspberry Pi
- Krok 4: Postavte to! Hardware
- Krok 5: Postavte to! Software
- Krok 6: Test a instalace
Video: IoT Pet Monitor !: 6 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:24
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
- Průvodce připojením Raspberry Pi 3 Starter Kit
- Raspberry Pi GPIO
- 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í:
- Zkoumání komunikačních protokolů pro IoT
- Začínáme s CloudMQTT
- 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“).
- Začínáme s mikrofonní deskou SparkFun MEMS Breakout Board
- Datový list mikrofonu MEMS
- Datový list ADC MCP3002
Krok 2: 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
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í:
- Založte si účet CloudMQTT (tarif „Cute Cat“je zdarma).
- Vytvořte novou instanci MyCloud.
- V konzole vytvořte nové pravidlo ACL.
- 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
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
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
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í.
Runner Up in the Microcontroller Contest 2017
První cena v soutěži Sensors Contest 2017
Doporučuje:
Leo: Pet Cat: 7 kroků (s obrázky)
Leo: Pet Cat: Dobrý den, toto je můj první pokyn. První verze " Sony Aibo Robot (1999) " ve čtyřech letech mě přitahoval k robotice, od té doby bylo mým snem udělat pro mě domácího robota. A tak jsem vymyslel " Leo: Pet Cat " w
SmartPET - Smart Pet Feeder: 7 kroků (s obrázky)
SmartPET - Smart Pet Feeder: Hej! Jsem Maxime Vermeeren, 18letý student MCT (multimediální a komunikační technologie) na Howest. Jako svůj projekt jsem se rozhodl vytvořit chytré krmítko pro zvířata. Proč jsem to udělal? Moje kočka má nějaké problémy s hmotností, tak jsem se rozhodl vyrobit stroj
Pet Bot: 6 kroků (s obrázky)
Pet Bot: Kredit: Tento projekt je inspirován Beetlebot od robomaniac.Update: Od té doby jsem to přejmenoval na Pet Bot. (Video to stále ukazuje jako Catfish Bot) Učím robotiku pro mladé výrobce na platformách ESP8266, Arduino a Raspberry PI a jednu z výzev
Pet Robot Ball: 10 kroků (s obrázky)
Pet Robot Ball: Můj mazlíček si rád hraje s hračkami, zejména s těmi, které může stíhat! Postavil jsem robotickou kouli, která se automaticky zapne a rozjede, kdykoli s ní interaguje, upozorní mě prostřednictvím mobilního telefonu, pomocí kterého ji pak mohu ovládat přes WiFi a plout
IoT Outdoor Pet Door: 6 kroků (s obrázky)
IoT Outdoor Pet Door: Inspiroval mě tento návod k vytvoření automatických dveří kurníku. Chtěl jsem nejen, aby dveře kurníku byly na časovači, ale chtěl jsem také připojit dveře k internetu, abych je mohl ovládat telefonem nebo počítačem. Tento d