Sommario:
- Passaggio 1: lettura suggerita
- Passaggio 2: materiali
- Passaggio 3: configura il Raspberry Pi
- Passaggio 4: costruiscilo! Hardware
- Passaggio 5: costruiscilo! Software
- Passaggio 6: prova e installa
Video: IoT Pet Monitor!: 6 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
Tieni d'occhio i tuoi amati bbies e metti musica o dì loro di stare zitti mentre sei via! Questo tutorial mostrerà come utilizzare un computer Raspberry Pi per monitorare il volume del suono nella tua casa (tramite il Cloud) per vedere se e quando il tuo animale domestico è arrabbiato.
Rullo di tamburi… la parte più divertente: se diventa troppo rumoroso (come Fido che abbaia o fa qualche altro rauco), puoi dire loro di stare zitti o di mettere della musica!
Insieme al Pi (e agli altoparlanti), utilizzeremo la scheda breakout del microfono SparkFun MEMS per misurare i livelli di volume e attivare il lettore audio. I dati vengono caricati sul servizio CloudMQTT utilizzando il protocollo di comunicazione MQTT.
Tempo di lettura totale: ~ 8 min
Tempo di costruzione totale: 60 min (meno con esperienza)
Un enorme GRAZIE a SparkFun per aver supportato questo progetto! Dai un'occhiata al tutorial qui.
Passaggio 1: lettura suggerita
Per creare questo progetto, avrai bisogno di un computer Raspberry Pi 3 completamente configurato e connesso tramite WiFi con sistema operativo Raspbian. È anche utile conoscere un po' di programmazione Python e le seguenti cose: (1) come utilizzare e controllare i pin GPIO di Raspberry Pi; (2) comunicazione MQTT; e (3) sensori analogici. Se qualcuno di questi non è familiare, o se sei solo curioso (sii curioso!), dai un'occhiata ai tutorial qui sotto!
Raspberry Pi 3
- Guida al collegamento del kit di avvio Raspberry Pi 3
- Raspberry Pi GPIO
- Comunicazione SPI con il Raspberry Pi
Protocollo di comunicazione MQTT
MQTT (Message Query Telemetry Transport) è un popolare protocollo di comunicazione IoT. Useremo la libreria Paho Client Python e un servizio MQTT chiamato CloudMQTT. Ecco di più su MQTT e su come usarlo:
- Esplorazione dei protocolli di comunicazione per IoT
- Iniziare con CloudMQTT
- Panoramica della libreria client Python MQTT di Eclipse Paho
Scheda di breakout per microfono MEMS
Il microfono MEMS è un microfono analogico, quindi avremo bisogno di un convertitore analogico-digitale ("ADC") per leggere il segnale analogico con i pin GPIO digitali di Raspberry Pi.
- Iniziare con la scheda di breakout del microfono MEMS SparkFun
- Scheda tecnica del microfono MEMS
- Scheda tecnica ADC MCP3002
Passaggio 2: materiali
- Raspberry Pi 3 Modello B
Avremo anche bisogno delle seguenti periferiche: Custodia Raspberry Pi 3; Scheda SD (minimo 8 GB); Cavo GPIO Raspberry Pi 3; Cavo di alimentazione MicroUSB; Cavo HDMI e monitor compatibile con HDMI; tastiera USB; mouse USB; altoparlanti con porta per cuffie da 1/8.
- SparkFun MEMS Mic Breakout Board
- MCP3002 (convertitore analogico-digitale)
- Fili di ponticello per tagliere e tagliere M-to-M
Passaggio 3: configura il Raspberry Pi
Passaggio 1: verifica e installazione degli aggiornamenti La verifica e l'installazione degli aggiornamenti è sempre un buon modo per iniziare. Esegui i seguenti comandi nella finestra del terminale:
sudo apt-get update
sudo apt-get upgrade
sudo reboot
Passaggio 2: configurare l'interfaccia SPI per microfono MEMS + MCP3002
Per utilizzare SPI (Serial Port Interface) per leggere nel microfono MEMS tramite MCP3002, avremo bisogno del pacchetto Python Dev:
sudo apt-get install python-dev
Avremo anche bisogno dell'interfaccia SPI (potremmo voler creare una sottocartella in cui salvarlo):
git clone git://github.com/doceme/py-spidev
sudo python setup.py install
Ecco la documentazione SPI-Dev se riscontri problemi.
Passaggio 3: riprodurre suoni con OMXPlayer
OMXPlayer è un lettore audio e video precaricato sul sistema operativo Raspbian. Funziona con la maggior parte dei tipi di file audio, inclusi:.wav,.mp3 e.m4a. Questo è ciò che useremo per riprodurre i suoni quando Fido diventa troppo forte. La libreria Python per controllare l'OMXPlayer è inclusa in Raspbian (woo!).
Per testare OMXPlayer dal terminale, digitare quanto segue:
omxplayer /home/…/SongFilePath/SongFileName.mp3
Se non funziona, prova a forzarlo sul dispositivo di uscita audio locale:
omxplayer -o local /home/…/SongFilePath/SongFileName.mp3
Passaggio 4: configurare il server CloudMQTT
Ora impostiamo un server MQTT! Per farlo utilizzando CloudMQTT, procedi come segue:
- Configura un account CloudMQTT (il piano "Cute Cat" è gratuito).
- Crea una nuova istanza MyCloud.
- Nella Console, crea una nuova regola ACL.
- Puoi monitorare i messaggi pubblicati nell'interfaccia utente "Websocket".
Infine, installa la libreria MQTT Paho Client Python:
pip install paho-mqtt
Passaggio 4: costruiscilo! Hardware
I diagrammi di pinout per Raspberry Pi e MCP3002 sono nelle foto sopra.
1. Inserire i pin MCP3002 nella breadboard (vedere lo schema di piedinatura sopra)
L'MCP3002 utilizza 4 pin SPI per la comunicazione: Serial Clock ("SCL"), Master Input Slave Output ("MISO"), Master Output Slave Input ("MOSI") e Chip Select ("CS"). Questi pin corrispondono al pin 11 GPIO del Raspberry Pi (SCLK), pin 9 GPIO (MISO), pin 10 GPIO (MOSI) e pin 8 GPIO (CE0).
Effettuare i seguenti collegamenti con i pin MCP3002:
- Collegare il pin 1 al pin 8 GPIO del Raspberry Pi (CE0)
- Collegare il Pin 2 all'uscita analogica della scheda breakout del microfono MEMS
- Collegare il pin 4 a GND
- Collegare il pin 5 al pin 10 GPIO del Raspberry Pi (MOSI)
- Collegare il pin 6 al pin 9 GPIO del Raspberry Pi (MISO)
- Collegare il pin 7 al pin 11 GPIO del Raspberry Pi (SCLK)
- Collega Pin 8 a Raspberry Pi 3.3V out
2. Saldare i fili alla scheda breakout del microfono MEMS. Connettiti a MCP3002 e Raspberry Pi
- Collega Vcc a Raspberry Pi 3.3V.
- Collega GND a Raspberry Pi GND
- Collegare AUD a MCP3002 Pin 2
3. Collega tutti i cavi per il Raspberry Pi e accendi tutto
Passaggio 5: costruiscilo! Software
Il nostro obiettivo con Bark Back è duplice: attivare un suono di riproduzione quando il cane abbaia e inviare i dati a un server dove possiamo controllarlo.
Ecco il programma Python open source per questo progetto. Sentiti libero di (e per favore fallo) aggiustare e modificare il codice.
Per far funzionare il programma, devi compilare due cose:
- SongList: Scrivi il percorso del file e il nome del file per ciascuna delle canzoni che vuoi riprodurre.
- creds: inserisci le tue informazioni CloudMQTT in questo dizionario.
Passaggio 1: leggere la scheda breakout del microfono MEMS di SparkFun
Leggere il valore ADC (tra 0 e 1023) dalla scheda breakout del microfono MEMS (tramite MCP3002) utilizzando la libreria SPI e calcolare l'ampiezza del segnale da picco a picco.
Mappare l'ampiezza del segnale da picco a picco su un'unità di volume. Il codice attuale mappa l'intervallo ADC tra 0 e 700 (basato su una rapida sperimentazione) su un'unità di volume tra 0 e 10. Per regolare la sensibilità del microfono, regolare l'intervallo di ingresso ADC.
Per una panoramica completa del microfono MEMS, dai un'occhiata a questo tutorial.
Passaggio 2: attiva il lettore audio
Per prima cosa avremo bisogno di canzoni da suonare! Puoi registrare rapidamente i suoni in GarageBand (o sul tuo smartphone) e inviarli al Raspberry Pi. In Python, usa la libreria subprocess per chiamare omxplayer.
Nel codice, inserisci il percorso del file delle canzoni che vuoi riprodurre nella variabile *songList* (riga 26). La soglia del volume corrente è impostata su 7 nella funzione principale.
Passaggio 3: inviare i dati al server CloudMQTT
Utilizza la libreria Paho Client Python per comunicare con i server CloudMQTT. Per riassumere in generale: impostare un server client; definire i protocolli di comunicazione; connettersi con le nostre credenziali (aka creds); e sottoscrivere e pubblicare i nostri dati. La maggior parte di ciò viene eseguita nella funzione principale (righe 129 - 149 e righe 169 - 174).
Per controllare i dati ricevuti, vai alla scheda "Websocket UI" nella console CloudMQTT.
Passaggio 6: prova e installa
Esegui il programma BarkBack.py in Terminale o nell'IDE Python (puoi anche usare SSH per eseguire il programma dopo che sei già uscito).
Verifica di ricevere i livelli di volume nella scheda dell'interfaccia utente di Websocket.
Prova il sistema attivando il microfono (batti le mani, urla, abbaia, ecc.) per assicurarti che gli altoparlanti riproducano tutti i suoni.
Una volta che tutto è installato e funzionante, si consiglia di saldare i componenti a un PCB (Printed Circuit Board) se si intende installare il sistema per più di pochi giorni.
Secondo classificato al Microcontroller Contest 2017
Primo Premio al Concorso Sensori 2017
Consigliato:
Pet Bot: 6 passaggi (con immagini)
Pet Bot: Credito: Questo progetto è ispirato a Beetlebot di robomaniac. Aggiornamento: da allora l'ho rinominato in Pet Bot. (Il video lo mostra ancora come Catfish Bot) Insegno robotica ai giovani produttori su piattaforme ESP8266, Arduino e Raspberry PI e una delle sfide
Pet Robot Ball: 10 passaggi (con immagini)
Pet Robot Ball: il mio cane adora giocare con i giocattoli, specialmente quelli che può inseguire! Ho costruito una palla robotica che si accende e rotola automaticamente ogni volta che interagisce con essa, mi avvisa tramite il mio cellulare che posso quindi utilizzare per controllarla tramite WiFi e fin
D4E1 PET Cutter (Artmaker02): 9 passaggi (con immagini)
D4E1 PET Cutter (Artmaker02): A cosa serve questo tagliabottiglie? Questa macchina taglia bottiglie di plastica riciclata (PET) in anelli o spirali con un coltello riscaldato in un involucro sicuro che può essere utilizzato in sicurezza da tutti. Perché l'abbiamo fatto e chi è per?Siamo un gruppo di Industrial D
Creeper-BOT (Creeper Pet): 9 passaggi (con immagini)
Creeper-BOT (Creeper Pet): ho sempre voluto creare un mio robot quadrupede e il concorso di Minecraft è stata una buona scusa. Inoltre, volevo davvero un "animale domestico" di Creeper. In questo Instructable condividerò come l'ho realizzato e ti darò una guida se vuoi crearne uno tuo. Presumo che tu abbia
Privacy Monitor hackerato da un vecchio monitor LCD: 7 passaggi (con immagini)
Privacy Monitor hackerato da un vecchio monitor LCD: finalmente puoi fare qualcosa con quel vecchio monitor LCD che hai in garage. Puoi trasformarlo in un monitor della privacy! Sembra tutto bianco a tutti tranne che a te, perché indossi "magic" bicchieri! Tutto quello che devi davvero avere è un pa