Cuprins:
- Pasul 1: Citire sugerată
- Pasul 2: Materiale
- Pasul 3: Configurați Raspberry Pi
- Pasul 4: Construiește-l! Hardware
- Pasul 5: Construiește-l! Software
- Pasul 6: Testați și instalați
Video: Monitor IoT Pet !: 6 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:46
Fii cu ochii pe iubitele tale bebeluși și cântă muzică sau spune-le să stea tăcute în timp ce ești plecat! Acest tutorial va arăta cum să utilizați un computer Raspberry Pi pentru a monitoriza volumul de sunet din casa dvs. (prin Cloud) pentru a vedea dacă și când animalul dvs. este supărat.
Drum roll … partea cea mai amuzantă: dacă devine prea tare (cum ar fi Fido care latră sau care face ceva rău), vă vom spune că trebuie să tacă sau să cânte muzică!
Împreună cu Pi (și difuzoare), vom folosi placa de spargere a microfonului SparkFun MEMS pentru a măsura nivelurile de volum și a declanșa playerul audio. Datele sunt încărcate în serviciul CloudMQTT utilizând protocolul de comunicație MQTT.
Timp total de citire: ~ 8 min
Timp total de construcție: 60 min (mai puțin cu experiență)
O MULȚUMIRE imensă către SparkFun pentru sprijinirea acestui proiect! Consultați tutorialul aici.
Pasul 1: Citire sugerată
Pentru a construi acest proiect, veți avea nevoie de un computer Raspberry Pi 3 complet configurat, conectat la WiFi, cu sistem de operare Raspbian. De asemenea, este util să cunoașteți câteva programe Python, precum și următoarele lucruri: (1) cum să utilizați și să controlați pinii GPIO Raspberry Pi; (2) comunicare MQTT; și (3) senzori analogici. Dacă oricare dintre acestea este necunoscut sau dacă sunteți doar curioși (fiți curioși!), Consultați tutorialele de mai jos!
Raspberry Pi 3
- Ghid de conectare la Raspberry Pi 3 Starter Kit
- Raspberry Pi GPIO
- Comunicare SPI cu Raspberry Pi
Protocol de comunicare MQTT
MQTT (Message Query Telemetry Transport) este un protocol de comunicare IoT popular. Vom folosi biblioteca Paho Client Python și un serviciu MQTT numit CloudMQTT. Iată mai multe despre MQTT și cum să îl utilizați:
- Explorarea protocoalelor de comunicare pentru IoT
- Noțiuni introductive despre CloudMQTT
- Prezentare generală a bibliotecii client Eclipse Paho MQTT Python
MEMS Microfon Breakout Board
Microfonul MEMS este un microfon analogic, deci vom avea nevoie de un convertor analog-digital („ADC”) pentru a citi semnalul analogic cu pinii GPIO digitale Raspberry Pi.
- Noțiuni introductive despre placa SparkFun MEMS Microphone Breakout Board
- Foaie de date cu microfon MEMS
- Foaie de date MCP3002 ADC
Pasul 2: Materiale
- Raspberry Pi 3 Model B
De asemenea, vom avea nevoie de următoarele periferice: Raspberry Pi 3 Case; Card SD (minim 8 GB); Cablu Raspberry Pi 3 GPIO; Cablu de alimentare MicroUSB; Cablu HDMI și monitor compatibil HDMI; Tastatură USB; Mouse USB; difuzoare cu port pentru căști de 1/8.
- Placă SparkFun MEMS Mic Breakout
- MCP3002 (Convertor analog-digital)
- Sârmă de panou pentru panouri și panouri de panouri M-to-M
Pasul 3: Configurați Raspberry Pi
Pasul 1: Verificați și instalați actualizările Verificarea și instalarea actualizărilor este întotdeauna o modalitate bună de a începe. Rulați următoarele comenzi în fereastra terminalului:
sudo apt-get update
sudo apt-get upgrade
reporniți sudo
Pasul 2: Configurați interfața SPI pentru microfonul MEMS + MCP3002
Pentru a utiliza SPI (Serial Port Interface) pentru a citi în microfonul MEMS prin MCP3002, vom avea nevoie de pachetul Python Dev:
sudo apt-get install python-dev
De asemenea, vom avea nevoie de interfața SPI (poate doriți să creați un subfolder pentru a salva acest lucru):
git clone git: //github.com/doceme/py-spidev
sudo python setup.py instalare
Iată Documentația SPI-Dev dacă întâmpinați probleme.
Pasul 3: Redarea sunetelor cu OMXPlayer
OMXPlayer este un player audio și video preîncărcat pe sistemul de operare Raspbian. Funcționează cu majoritatea tipurilor de fișiere audio, inclusiv:.wav,.mp3 și.m4a. Iată ce vom folosi pentru a reda sunete atunci când Fido devine prea tare. Biblioteca Python pentru controlul OMXPlayer este inclusă în Raspbian (woo!).
Pentru a testa OMXPlayer de pe terminal, tastați următoarele:
omxplayer /home/…/SongFilePath/SongFileName.mp3
Dacă acest lucru nu funcționează, încercați să îl forțați pe dispozitivul audio local:
omxplayer -o local /home/…/SongFilePath/SongFileName.mp3
Pasul 4: configurați serverul CloudMQTT
Acum am creat un server MQTT! Pentru a face acest lucru folosind CloudMQTT, procedați în felul următor:
- Configurați un cont CloudMQTT (planul „Cute Cat” este gratuit).
- Creați o nouă instanță MyCloud.
- În Consolă, creați o nouă regulă ACL.
- Puteți monitoriza mesajele publicate în interfața de utilizare „Websocket”.
În cele din urmă, instalați biblioteca Python Client MQTT Paho:
pip instala paho-mqtt
Pasul 4: Construiește-l! Hardware
Diagramele Pinout pentru Raspberry Pi și MCP3002 sunt în fotografiile de mai sus.
1. Introduceți pinii MCP3002 în panoul de verificare (a se vedea diagrama pinout de mai sus)
MCP3002 folosește 4 pini SPI pentru comunicații: Serial Clock ("SCL"), Master Input Slave Output ("MISO"), Master Output Slave Input ("MOSI") și Chip Select ("CS"). Acești pini corespund pinului GPIO Raspberry Pi 11 (SCLK), pinului GPIO 9 (MISO), pinului GPIO 10 (MOSI) și pinului GPIO 8 (CE0).
Faceți următoarele conexiuni cu pinii MCP3002:
- Conectați Pinul 1 la Raspberry Pi GPIO Pin 8 (CE0)
- Conectați pinul 2 la ieșirea analogică a plăcii de separare a microfonului MEMS
- Conectați pinul 4 la GND
- Conectați Pinul 5 la Raspberry Pi GPIO Pin 10 (MOSI)
- Conectați Pinul 6 la Raspberry Pi GPIO Pinul 9 (MISO)
- Conectați Pinul 7 la Raspberry Pi GPIO Pinul 11 (SCLK)
- Conectați Pinul 8 la ieșirea Raspberry Pi 3.3V
2. Cabluri de lipit pe placa de separare a microfonului MEMS. Conectați-vă la MCP3002 și Raspberry Pi
- Conectați Vcc la Raspberry Pi 3.3V.
- Conectați GND la Raspberry Pi GND
- Conectați AUD la pinul 2 MCP3002
3. Conectați toate cablurile pentru Raspberry Pi și porniți totul
Pasul 5: Construiește-l! Software
Scopul nostru cu Bark Back este dublu: să declanșăm un sunet de redare atunci când câinele latră și să trimitem datele către un server de unde să le putem verifica.
Iată programul Python open-source pentru acest proiect. Simțiți-vă liber să (și vă rugăm să faceți) să ajustați și să modificați codul.
Pentru a pune în funcțiune programul, trebuie să completați două lucruri:
- SongList: scrieți în calea fișierului și numele fișierului pentru fiecare dintre melodiile pe care doriți să le redați.
- credite: introduceți informațiile dvs. CloudMQTT în acest dicționar.
Pasul 1: Citiți în placa de separare a microfonului SparkFun MEMS
Citiți valoarea ADC (între 0 și 1023) de pe placa de separare a microfonului MEMS (prin MCP3002) utilizând biblioteca SPI și calculați amplitudinea vârf-la-vârf a semnalului.
Asociați amplitudinea vârf-vârf a semnalului la o unitate de volum. Codul actual mapează intervalul ADC între 0 și 700 (pe baza experimentării rapide) la o unitate de volum între 0 și 10. Pentru a regla sensibilitatea microfonului, reglați intervalul de intrare ADC.
Pentru o prezentare detaliată a microfonului MEMS, consultați acest tutorial.
Pasul 2: declanșează playerul audio
Mai întâi vom avea nevoie de melodii pentru a le juca! Puteți înregistra rapid sunete în GarageBand (sau pe smartphone) și le puteți trimite la Raspberry Pi. În Python, utilizați biblioteca subproces pentru a apela omxplayer.
În cod, introduceți calea fișierului melodiilor pe care doriți să le redați în variabila * songList * (linia 26). Pragul de volum curent este setat la 7 în funcția principală.
Pasul 3: trimiteți date către serverul CloudMQTT
Utilizați biblioteca Paho Client Python pentru a comunica cu serverele CloudMQTT. Pentru a rezuma pe larg: configurați un server Client; definirea protocoalelor de comunicare; conectați-vă cu acreditările noastre (aka credite); și abonați-vă și publicați datele noastre. Majoritatea acestui lucru se face în funcția principală (liniile 129 - 149 și liniile 169 - 174).
Pentru a verifica datele primite, accesați fila „Websocket UI” din consola CloudMQTT.
Pasul 6: Testați și instalați
Rulați programul BarkBack.py în Terminal sau în Python IDE (puteți utiliza și SSH pentru a rula programul după ce ați plecat deja).
Verificați dacă obțineți niveluri de volum în fila UI Websocket.
Testați sistemul declanșând microfonul (bate, țipă, scoarță etc.) pentru a vă asigura că difuzoarele redă toate sunetele.
Odată ce totul este în funcțiune, este recomandat să lipiți componentele pe un PCB (circuit imprimat) dacă intenționați să instalați sistemul mai mult de doar câteva zile.
Locul doi în concursul de microcontrolere 2017
Premiul I la Concursul de senzori 2017
Recomandat:
Pet Bot: 6 pași (cu imagini)
Pet Bot: Credit: Acest proiect este inspirat de Beetlebot de robomaniac. Actualizare: De atunci am redenumit acest lucru în Pet Bot. (Videoclipul încă îl arată ca Catfish Bot) Învăț robotica tinerilor producători pe platformele ESP8266, Arduino și Raspberry PI și una dintre provocări
Un monitor de calitate a aerului IoT la preț redus bazat pe RaspberryPi 4: 15 Pași (cu imagini)
Un monitor al calității aerului IoT la preț redus, bazat pe RaspberryPi 4: Santiago, Chile, în timpul unei urgențe de mediu de iarnă, au privilegiul de a trăi într-una dintre cele mai frumoase țări din lume, dar, din păcate, nu toate sunt trandafiri. Chile în timpul sezonului de iarnă suferă foarte mult cu contaminarea aerului, mai
Cutter PET D4E1 (Artmaker02): 9 pași (cu imagini)
Cutter PET D4E1 (Artmaker02): Ce face acest tăietor de sticle? Această mașină taie sticle de plastic reciclat (PET) în inele sau spirale cu un cuțit încălzit într-o incintă sigură care poate fi utilizată în siguranță de toată lumea. De ce am făcut asta și cine este pentru? Suntem un grup de industria D
Creeper-BOT (Creeper Pet): 9 pași (cu imagini)
Creeper-BOT (Creeper Pet): Întotdeauna mi-am dorit să-mi fac un robot patruped propriu, iar concursul Minecraft a fost o scuză bună. În plus, îmi doream cu adevărat un „animal de companie” Creeper. În acest instructabil, vă voi împărtăși modul în care l-am realizat și vă voi oferi un ghid dacă doriți să vă creați propriul dvs. Presupun că aveți
Monitor de confidențialitate piratat de pe un monitor LCD vechi: 7 pași (cu imagini)
Monitor de confidențialitate piratat de pe un monitor LCD vechi: În cele din urmă puteți face ceva cu acel monitor LCD vechi pe care îl aveți în garaj. Îl puteți transforma într-un monitor de confidențialitate! Arată complet alb pentru toată lumea, cu excepția dvs., pentru că purtați „magie” ochelari! Tot ce trebuie să aveți este un pa