Indholdsfortegnelse:

IoT Pet Monitor !: 6 trin (med billeder)
IoT Pet Monitor !: 6 trin (med billeder)

Video: IoT Pet Monitor !: 6 trin (med billeder)

Video: IoT Pet Monitor !: 6 trin (med billeder)
Video: Как самой вылечить недержание мочи? Эти упражнения поднимут органы на место! 2024, November
Anonim
Image
Image
Foreslået læsning
Foreslået læsning

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

  1. Raspberry Pi 3 Starter Kit tilslutningsguide
  2. Hindbær Pi GPIO
  3. 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:

  1. Undersøgelse af kommunikationsprotokoller til IoT
  2. Kom godt i gang med CloudMQTT
  3. 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.

  1. Kom godt i gang med SparkFun MEMS Microphone Breakout Board
  2. MEMS mikrofon datablad
  3. MCP3002 ADC -datablad

Trin 2: Materialer

Materialer
Materialer
Materialer
Materialer
Materialer
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

Konfigurer Raspberry Pi
Konfigurer Raspberry Pi
Konfigurer Raspberry Pi
Konfigurer Raspberry Pi
Konfigurer Raspberry Pi
Konfigurer Raspberry Pi
Konfigurer Raspberry Pi
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:

  1. Opret en CloudMQTT -konto ("Cute Cat" -planen er gratis).
  2. Opret en ny MyCloud -forekomst.
  3. Opret en ny ACL -regel i konsollen.
  4. 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

Byg det! Hardware
Byg det! Hardware
Byg det! Hardware
Byg det! Hardware
Byg det! Hardware
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

Byg det! Software
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

Test og installer!
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.

Microcontroller konkurrence 2017
Microcontroller konkurrence 2017
Microcontroller konkurrence 2017
Microcontroller konkurrence 2017

Runner Up i Microcontroller Contest 2017

Sensors konkurrence 2017
Sensors konkurrence 2017
Sensors konkurrence 2017
Sensors konkurrence 2017

Første præmie i Sensors Contest 2017

Anbefalede: