
Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-23 15:03

Neste Instructable, mostro como usei o ESP-NOW na minha automação residencial. No esquema você pode ver os fluxos de comunicação
Eu te mostro:
- como o remetente funciona
- como o receptor funciona
- como funciona a comunicação serial com um Raspberry Pi
Não mostro como funciona o MQTT e minha automação residencial, você pode encontrar outras boas instruções para isso.
Créditos: Este Instructable foi inspirado por:
Vídeo # 172 por Andreas Spiess
www.esploradores.com/practica-6-conexion-es…
Etapa 1: backup via WiFi e MQTT

Descobri que o ESP-NOW é extremamente rápido e confiável, mas às vezes falha. No meu programa, adicionei um backup via WiFi normal e conexão MQTT.
Etapa 2: Remoto / remetente




No primeiro esquema, você vê como funciona o programa do remetente:
- O esp8266 é inicializado a partir da inicialização ou reinicialização
- ESP-NOW foi inicializado
- O módulo envia ESP-NOW por um tempo definido
-
O módulo verifica se a mensagem ESP-NOW foi recebida pelo receptor em uma função de retorno de chamada.
- Se a mensagem ESP-NOW foi recebida, o módulo entra em um sono profundo de baixa potência
- Se a mensagem ESP-NOW não foi recebida, o módulo inicia uma conexão WiFi e uma conexão MQTT como uma conexão de backup.
O programa para o remetente está no meu Github (Master_sender.ino). Os programas enviam o tópico e a mensagem para a automação residencial MQTT em uma mensagem ESP-NOW combinada, combinada com um sinal '&' para uma divisão fácil no receptor.
Fiz dois controles remotos / remetentes diferentes:
Remetente 1: O esp8266 está em hibernação e é ativado por uma reinicialização. O led no botão acende e escurece quando o módulo é concluído. Se a tensão da bateria estiver muito baixa, o led pisca. Se o ESP-NOW falhou, o led pisca antes de mudar para conexões WiFi / MQTT. O esp8266 é alimentado por uma bateria LiPo com um regulador de tensão HT7333 para 3,3V
Remetente 2: O esp8266 é desligado e é ligado ao pressionar o botão. Normalmente a conexão ESP-NOW é feita após o botão 'clicar'. O esp8266 é alimentado diretamente por uma bateria LiPo. Não sei se o esp8266 fica danificado pela alta tensão de uma bateria totalmente carregada (até 4,2 V) quando é ligado apenas alguns 100 ms. É mais alto que as especificações (3,0 - 3,6 V).
Nota: se a bateria estiver fraca, o ESP-NOW falha.
Etapa 3: O receptor - Hardware (esp8266 e Raspberry Pi)



A descrição do receptor é dividida em duas partes:
- Hardware
- Programas
O hardware
O receptor esp-01 está conectado ao meu Raspberry Pi Zero que executa meu sistema de automação residencial (Openhab2) e Node Red.
No esquema, as conexões simples são mostradas:
- RX da esp-01 para TX da RasPi
- TX da esp-01 a RX da RasPi
- GND para GND
- O esp-01 VCC é alimentado pelo pino de 3,3 V do Raspi
- No esp-01, tanto o RST quanto o CH_PD são elevados.
Eu fiz um conector de interface para montá-lo facilmente
Em uma foto você pode ver minhas conexões de fio para meu Raspberry Pi 3 (que tem a mesma pinagem, mas usei outro pino de 3,3 V para conectar ao CH_PD).
O esp-01 foi programado conforme mostrado no meu outro Instructable (veja o passo 3).
Etapa 4: O receptor - software (serial, nó vermelho, MQTT)



Programa em esp8266
O programa para o receptor esp-01 está no meu Github (Master_sender.ino). O programa é muito simples, ele só imprime a mensagem ESP-NOW recebida na porta serial para o Raspberry Pi.
Porta serial
No Raspberry Pi, você deve ativar a porta serial (no raspbian, execute 'sudo raspi-config') para comunicação serial normal.
O nome da porta serial é:
- Raspberry Pi Zero: / dev / ttyAMA0
- Raspberry Pi 3: / dev / ttyS0
Você pode verificar a porta serial executando 'dmesg | grep tty 'ou' ls / dev '
Nó Vermelho
Em Nó Vermelho, selecione o Nó de entrada serial e configure a porta serial (veja as fotos anexas). Observe a taxa de transmissão da conexão serial; ela deve corresponder à taxa de transmissão programada no esp8266.
A saída do nó serial é transformada por um nó de função que divide a mensagem no sinal '&' e define msg.topic e msg.payload. A saída da função é conduzida ao nó de saída mqtt que envia a mensagem ao servidor MQTT. Observe que o campo do tópico do nó mqtt está em branco, porque o tópico está definido na mensagem.
Recomendado:
Wifi Smart Switch ESP8266 funciona com Alexa e Google Home Automation: 7 etapas

Wifi Smart Switch ESP8266 funciona com Alexa e Google Home Automation: No mundo da globalização, todos desejam tecnologias mais recentes e inteligentes.WiFi Smart Switch, tornando sua vida mais inteligente e conveniente
NodeMCU Home Automation (ESP8266): 7 etapas

NodeMCU Home Automation (ESP8266): Olá, pessoal! Espero que você já tenha gostado de meu anterior " Batimento cardíaco do Arduino com visor de ECG & Som " e você está pronto para um novo, como de costume fiz este tutorial para guiá-lo passo a passo enquanto faz esse tipo de super amazina
Primeiros passos com Esp 8266 Esp-01 com Arduino IDE - Instalando Placas Esp no Arduino Ide e Programando Esp: 4 Passos

Primeiros passos com Esp 8266 Esp-01 com Arduino IDE | Instalando placas Esp no Arduino Ide e programando Esp: Neste instructables, vamos aprender como instalar placas esp8266 no IDE Arduino e como programar esp-01 e fazer upload de código nele. Como as placas esp são tão populares, então pensei em corrigir um instructablesfor isso e a maioria das pessoas enfrentam problemas
Sonoff B1 Firmware Home Automation Openhab Google Home: 3 etapas

Sonoff B1 Firmware Home Automation Openhab Google Home: Eu realmente gosto do firmware Tasmota para meus interruptores Sonoff. Mas a não estava muito feliz com o firmware Tasmota no meu Sonoff-B1. Não consegui integrá-lo totalmente ao meu Openhab e controlá-lo por meio do Google Home. Portanto, escrevi minha própria empresa
RASPBERRY PI ALEXA HOME AUTOMATION: 4 etapas

RASPBERRY PI ALEXA HOME AUTOMATION: Este Instructable cobre os conceitos de Amazon alexa eho dot, Raspberry pi Gpio controlando usando alexa. estabelecer c