Innehållsförteckning:

IoT Pet Monitor !: 6 steg (med bilder)
IoT Pet Monitor !: 6 steg (med bilder)

Video: IoT Pet Monitor !: 6 steg (med bilder)

Video: IoT Pet Monitor !: 6 steg (med bilder)
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, November
Anonim
Image
Image
Föreslagen läsning
Föreslagen läsning

Håll ett öga på dina älskade bbies och spela musik eller be dem vara tysta medan du är borta! Denna handledning visar hur du använder en Raspberry Pi -dator för att övervaka ljudvolymen i ditt hem (via molnet) för att se om och när ditt husdjur är upprörd.

Trumma … den roligaste delen: Om det blir för högt (som att Fido skäller eller gör något annat häftigt) kan vi säga att de ska vara tysta eller spela musik!

Tillsammans med Pi (och högtalare) använder vi SparkFun MEMS -mikrofonbrytarkortet för att mäta volymnivåer och trigga ljudspelaren. Data laddas upp till CloudMQTT -tjänsten med MQTT -kommunikationsprotokollet.

Total lästid: ~ 8 min

Total byggtid: 60 min (mindre med erfarenhet)

Ett stort TACK till SparkFun för att ni stött detta projekt! Kolla in handledningen här.

Steg 1: Föreslagen läsning

För att bygga detta projekt behöver du en fullt konfigurerad, WiFi-ansluten Raspberry Pi 3-dator med Raspbian OS. Det är också bra att känna till lite Python -programmering samt följande saker: (1) hur man använder och styr Raspberry Pi GPIO -stiften; (2) MQTT -kommunikation; och (3) analoga sensorer. Om något av detta är okänt, eller om du bara är nyfiken (var nyfiken!), Kolla in självstudierna nedan!

Raspberry Pi 3

  1. Raspberry Pi 3 Anslutningsguide för startpaket
  2. Raspberry Pi GPIO
  3. SPI -kommunikation med Raspberry Pi

MQTT -kommunikationsprotokoll

MQTT (Message Query Telemetry Transport) är ett populärt IoT -kommunikationsprotokoll. Vi använder Paho Client Python -biblioteket och en MQTT -tjänst som kallas CloudMQTT. Här är mer om MQTT och hur du använder det:

  1. Utforska kommunikationsprotokoll för IoT
  2. Komma igång med CloudMQTT
  3. Översikt över Eclipse Paho MQTT Python -klientbibliotek

MEMS Microphone Breakout Board

MEMS-mikrofonen är en analog mikrofon, så vi behöver en analog-till-digital-omvandlare ("ADC") för att läsa in den analoga signalen med Raspberry Pi digitala GPIO-stift.

  1. Komma igång med SparkFun MEMS Microphone Breakout Board
  2. MEMS mikrofondatablad
  3. MCP3002 ADC -datablad

Steg 2: Material

Material
Material
Material
Material
Material
Material

- Raspberry Pi 3 Model B

Vi behöver också följande kringutrustning: Raspberry Pi 3 -fodral; SD -kort (minst 8 GB); Raspberry Pi 3 GPIO -kabel; MicroUSB strömkabel; HDMI-kabel och HDMI-kompatibel bildskärm; USB -tangentbord; USB -mus; högtalare med 1/8 hörlursport.

- SparkFun MEMS Mic Breakout Board

-MCP3002 (analog-till-digital-omvandlare)

-Brödbräda & M-till-M brödbräda

Steg 3: Konfigurera Raspberry Pi

Konfigurera Raspberry Pi
Konfigurera Raspberry Pi
Konfigurera Raspberry Pi
Konfigurera Raspberry Pi
Konfigurera Raspberry Pi
Konfigurera Raspberry Pi
Konfigurera Raspberry Pi
Konfigurera Raspberry Pi

Steg 1: Kontrollera och installera uppdateringar Att söka efter och installera uppdateringar är alltid ett bra sätt att börja. Kör följande kommandon i terminalfönstret:

sudo apt-get uppdatering

sudo apt-get uppgradering

sudo starta om

Steg 2: Konfigurera SPI -gränssnitt för MEMS -mikrofon + MCP3002

För att använda SPI (Serial Port Interface) för att läsa i MEMS -mikrofonen via MCP3002 behöver vi Python Dev -paketet:

sudo apt-get install python-dev

Vi behöver också SPI -gränssnittet (kanske vill skapa en undermapp för att spara detta i):

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

sudo python setup.py installera

Här är SPI-Dev-dokumentationen om du stöter på några problem.

Steg 3: Spela ljud med OMXPlayer

OMXPlayer är en ljud- och videospelare förinstallerad på Raspbian OS. Det fungerar med de flesta ljudfiltyper, inklusive:.wav,.mp3 och.m4a. Detta är vad vi kommer att använda för att spela upp ljud när Fido blir för högt. Python -biblioteket för att styra OMXPlayer ingår i Raspbian (woo!).

För att testa OMXPlayer från terminalen, skriv följande:

omxplayer /home/…/SongFilePath/SongFileName.mp3

Om det inte fungerar, försök tvinga det över den lokala ljudutgångsenheten:

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

Steg 4: Konfigurera CloudMQTT -server

Nu har vi skapat en MQTT -server! Gör så här med CloudMQTT:

  1. Skapa ett CloudMQTT -konto ("Cute Cat" -planen är gratis).
  2. Skapa en ny MyCloud -instans.
  3. Skapa en ny ACL -regel i konsolen.
  4. Du kan övervaka publicerade meddelanden i gränssnittet "Websocket".

Slutligen installerar du MQTT Paho Client Python -biblioteket:

pip installera paho-mqtt

Steg 4: Bygg det! Hårdvara

Bygg det! Hårdvara
Bygg det! Hårdvara
Bygg det! Hårdvara
Bygg det! Hårdvara
Bygg det! Hårdvara
Bygg det! Hårdvara

Pinout -diagram för Raspberry Pi och MCP3002 finns på bilderna ovan.

1. Sätt i MCP3002 -stiften i brödbrädet (se pinout -diagram ovan)

MCP3002 använder 4 SPI -stift för kommunikation: Serial Clock ("SCL"), Master Input Slave Output ("MISO"), Master Output Slave Input ("MOSI") och Chip Select ("CS"). Dessa stift motsvarar Raspberry Pi GPIO pin 11 (SCLK), GPIO pin 9 (MISO), GPIO Pin 10 (MOSI) och GPIO Pin 8 (CE0).

Gör följande anslutningar med MCP3002 -stift:

  • Anslut Pin 1 till Raspberry Pi GPIO Pin 8 (CE0)
  • Anslut stift 2 till den analoga utgången på MEMS -mikrofonbrytarkortet
  • Anslut stift 4 till GND
  • Anslut Pin 5 till Raspberry Pi GPIO Pin 10 (MOSI)
  • Anslut Pin 6 till Raspberry Pi GPIO pin 9 (MISO)
  • Anslut stift 7 till Raspberry Pi GPIO Pin 11 (SCLK)
  • Anslut stift 8 till Raspberry Pi 3.3V ut

2. Lödkablar till MEMS -mikrofonbrytarkortet. Anslut till MCP3002 och Raspberry Pi

  • Anslut Vcc till Raspberry Pi 3.3V.
  • Anslut GND till Raspberry Pi GND
  • Anslut AUD till MCP3002 Pin 2

3. Anslut alla kablar till Raspberry Pi och sätt på allt

Steg 5: Bygg det! programvara

Bygg det! programvara
Bygg det! programvara

Vårt mål med Bark Back är tvåfaldigt: aktivera ett uppspelningsljud när hunden skäller och skicka data till en server där vi kan kontrollera det.

Här är Python-programmet med öppen källkod för detta projekt. Du kan (och snälla) justera och ändra koden.

För att få igång programmet måste du fylla i två saker:

- songList: Skriv in filvägen och filnamnet för alla låtar du vill spela.

- cred: Ange din CloudMQTT -information i denna ordbok.

Steg 1: Läs i SparkFun MEMS -mikrofonbrytarkortet

Läs in ADC-värdet (mellan 0 och 1023) från MEMS-mikrofonbrytarkortet (via MCP3002) med hjälp av SPI-biblioteket och beräkna signalen topp-till-topp-amplitud.

Kartlägga signalens topp-till-topp-amplitud till en volymenhet. Den aktuella koden kartlägger ADC -intervallet mellan 0 och 700 (baserat på snabba experiment) till en volymenhet mellan 0 och 10. För att justera mikrofonens känslighet, justera ADC -ingångsområdet.

För en grundlig översikt av MEMS -mikrofonen, kolla in den här självstudien.

Steg 2: Utlös ljudspelare

Först behöver vi låtar för att spela! Du kan snabbt spela in ljud i GarageBand (eller på din smartphone) och skicka dem till Raspberry Pi. I Python, använd delprocessbiblioteket för att ringa omxplayer.

I koden anger du filvägen för de låtar du vill spela upp i variabeln * songList * (rad 26). Den nuvarande volymgränsen är inställd på 7 i huvudfunktionen.

Steg 3: Skicka data till CloudMQTT Server

Använd Paho Client Python -biblioteket för att kommunicera med CloudMQTT -servrarna. För att i stora drag sammanfatta: Skapa en klientserver; definiera kommunikationsprotokoll; ansluta till våra referenser (aka creds); och prenumerera och publicera vår data. Det mesta görs i huvudfunktionen (rad 129 - 149 och rad 169 - 174).

För att kontrollera mottagna data, gå till fliken "Websocket UI" i CloudMQTT -konsolen.

Steg 6: Testa och installera

Testa och installera!
Testa och installera!

Kör BarkBack.py -programmet i Terminal eller i Python IDE (du kan också använda SSH för att köra programmet efter att du redan har lämnat).

Kontrollera att du får volymnivåer på fliken Websocket UI.

Testa systemet genom att aktivera mikrofonen (klappa, skrika, skälla, etc.) för att vara säker på att högtalarna spelar igenom alla ljud.

När allt är igång rekommenderas att lödda komponenterna till ett kretskort (Printed Circuit Board) om du tänker installera systemet i mer än bara några dagar.

Tävling för mikrokontroller 2017
Tävling för mikrokontroller 2017
Tävling för mikrokontroller 2017
Tävling för mikrokontroller 2017

Tvåa i Microcontroller Contest 2017

Sensors Contest 2017
Sensors Contest 2017
Sensors Contest 2017
Sensors Contest 2017

Första pris i Sensors Contest 2017

Rekommenderad: