
Taula de continguts:
2025 Autora: John Day | [email protected]. Última modificació: 2025-01-23 14:38



Vigileu els vostres estimats bbies i toqueu música o digueu-los que callin mentre esteu fora. Aquest tutorial us mostrarà com utilitzar un ordinador Raspberry Pi per controlar el volum de so a casa vostra (a través del núvol) per veure si i quan la vostra mascota està molesta.
Rodar el tambor … la part més divertida: si es fa massa fort (com si Fido bordi o faci alguna altra canalla), els podem dir que callin o que toquin música.
Juntament amb el Pi (i els altaveus), utilitzarem la placa de separació del micròfon SparkFun MEMS per mesurar els nivells de volum i activar el reproductor d’àudio. Les dades es carreguen al servei CloudMQTT mitjançant el protocol de comunicació MQTT.
Temps total de lectura: ~ 8 min
Temps total de construcció: 60 min (menys amb experiència)
MOLTES GRÀCIES a SparkFun per donar suport a aquest projecte. Consulteu el tutorial aquí.
Pas 1: lectura suggerida
Per construir aquest projecte, necessitareu un equip Raspberry Pi 3 completament configurat i connectat a WiFi amb Raspbian OS. També és útil conèixer algunes de les programacions de Python i les coses següents: (1) com utilitzar i controlar els pins GPIO de Raspberry Pi; (2) comunicació MQTT; i (3) sensors analògics. Si alguna cosa d'això és desconeguda o si només teniu curiositat (tingueu curiositat!), Consulteu els tutorials següents.
Raspberry Pi 3
- Guia de connexió del kit d’inici Raspberry Pi 3
- Raspberry Pi GPIO
- Comunicació SPI amb el Raspberry Pi
Protocol de comunicació MQTT
MQTT (Message Query Telemetry Transport) és un popular protocol de comunicació IoT. Utilitzarem la biblioteca Paho Client Python i un servei MQTT anomenat CloudMQTT. Aquí hi ha més informació sobre MQTT i com utilitzar-lo:
- Exploració de protocols de comunicació per a IoT
- Introducció a CloudMQTT
- Visió general de la biblioteca client Eclipse Paho MQTT Python
Tauler de separació de micròfons MEMS
El micròfon MEMS és un micròfon analògic, de manera que necessitarem un convertidor analògic a digital ("ADC") per llegir el senyal analògic amb els pins GPIO digitals de Raspberry Pi.
- Primers passos amb la placa de separació de micròfons SparkFun MEMS
- Full de dades de micròfon MEMS
- Full de dades MCP3002 ADC
Pas 2: materials



- Raspberry Pi 3 Model B
També necessitarem els perifèrics següents: Raspberry Pi 3 Case; Targeta SD (mínim 8 GB); Cable GPIO Raspberry Pi 3; Cable d'alimentació MicroUSB; Cable HDMI i monitor compatible amb HDMI; Teclat USB; Ratolí USB; altaveus amb port per a auriculars de 1/8.
- Tauler SparkFun MEMS Mic Breakout
- MCP3002 (convertidor analògic a digital)
- Filferros de pont de taulers de panells i taulers de pa M-a-M
Pas 3: configureu el Raspberry Pi




Pas 1: comprovar i instal·lar actualitzacions Comprovar i instal·lar actualitzacions sempre és una bona manera de començar. Executeu les ordres següents a la finestra del terminal:
sudo apt-get update
sudo apt-get upgrade
sudo reiniciar
Pas 2: configureu la interfície SPI per al micròfon MEMS + MCP3002
Per utilitzar l’SPI (interfície de port sèrie) per llegir el micròfon MEMS mitjançant l’MCP3002, necessitarem el paquet Python Dev:
sudo apt-get install python-dev
També necessitarem la interfície SPI (és possible que vulgueu crear una subcarpeta per desar-la):
git clonar git: //github.com/doceme/py-spidev
sudo python setup.py install
Aquí teniu la documentació SPI-Dev si teniu problemes.
Pas 3: Reproducció de sons amb OMXPlayer
L'OMXPlayer és un reproductor d'àudio i vídeo precarregat al sistema operatiu Raspbian. Funciona amb la majoria de tipus de fitxers de so, inclosos:.wav,.mp3 i.m4a. Això és el que farem servir per reproduir sons quan Fido es posi massa fort. La biblioteca Python per controlar OMXPlayer està inclosa a Raspbian (woo!).
Per provar l'OMXPlayer des del terminal, escriviu el següent:
omxplayer /home/…/SongFilePath/SongFileName.mp3
Si això no funciona, proveu de forçar-lo sobre el dispositiu de sortida d'àudio local:
omxplayer -o local /home/…/SongFilePath/SongFileName.mp3
Pas 4: configureu el servidor CloudMQTT
Ara hem creat un servidor MQTT. Per fer-ho mitjançant CloudMQTT, feu el següent:
- Configureu un compte CloudMQTT (el pla "Cute Cat" és gratuït).
- Creeu una nova instància de MyCloud.
- A la consola, creeu una nova regla ACL.
- Podeu supervisar els missatges publicats a la interfície d'usuari "Websocket".
Finalment, instal·leu la biblioteca Python Client MQTT Paho:
pip install paho-mqtt
Pas 4: construïu-lo. Maquinari



Els diagrames detallats del Raspberry Pi i el MCP3002 es troben a les fotos de dalt.
1. Inseriu els pins MCP3002 a la placa de visualització (vegeu el diagrama de pinout anterior)
El MCP3002 utilitza 4 pins SPI per a la comunicació: rellotge sèrie ("SCL"), sortida d'esclau d'entrada principal ("MISO"), entrada d'esclau de sortida principal ("MOSI") i selecció de xip ("CS"). Aquests pins corresponen a Raspberry Pi GPIO pin 11 (SCLK), GPIO pin 9 (MISO), GPIO Pin 10 (MOSI) i GPIO Pin 8 (CE0).
Feu les connexions següents amb els pins MCP3002:
- Connecteu el pin 1 al pin 8 de Raspberry Pi GPIO (CE0)
- Connecteu el pin 2 a la sortida analògica de la placa de separació del micròfon MEMS
- Connecteu el pin 4 a GND
- Connecteu el pin 5 al pin 10 Raspberry Pi GPIO (MOSI)
- Connecteu el pin 6 al pin 9 de Raspberry Pi GPIO (MISO)
- Connecteu el pin 7 al pin 11 Raspberry Pi GPIO (SCLK)
- Connecteu el pin 8 a la sortida Raspberry Pi 3.3V
2. Cables de soldar a la placa de trencament del micròfon MEMS. Connecteu-vos a MCP3002 i Raspberry Pi
- Connecteu Vcc a Raspberry Pi 3.3V.
- Connecteu GND a Raspberry Pi GND
- Connecteu AUD al pin 2 de MCP3002
3. Connecteu tots els cables del Raspberry Pi i engegueu-ho tot
Pas 5: construïu-lo. Programari

El nostre objectiu amb Bark Back és doble: activar un so de reproducció quan el gos borda i enviar les dades a un servidor on puguem comprovar-les.
Aquí teniu el programa Python de codi obert per a aquest projecte. No dubteu a ajustar i modificar el codi (i si us plau, feu-ho).
Per posar en marxa el programa, heu d'emplenar dues coses:
- SongList: escriviu al camí del fitxer i al nom del fitxer per a cadascuna de les cançons que vulgueu reproduir.
- crèdits: introduïu la informació de CloudMQTT en aquest diccionari.
Pas 1: llegiu al tauler de separació de micròfons SparkFun MEMS
Llegiu el valor ADC (entre 0 i 1023) des de la placa de ruptura del micròfon MEMS (mitjançant l'MCP3002) mitjançant la biblioteca SPI i calculeu l'amplitud del senyal de pic a pic.
Assigneu l’amplitud de pic a pic del senyal a una unitat de volum. El codi actual assigna el rang ADC entre 0 i 700 (basat en una experimentació ràpida) a una unitat de volum entre 0 i 10. Per ajustar la sensibilitat del micròfon, ajusteu el rang d'entrada ADC.
Per obtenir una visió completa del micròfon MEMS, consulteu aquest tutorial.
Pas 2: activar el reproductor d'àudio
Primer necessitarem cançons per tocar! Podeu enregistrar sons ràpidament a GarageBand (o al telèfon intel·ligent) i enviar-los al Raspberry Pi. A Python, utilitzeu la biblioteca de subprocessos per trucar a omxplayer.
Al codi, introduïu el camí del fitxer de les cançons que vulgueu reproduir a la variable * songList * (línia 26). El llindar de volum actual s'estableix en 7 a la funció principal.
Pas 3: envieu dades al servidor CloudMQTT
Utilitzeu la biblioteca Paho Client Python per comunicar-vos amb els servidors CloudMQTT. Per resumir: configureu un servidor client; definir protocols de comunicació; connecteu-vos amb les nostres credencials (també crèdits); i subscriu-te i publica les nostres dades. La major part d'això es fa a la funció principal (línies 129 - 149 i línies 169 - 174).
Per comprovar les dades rebudes, aneu a la pestanya "Websocket UI" de la consola CloudMQTT.
Pas 6: proveu i instal·leu

Executeu el programa BarkBack.py a Terminal o a l'IDE de Python (també podeu utilitzar SSH per executar el programa després de deixar-lo).
Comproveu que obteniu nivells de volum a la pestanya UI de Websocket.
Proveu el sistema activant el micròfon (picades, crits, escorces, etc.) per assegurar-vos que els altaveus reprodueixen tots els sons.
Un cop tot estigui en marxa, es recomana soldar els components a una placa de circuit imprès (PCB) si teniu intenció d’instal·lar el sistema durant més d’uns dies.


Accèssit al concurs de microcontroladors 2017


Primer premi del Concurs de Sensors 2017
Recomanat:
Leo: el gat de mascotes: 7 passos (amb imatges)

Leo: the Pet Cat: Hola, aquest és el meu primer instructable. La primera versió de "Sony Aibo Robot (1999)" Em va atraure cap a la robòtica als quatre anys, des de llavors, era el meu somni fabricar un robot per a mascotes. Així doncs, se’m va ocórrer " Leo: the Pet Cat " w
SmartPET: alimentador intel·ligent per a mascotes: 7 passos (amb imatges)

SmartPET: alimentador intel·ligent per a mascotes: Ei! Sóc Maxime Vermeeren, un estudiant de MCT (tecnologia multimèdia i de comunicació) de 18 anys a Howest. He decidit crear un alimentador intel·ligent per a mascotes com a projecte. Per què he fet això? El meu gat té problemes de pes, així que vaig decidir fabricar una màquina per
Dispensador de tractaments IoT per a mascotes: 7 passos (amb imatges)

Dispensador de tractaments per a animals domèstics: tinc dos gats i haver de donar-los llaminadures unes 3 vegades al dia es va convertir en una molèstia. Em miraven cap amunt amb les seves cares simpàtiques i mirades intenses i, després, anaven corrents cap a una capsa plena de verds de gat, maullant i demanant-los. Jo havia decidit
Porta exterior per a mascotes IoT: 6 passos (amb imatges)

Porta per a mascotes a l’aire lliure de l’IoT: Em va inspirar en aquest instructiu per crear una porta automàtica de galliner. No només volia la porta del galliner en un temporitzador, sinó que també volia connectar la porta a Internet per poder controlar-la amb el telèfon o l’ordinador. Aquest d
Feu un bol d’art amb ampolla per a mascotes: 5 passos (amb imatges)

Feu un bol d’art amb ampolla per a mascotes: el PET és polietilè tereftalat, que és un polímer termoplàstic. Es pot tornar a formar per escalfament. Després del procés d’escalfament, es torna més rígid, rígid, durador i vidriós. Es fa encara més fort i cristal·litza quan es perfora. Es va formar