Índice:
- Etapa 1: Leitura sugerida
- Etapa 2: Materiais
- Etapa 3: configurar o Raspberry Pi
- Etapa 4: Construa! Hardware
- Etapa 5: Construa! Programas
- Etapa 6: Teste e instale
Vídeo: IoT Pet Monitor !: 6 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:39
Fique de olho em seus amados bbies e toque música ou diga a eles para ficarem quietos enquanto você estiver fora! Este tutorial mostrará como usar um computador Raspberry Pi para monitorar o volume do som em sua casa (através da nuvem) para ver se e quando seu animal de estimação está chateado.
Rufar os tambores… a parte mais divertida: Se ficar muito alto (como o Fido latindo ou fazendo algum outro barulho), nós podemos dizer a eles para ficarem quietos ou tocarem música!
Junto com o Pi (e alto-falantes), usaremos a placa de breakout do microfone SparkFun MEMS para medir os níveis de volume e acionar o reprodutor de áudio. Os dados são carregados para o serviço CloudMQTT usando o protocolo de comunicação MQTT.
Tempo total de leitura: ~ 8 min
Tempo total de construção: 60 min (menos com experiência)
MUITO OBRIGADO a SparkFun por apoiar este projeto! Confira o tutorial aqui.
Etapa 1: Leitura sugerida
Para construir este projeto, você precisará de um computador Raspberry Pi 3 totalmente configurado e conectado por Wi-Fi com Raspbian OS. Também é útil saber um pouco de programação Python, bem como as seguintes coisas: (1) como usar e controlar os pinos GPIO do Raspberry Pi; (2) comunicação MQTT; e (3) sensores analógicos. Se alguma dessas coisas não lhe for familiar, ou se você estiver apenas curioso (seja curioso!), Verifique os tutoriais abaixo!
Raspberry Pi 3
- Guia de conexão do Raspberry Pi 3 Starter Kit
- Raspberry Pi GPIO
- Comunicação SPI com o Raspberry Pi
Protocolo de Comunicação MQTT
MQTT (Message Query Telemetry Transport) é um protocolo de comunicação IoT popular. Usaremos a biblioteca Paho Client Python e um serviço MQTT chamado CloudMQTT. Aqui está mais sobre MQTT e como usá-lo:
- Explorando protocolos de comunicação para IoT
- Primeiros passos com CloudMQTT
- Visão geral da biblioteca cliente Eclipse Paho MQTT Python
Placa de interrupção do microfone MEMS
O microfone MEMS é um microfone analógico, portanto, precisaremos de um conversor Analógico para Digital ("ADC") para ler o sinal analógico com os pinos GPIO digitais do Raspberry Pi.
- Primeiros passos com o SparkFun MEMS Microphone Breakout Board
- Folha de Dados do Microfone MEMS
- Folha de dados do ADC MCP3002
Etapa 2: Materiais
- Raspberry Pi 3 Modelo B
Também precisaremos dos seguintes periféricos: Capa Raspberry Pi 3; Cartão SD (mínimo 8 GB); Cabo GPIO Raspberry Pi 3; Cabo de alimentação MicroUSB; Cabo HDMI e monitor compatível com HDMI; Teclado USB; Mouse USB; alto-falantes com porta de fone de ouvido de 1/8.
- Placa Breakout do Microfone SparkFun MEMS
- MCP3002 (conversor analógico-digital)
- Fios de jumper de tábua de ensaio e M para M
Etapa 3: configurar o Raspberry Pi
Etapa 1: Verificar e instalar atualizações Verificar e instalar atualizações é sempre uma boa maneira de começar. Execute os seguintes comandos na janela do terminal:
sudo apt-get update
sudo apt-get upgrade
sudo reboot
Etapa 2: configurar a interface SPI para o microfone MEMS + MCP3002
Para usar o SPI (Serial Port Interface) para ler no microfone MEMS por meio do MCP3002, precisaremos do Python Dev Package:
sudo apt-get install python-dev
Também precisaremos da interface SPI (pode ser desejável criar uma subpasta para salvar isso):
git clone git: //github.com/doceme/py-spidev
sudo python setup.py install
Aqui está a documentação do SPI-Dev se você encontrar algum problema.
Etapa 3: Tocando sons com OMXPlayer
O OMXPlayer é um reprodutor de áudio e vídeo pré-carregado no Raspbian OS. Funciona com a maioria dos tipos de arquivos de som, incluindo:.wav,.mp3 e.m4a. É o que usaremos para reproduzir sons quando o Fido ficar muito alto. A biblioteca Python para controlar o OMXPlayer está incluída no Raspbian (woo!).
Para testar o OMXPlayer no terminal, digite o seguinte:
omxplayer /home/…/SongFilePath/SongFileName.mp3
Se isso não funcionar, tente forçar no dispositivo de saída de áudio local:
omxplayer -o local /home/…/SongFilePath/SongFileName.mp3
Etapa 4: configurar o servidor CloudMQTT
Agora configuramos um servidor MQTT! Para fazer isso usando CloudMQTT, faça o seguinte:
- Configure uma conta CloudMQTT (o plano "Cute Cat" é gratuito).
- Crie uma nova instância MyCloud.
- No console, crie uma nova regra ACL.
- Você pode monitorar as mensagens publicadas na IU do "Websocket".
Por fim, instale a biblioteca MQTT Paho Client Python:
pip install paho-mqtt
Etapa 4: Construa! Hardware
Os diagramas de pinagem para o Raspberry Pi e o MCP3002 estão nas fotos acima.
1. Insira os pinos MCP3002 na placa de ensaio (consulte o diagrama de pinagem acima)
O MCP3002 usa 4 pinos SPI para comunicação: Serial Clock ("SCL"), Master Input Slave Output ("MISO"), Master Output Slave Input ("MOSI") e Chip Select ("CS"). Esses pinos correspondem a Raspberry Pi GPIO pino 11 (SCLK), GPIO pino 9 (MISO), GPIO pino 10 (MOSI) e GPIO pino 8 (CE0).
Faça as seguintes conexões com os pinos MCP3002:
- Conecte o pino 1 ao pino 8 do Raspberry Pi GPIO (CE0)
- Conecte o pino 2 à saída analógica da placa de interrupção do microfone MEMS
- Conecte o pino 4 ao GND
- Conecte o pino 5 ao pino 10 do Raspberry Pi GPIO (MOSI)
- Conecte o pino 6 ao pino 9 do Raspberry Pi GPIO (MISO)
- Conecte o pino 7 ao pino 11 do Raspberry Pi GPIO (SCLK)
- Conecte o pino 8 à saída Raspberry Pi 3.3V
2. Solde os fios na placa de fuga do microfone MEMS. Conecte-se a MCP3002 e Raspberry Pi
- Conecte o Vcc ao Raspberry Pi 3.3V.
- Conecte o GND ao Raspberry Pi GND
- Conecte AUD ao MCP3002 Pino 2
3. Conecte todos os cabos do Raspberry Pi e ligue tudo
Etapa 5: Construa! Programas
Nosso objetivo com o Bark Back é duplo: acionar um playback de som quando o cachorro late, e enviar os dados para um servidor onde podemos verificá-los.
Este é o programa Python de código aberto para este projeto. Sinta-se à vontade para (e faça) ajustar e modificar o código.
Para colocar o programa em execução, você precisa preencher duas coisas:
- songList: Escreva o caminho e o nome do arquivo para cada uma das músicas que deseja reproduzir.
- creds: Insira suas informações CloudMQTT neste dicionário.
Etapa 1: Leia a placa de breakout do SparkFun MEMS Microphone
Leia o valor ADC (entre 0 e 1023) da placa de interrupção do microfone MEMS (por meio do MCP3002) usando a biblioteca SPI e calcule a amplitude pico a pico do sinal.
Mapeie a amplitude pico a pico do sinal para uma unidade de volume. O código atual mapeia a faixa ADC entre 0 e 700 (com base em experimentação rápida) para uma Unidade de Volume entre 0 e 10. Para ajustar a sensibilidade do microfone, ajuste a faixa de entrada ADC.
Para uma visão geral completa do microfone MEMS, confira este tutorial.
Etapa 2: acione o reprodutor de áudio
Primeiro vamos precisar de músicas para tocar! Você pode gravar sons rapidamente no GarageBand (ou no seu smartphone) e enviá-los para o Raspberry Pi. Em Python, use a biblioteca de subprocesso para chamar o omxplayer.
No código, insira o caminho do arquivo das músicas que deseja reproduzir na variável * songList * (linha 26). O limite de volume atual é definido como 7 na função principal.
Etapa 3: enviar dados ao servidor CloudMQTT
Use a biblioteca Python do cliente Paho para se comunicar com os servidores CloudMQTT. Para resumir amplamente: Configure um servidor de cliente; definir protocolos de comunicação; conecte-se com nossas credenciais (também conhecidas como creds); e assinar e publicar nossos dados. A maior parte disso é feito na função principal (linhas 129 - 149 e linhas 169 - 174).
Para verificar os dados recebidos, vá para a guia "Websocket UI" no console CloudMQTT.
Etapa 6: Teste e instale
Execute o programa BarkBack.py no Terminal ou no Python IDE (você também pode usar SSH para executar o programa depois de sair).
Verifique se você está obtendo os níveis de volume na guia UI do Websocket.
Teste o sistema acionando o microfone (bata palmas, gritos, latidos, etc.) para ter certeza de que os alto-falantes tocam todos os sons.
Depois que tudo estiver instalado e funcionando, é recomendável soldar os componentes em uma PCB (placa de circuito impresso) se você pretende instalar o sistema por mais do que apenas alguns dias.
Vice-campeão no Concurso de Microcontroladores 2017
Primeiro Prêmio no Concurso de Sensores 2017
Recomendado:
Pet Bot: 6 etapas (com imagens)
Pet Bot: Crédito: Este projeto é inspirado no Beetlebot por robomaniac.Update: Desde então, mudei o nome para Pet Bot. (O vídeo ainda o mostra como Catfish Bot) Eu ensino Robótica para jovens fabricantes nas plataformas ESP8266, Arduino e Raspberry PI e um dos desafios
Um monitor de qualidade do ar IoT de baixo custo baseado no RaspberryPi 4: 15 etapas (com imagens)
Um monitor de qualidade do ar IoT de baixo custo baseado no RaspberryPi 4: Santiago, Chile, durante uma emergência ambiental de inverno, tem o privilégio de morar em um dos países mais bonitos do mundo, mas, infelizmente, nem tudo são rosas. O Chile durante o inverno sofre muito com a contaminação do ar, mai
Monitor de privacidade invadido de um monitor LCD antigo: 7 etapas (com imagens)
Monitor de privacidade hackeado de um monitor LCD antigo: Finalmente, você pode fazer algo com aquele monitor LCD antigo que você tem na garagem. Você pode transformá-lo em um monitor de privacidade! Parece todo branco para todos, exceto você, porque você está usando " mágica " copos! Tudo o que você realmente precisa é um pa
Como desmontar um computador com etapas e imagens fáceis: 13 etapas (com imagens)
Como desmontar um computador com etapas e imagens fáceis: Esta é uma instrução sobre como desmontar um PC. A maioria dos componentes básicos é modular e facilmente removível. No entanto, é importante que você seja organizado sobre isso. Isso ajudará a evitar que você perca peças e também a fazer a remontagem e
Monitor Dress - Conecte os sinais do coração à IoT: 18 etapas (com imagens)
Monitor Dress - Conecte os sinais cardíacos à IoT: o Monitor Dress é um experimento na pesquisa de diferentes maneiras de digitalizar a atividade cardíaca do usuário, bem como processar os dados. Três eletrodos dentro do vestido medem os sinais elétricos que passam pelo usuário bod