Indholdsfortegnelse:
- Trin 1: Foreslået læsning
- Trin 2: Materialer
- Trin 3: Konfigurer Raspberry Pi
- Trin 4: Byg det! Hardware
- Trin 5: Byg det! Software
- Trin 6: Test og installer
Video: IoT Pet Monitor !: 6 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
Hold øje med dine elskede bbies og spil musik eller bed dem om at være stille, mens du er væk! Denne vejledning viser, hvordan du bruger en Raspberry Pi -computer til at overvåge lydstyrken i dit hjem (via skyen) for at se, om og hvornår dit kæledyr er ked af det.
Trommelrulle … den sjoveste del: Hvis det bliver for højt (som om Fido gøer eller laver noget andet rystende), kan vi fortælle dem at være stille eller spille musik!
Sammen med Pi (og højttalere) bruger vi SparkFun MEMS mikrofonudbrudskortet til at måle lydstyrken og udløse lydafspilleren. Data uploades til CloudMQTT -tjenesten ved hjælp af MQTT -kommunikationsprotokollen.
Samlet læsetid: ~ 8 min
Samlet byggetid: 60 minutter (mindre m/ erfaren)
En kæmpe TAK til SparkFun for at støtte dette projekt! Tjek selvstudiet her.
Trin 1: Foreslået læsning
For at bygge dette projekt skal du have en fuldt konfigureret, WiFi-tilsluttet Raspberry Pi 3-computer med Raspbian OS. Det er også nyttigt at kende noget Python -programmering samt følgende ting: (1) hvordan man bruger og styrer Raspberry Pi GPIO -benene; (2) MQTT -kommunikation; og (3) analoge sensorer. Hvis noget af dette er ukendt, eller hvis du bare er nysgerrig (vær nysgerrig!), Så tjek selvstudierne herunder!
Raspberry Pi 3
- Raspberry Pi 3 Starter Kit tilslutningsguide
- Hindbær Pi GPIO
- SPI -kommunikation med Raspberry Pi
MQTT kommunikationsprotokol
MQTT (Message Query Telemetry Transport) er en populær IoT -kommunikationsprotokol. Vi bruger Paho Client Python -biblioteket og en MQTT -service kaldet CloudMQTT. Her er mere om MQTT og hvordan du bruger det:
- Undersøgelse af kommunikationsprotokoller til IoT
- Kom godt i gang med CloudMQTT
- Oversigt over Eclipse Paho MQTT Python -klientbibliotek
MEMS Microphone Breakout Board
MEMS-mikrofonen er en analog mikrofon, så vi skal bruge en analog-til-digital-konverter ("ADC") for at læse det analoge signal med Raspberry Pi digitale GPIO-benene.
- Kom godt i gang med SparkFun MEMS Microphone Breakout Board
- MEMS mikrofon datablad
- MCP3002 ADC -datablad
Trin 2: Materialer
- Raspberry Pi 3 Model B
Vi skal også bruge følgende eksterne enheder: Raspberry Pi 3 -kuffert; SD -kort (minimum 8 GB); Raspberry Pi 3 GPIO -kabel; MicroUSB strømkabel; HDMI-kabel og HDMI-kompatibel skærm; USB -tastatur; USB mus; højttalere med 1/8 hovedtelefonport.
- SparkFun MEMS Mic Breakout Board
-MCP3002 (analog-til-digital konverter)
-Breadboard & M-to-M Breadboard Jumper Wires
Trin 3: Konfigurer Raspberry Pi
Trin 1: Kontroller og installer opdateringer Søgning efter og installation af opdateringer er altid en god måde at starte. Kør følgende kommandoer i terminalvinduet:
sudo apt-get opdatering
sudo apt-get opgradering
sudo genstart
Trin 2: Konfigurer SPI -interface til MEMS -mikrofon + MCP3002
For at bruge SPI (Serial Port Interface) til at læse i MEMS -mikrofonen via MCP3002 skal vi bruge Python Dev -pakken:
sudo apt-get install python-dev
Vi skal også bruge SPI -grænsefladen (vil måske oprette en undermappe for at gemme dette i):
git-klon git: //github.com/doceme/py-spidev
sudo python setup.py installation
Her er SPI-Dev-dokumentationen, hvis du støder på problemer.
Trin 3: Afspilning af lyde med OMXPlayer
OMXPlayer er en lyd- og videoafspiller forudindlæst på Raspbian OS. Det fungerer med de fleste lydfiltyper, herunder:.wav,.mp3 og.m4a. Det er det, vi vil bruge til at afspille lyde, når Fido bliver for høj. Python -biblioteket til styring af OMXPlayer er inkluderet i Raspbian (woo!).
For at teste OMXPlayer fra terminalen skal du skrive følgende:
omxplayer /home/…/SongFilePath/SongFileName.mp3
Hvis det ikke virker, kan du prøve at tvinge det over den lokale lydudgangsenhed:
omxplayer -o local /home/…/SongFilePath/SongFileName.mp3
Trin 4: Konfigurer CloudMQTT -server
Nu har vi oprettet en MQTT -server! Gør følgende for at gøre dette ved hjælp af CloudMQTT:
- Opret en CloudMQTT -konto ("Cute Cat" -planen er gratis).
- Opret en ny MyCloud -forekomst.
- Opret en ny ACL -regel i konsollen.
- Du kan overvåge offentliggjorte meddelelser i "Websocket" UI.
Endelig skal du installere MQTT Paho Client Python -biblioteket:
pip installer paho-mqtt
Trin 4: Byg det! Hardware
Pinout -diagrammer til Raspberry Pi og MCP3002 er på billederne ovenfor.
1. Sæt MCP3002 stifter i brødbrættet (se pinout diagram ovenfor)
MCP3002 bruger 4 SPI -ben til kommunikation: Serielt ur ("SCL"), Master Input Slave Output ("MISO"), Master Output Slave Input ("MOSI") og Chip Select ("CS"). Disse ben svarer til Raspberry Pi GPIO pin 11 (SCLK), GPIO pin 9 (MISO), GPIO Pin 10 (MOSI) og GPIO Pin 8 (CE0).
Foretag følgende forbindelser med MCP3002 ben:
- Tilslut pin 1 til Raspberry Pi GPIO Pin 8 (CE0)
- Tilslut pin 2 til den analoge udgang på MEMS -mikrofonbrudkortet
- Tilslut Pin 4 til GND
- Tilslut Pin 5 til Raspberry Pi GPIO Pin 10 (MOSI)
- Tilslut Pin 6 til Raspberry Pi GPIO pin 9 (MISO)
- Tilslut Pin 7 til Raspberry Pi GPIO Pin 11 (SCLK)
- Tilslut Pin 8 til Raspberry Pi 3.3V ud
2. Loddekabler til MEMS -mikrofonudbrudskortet. Tilslut til MCP3002 og Raspberry Pi
- Tilslut Vcc til Raspberry Pi 3.3V.
- Tilslut GND til Raspberry Pi GND
- Tilslut AUD til MCP3002 Pin 2
3. Tilslut alle kablerne til Raspberry Pi og tænd alt
Trin 5: Byg det! Software
Vores mål med Bark Back er todelt: udløs en afspilningslyd, når hunden gøer, og send dataene til en server, hvor vi kan kontrollere det.
Her er open-source Python-programmet til dette projekt. Du er velkommen til (og bedes) justere og ændre koden.
For at få programmet i gang skal du udfylde to ting:
- songList: Skriv filstien og filnavnet for hver af de sange, du vil afspille.
- cred: Indtast dine CloudMQTT -oplysninger i denne ordbog.
Trin 1: Læs i SparkFun MEMS mikrofonudbrudstavlen
Aflæs ADC-værdien (mellem 0 og 1023) fra MEMS-mikrofonudbrudskortet (via MCP3002) ved hjælp af SPI-biblioteket og beregne signalet peak-to-peak amplitude.
Kortlæg signalet fra top til top amplitude til en volumenhed. Den aktuelle kode kortlægger ADC -området mellem 0 og 700 (baseret på hurtige eksperimenter) til en volumenhed mellem 0 og 10. For at justere mikrofonens følsomhed skal du justere ADC -inputområdet.
For en grundig oversigt over MEMS -mikrofonen, tjek denne vejledning.
Trin 2: Udløs lydafspiller
Først skal vi bruge sange til at spille! Du kan hurtigt optage lyde i GarageBand (eller på din smartphone) og sende dem til Raspberry Pi. I Python skal du bruge delprocesbiblioteket til at kalde omxplayer.
I koden skal du indtaste filstien for de sange, du vil afspille, i variablen * songList * (linje 26). Den aktuelle lydstyrketærskel er sat til 7 i hovedfunktionen.
Trin 3: Send data til CloudMQTT Server
Brug Paho Client Python -biblioteket til at kommunikere med CloudMQTT -serverne. For at opsummere stort set: Opret en klientserver; definere kommunikationsprotokoller; oprette forbindelse til vores legitimationsoplysninger (alias legitimationsoplysninger); og abonnere og offentliggøre vores data. Det meste af dette gøres i hovedfunktionen (linje 129 - 149 og linjer 169 - 174).
For at kontrollere modtagne data skal du gå til fanen "Websocket UI" i CloudMQTT -konsollen.
Trin 6: Test og installer
Kør BarkBack.py -programmet i Terminal eller i Python IDE (du kan også bruge SSH til at køre programmet, når du allerede har forladt).
Kontroller, at du får lydstyrkeniveauer i din Websocket UI -fane.
Test systemet ved at udløse mikrofonen (klappe, råbe, bark osv.) For at være sikker på, at højttalerne afspiller alle lydene.
Når alt er i gang, anbefales det at lodde komponenterne til et printkort (Printed Circuit Board), hvis du har til hensigt at installere systemet i mere end blot et par dage.
Runner Up i Microcontroller Contest 2017
Første præmie i Sensors Contest 2017
Anbefalede:
Leo: Pet Cat: 7 trin (med billeder)
Leo: Pet Cat: Hej, Dette er mine første instruktioner. Den første version af " Sony Aibo Robot (1999) " tiltrukket mig til robotteknologi i en alder af fire, lige siden var det min drøm at lave en kæledyrsrobot til mig. Så jeg fandt på " Leo: Pet Cat " w
SmartPET - Smart Pet Feeder: 7 trin (med billeder)
SmartPET - Smart Pet Feeder: Hej! Jeg er Maxime Vermeeren, en 18 år gammel MCT (Multimedia og kommunikationsteknologi) studerende på Howest. Jeg har valgt at oprette en smart dyrefoder som mit projekt. Hvorfor lavede jeg dette? Min kat har nogle vægtproblemer, så jeg besluttede mig for at lave en maskine til
Pet Bot: 6 trin (med billeder)
Pet Bot: Kredit: Dette projekt er inspireret af Beetlebot af robomaniac.Update: Jeg har siden omdøbt dette til Pet Bot. (Videoen viser den stadig som Catfish Bot) Jeg underviser robotter i unge producenter på ESP8266, Arduino og Raspberry PI platforme og en af udfordringerne
Pet Feedermaskine med RasPi og Telegram Bot: 4 trin (med billeder)
Pet Feeder Machine Med RasPi og Telegram Bot: Først og fremmest skal jeg præcisere, at dette ikke er en original Idemine, bare opdater og tilpas programmerings scripts til at arbejde med telegram, jeg fandt det i en tidligere Instructable, så kreditterne virkelig er forfatter til det. Du kunne se den spanske
IoT Outdoor Pet Door: 6 trin (med billeder)
IoT Outdoor Pet Door: Jeg blev inspireret af denne instruktive til at oprette en automatisk hønsegardør. Jeg ville ikke kun have hønsegårdsdøren på en timer, men jeg ville også forbinde døren til internettet, så jeg kunne styre den med min telefon eller min computer. Denne d