Índice:
- Etapa 1: O que é MQTT?
- Etapa 2: Instalando o MQTT Broker no Raspberry Pi
- Etapa 3: Conecte o IOT Cricket ao RaspberryPi por MQTT
- Etapa 4: inspecionar mensagens MQTT
- Etapa 5: Resumo
- Etapa 6: Sobre nós
Vídeo: Sistema de automação residencial WiFi de ultra-baixa potência: 6 etapas (com fotos)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:34
Neste projeto, mostramos como você pode construir um sistema básico de automação residencial local em algumas etapas. Vamos usar um Raspberry Pi que funcionará como um dispositivo WiFi central. Considerando que, para nós finais, vamos usar o IOT Cricket para fazer dispositivos WiFi alimentados por bateria, por exemplo, sensor de temperatura e conecte-o ao RPi sem escrever uma única linha de código.
Nosso sistema será baseado no protocolo de comunicação MQTT, que é amplamente adotado na maioria dos sistemas de automação residencial. Para configurá-lo, escolhemos o corretor Mosquitto MQTT (servidor) e o instalamos no Raspberry Pi (nosso hub central).
O IOT Cricket também vem com suporte aos protocolos HTTP (S) e MQTT. Nós o configuramos para usar MQTT para se comunicar diretamente com nosso broker RPi MQTT.
Este projeto pode ser realizado por fabricantes em todos os níveis de habilidade. Pode requerer um pouco de solda básica, porém não requer nenhuma codificação ou programação. No final deste projeto, você terá uma ideia sólida de como pode construir facilmente seu próprio sistema e estendê-lo rapidamente adicionando seus próprios nós finais de IOT ao sistema.
Suprimentos:
- Raspberry Pi (usamos a versão 3 para este projeto)
- Módulo IOT Cricket WiFi
- Suporte de bateria 2xAAA
- 2 baterias AAA
Etapa 1: O que é MQTT?
O protocolo MQTT fornece um método leve de execução de mensagens usando um modelo de publicação / assinatura. Isso o torna adequado para mensagens da Internet das Coisas, como sensores de baixa potência ou dispositivos móveis, como telefones, computadores integrados ou microcontroladores. (fonte: mosquitto.org)
Podemos usar quantos dispositivos quisermos para assinar tópicos e ouvir as mensagens que chegam. Se algum dispositivo publicar uma mensagem nesse tópico, todos os dispositivos inscritos no tópico receberão essa mensagem instantaneamente. O tópico pode ser qualquer string arbitrária geralmente concatenada com / caracteres para permitir a construção de tópicos hierárquicos. O uso mais comum do MQTT é ter um servidor central no qual os dispositivos podem assinar e publicar mensagens. Ele facilita toda a comunicação entre os dispositivos conectados a esse servidor. Neste projeto, usaremos RPi para atuar como nosso corretor MQTT central e todos os outros dispositivos enviarão mensagens por meio deste corretor. A melhor maneira de aprender sobre isso, obviamente, é fazendo isso por nós mesmos. Existem muitos recursos disponíveis na Internet no MQTT. No entanto, para este projeto, você deve aceitar uma introdução básica, que fornecemos acima.
Etapa 2: Instalando o MQTT Broker no Raspberry Pi
Para este projeto, usamos um broker Mosquitto MQTT de software livre. É leve e adequado para uso em todos os dispositivos, desde computadores de placa única de baixa potência até servidores completos.
Antes de iniciar a instalação, é uma boa prática atualizar os componentes do sistema primeiro:
$ sudo apt-get update $ sudo apt-get upgrade
Instale o corretor Mosquitto. Abra um terminal e digite o seguinte comando:
$ sudo apt-get install mosquitto -y
Configure o corretor Mosquitto. Editar arquivo de configuração:
$ sudo vi /etc/mosquitto/mosquitto.conf
e adicione as seguintes linhas no topo:
porta 1883allow_anonymous true
Reinicie o RPi para aplicar as alterações:
$ sudo reboot
É isso! Nosso corretor MQTT está instalado e funcionando agora!
NOTA: para simplificar este projeto, não estamos criando contas. Portanto, qualquer pessoa em nossa rede local pode se conectar a este broker MQTT sem credenciais. Se você deseja adicionar autenticação de usuário e torná-la mais segura, existem vários tutoriais na internet sobre como fazê-lo.
Agora, só precisamos obter o endereço IP para que possamos enviar mensagens para nosso corretor Mosquitto de outros dispositivos na rede:
Obtenha o endereço IP:
$ hostname -I
your_RPi_IP_address (por exemplo, 192.168.1.10)
Etapa 3: Conecte o IOT Cricket ao RaspberryPi por MQTT
Neste projeto, usamos o módulo IOT Cricket WiFi para um sensor simples para relatar uma temperatura a cada 30 segundos para o nosso sistema. Ele funciona com bateria, então podemos colocá-lo em qualquer lugar em casa ou no jardim. Posteriormente, você pode usar o IOT Cricket para construir vários sensores alimentados por bateria, alarmes, botões, interruptores e conectá-los também ao nosso corretor RPi MQTT pronto para uso.
Na primeira etapa, conecte as baterias ao Cricket.
O Cricket vem com um sensor de temperatura embutido. Precisamos apenas configurá-lo para enviar o valor da temperatura ao nosso corretor MQTT definindo o endereço IP RPi. Para fazer isso, abra o painel de configuração do Cricket (veja as etapas aqui) e aplique as seguintes configurações (conforme mostrado na imagem abaixo, por favor ajuste o endereço IP na caixa "url" para o seu RPi)
Agora podemos sair do modo de configuração. O dispositivo está pronto! A Cricket já está enviando dados para nosso corretor MQTT a cada 30 segundos.
Etapa 4: inspecionar mensagens MQTT
Para visualizar / receber mensagens enviadas para nosso corretor MQTT, podemos usar várias ferramentas.
O mais fácil pode ser uma ferramenta de linha de comando mosquitto_sub. Podemos instalá-lo em qualquer computador de nossa rede ou em nosso RPi com este comando:
$ sudo apt-get install mosquitto-clients -y
Agora podemos executar o seguinte comando para ouvir TODOS os tópicos e mensagens enviadas por meio de nosso corretor MQTT:
$ mosquitto_sub -v -h your_RPi_IP_address -p 1883 -t '#'
… / 59A98F494C / device_name MyTemperatureDev / 59A98F494C / device_sn 59A98F494C / 59A98F494C / hwc_wake_up 3794 / 59A98F494C / hwc_wifi_enabled 3763 / 59A98F494C / hwc_message_sent 3664 / 59A98F494C / temp 26,0 / 59A98F494C / io1_wake_up 0 / 59A98F494C / rtc_wake_up 1 …
O exemplo acima é um exemplo de saída do que o IOT Cricket envia ao nosso corretor. Entre os outros dados, podemos ver que há uma temperatura:
/ 59A98F494C / temp 26,0
A beleza do MQTT é que ele nos permite assinar apenas tópicos nos quais estamos interessados. Se quisermos receber apenas uma temperatura, podemos assinar o tópico / 59A98F494C / temp usando o seguinte comando:
$ mosquitto_sub -h your_RPi_IP_address -t '/ 59A98F494C / temp'
…26.126.527.227.6…
Etapa 5: Resumo
Mostramos neste projeto um hardware e software essenciais para começar a construir sistemas de automação residencial de baixo consumo de energia e com baixo consumo de energia baseados em wi-fi. MQTT é a essência para sistemas mais sofisticados.
O ecossistema de software e serviços que podem ser integrados ao MQTT é ENORME! Existem muitos sistemas excelentes, como o Home Assistant, Node RED, Grafana, etc. para permitir que você tenha uma ótima experiência de usuário em seu próprio sistema. Não só podemos fazer uma impressão simples de uma temperatura, mas podemos ter ótimos painéis visualizando os dados e gerenciando seus dispositivos.
Agora que temos essa infraestrutura básica do sistema no lugar, o céu é o nosso limite de quais outros dispositivos WiFi podemos construir usando os módulos IOT Cricket e adicionar ao nosso sistema de automação residencial.
Obrigado por vir até aqui. Esperamos que você tenha gostado deste tutorial!
Equipe do Things On Edge
Etapa 6: Sobre nós
Things On Edge é uma empresa com sede em Cambridge, Reino Unido. Nós projetamos um módulo Cricket Wi-Fi alimentado por bateria ultrabaixa para permitir que você conecte vários dispositivos eletrônicos a smartphones ou outros serviços de internet literalmente em minutos. Não requer nenhuma programação e codificação. Ele permite que você integre seus dispositivos a um enorme ecossistema de serviços IOT sobre MQTT e HTTP apis.
Recomendado:
Sistema de alarme de intrusão de automação residencial DIY !: 5 etapas (com fotos)
DIY Sistema de alarme de intrusão de automação residencial !: Neste projeto, mostrarei como usar o software Home Assistant para criar um sistema de alarme de intrusão para sua casa. O sistema basicamente detectará se a porta for aberta sem permissão e, em seguida, enviará uma notificação
Faça você mesmo hackeando seu próprio sistema de automação residencial: 7 etapas (com fotos)
Faça você mesmo hackeando seu próprio sistema de automação residencial: um sistema de automação residencial deve ser capaz de ligar / desligar aparelhos como luzes, ventiladores, sistemas de entretenimento, etc. Um sistema sem fio, mas independente da Internet, mas o mais importante, faça você mesmo e aberto -fonte porque eu quero entender
(DIY) Como fazer ESP8266 Ultra Mini & Simple Relay Placa de automação residencial: 17 etapas
(DIY) Como fazer a placa de automação residencial ESP8266 Ultra Mini e Simple Relay: Olá, todo mundo, Hoje vou informá-los, como fazer uma placa de relé Mini Esp 12 Wifi medindo apenas 3,9 cm x 3,9 cm! Esta placa tem alguns recursos muito interessantes que todo amante de tecnologia vai adorar ter. Incluí todos os arquivos nas próximas etapas. Esta placa
Sistema de automação residencial usando Arduino e módulo Bluetooth HC-05: 5 etapas (com fotos)
Sistema de automação residencial usando Arduino e módulo Bluetooth HC-05: Ei pessoal, como vocês estão! Hoje estou aqui com meu segundo Arduino Instructable. É um sistema de automação residencial controlado por Bluetooth. Você pode controlar seus eletrodomésticos apenas de seu smartphone. as coisas funcionam perfeitamente! Também projetei o aplicativo
Sistema de automação residencial barato, fácil e controlado pela Internet: 5 etapas (com fotos)
Sistema de automação residencial barato, fácil e controlado pela Internet: Se você tem animais de estimação / filhos e precisa alimentá-los ou espancá-los via internet, este sistema pode ser útil para você. É uma forma muito fácil e barata de controlar motores, LEDs, etc. em casa a partir de qualquer computador conectado à web. Tudo o que é necessário é uma webcam