NINA W106 RODANDO ESP-NOW (VISUINO)
O objetivo deste BLOG é dar uma ideia geral de como fazer o módulo U-BLOX NINA W106 rodar o protocolo ESP-NOW. Baseado no blog de Rui Santos, porém testado com o VISUINO.
https://randomnerdtutorials.com/esp-now-esp32-arduino-ide/
https://randomnerdtutorials.com/esp-now-esp32-arduino-ide/
VISUINO
ESP-NOW
O ESP-NOW é outro protocolo desenvolvido pela Espressif, que permite que vários dispositivos se comuniquem sem usar o Wi-Fi. O protocolo é semelhante à conectividade sem fio de 2,4 GHz de baixa potência, geralmente implantada em mouses sem fio. Portanto, o emparelhamento entre dispositivos é necessário antes da comunicação. Após o emparelhamento, a conexão é segura e ponto a ponto, sem a necessidade de handshake.
Recursos
O ESP-NOW suporta os seguintes recursos:
• Comunicação unicast criptografada e não criptografada.
• Dispositivos pares criptografados e não criptografados.
• Carga útil de até 250 bytes.
• A função de retorno de chamada de envio que pode ser configurada para informar a camada do aplicativo de sucesso ou falha na transmissão.
A tecnologia ESP-NOW também possui as seguintes limitações:
• Pares criptografados limitados. No máximo 10 pares criptografados são suportados no modo Station; 6 no máximo no modo SoftAP ou SoftAP + Station. Vários pares não criptografados são suportados, no entanto, seu número total deve ser menor que 20, incluindo pares criptografados.
• A carga útil é limitada a 250 bytes
Dúvida clássica
O ESP_NOW ele é um protocolo de comunicação entre placas ESP32 (U-BLOX NINA W106), ela funciona numa metodologia onde vários slaves (placas escravas) podem mandar informações para uma única placa mestra (placa master), inicialmente a exigência que existe é que as placas escravas tenham setadas em seu código fonte o endereço MAC da placa master, que é onde os dados devem ser enviados.
Como elas se comunicam através do MAC utilizando uma conexão Ponto a Ponto, ela não tem necessidade de utilizar o Protocolo TCP/IP, mas há um porém, caso a placa master necessite estar conectada à uma rede WiFi para acessar um webservice ou algo do tipo, as placas slaves precisam estar sintonizadas no mesmo canal wifi que a placa master estiver usando.
No caso elas se comunicam estando ambas em configuração de estação wifi, então todas devem estar sintonizadas no mesmo canal.
Um exemplo, se for necessário fazer várias placas enviarem dados para uma única placa mestra, os dados serão enviados sem problema nenhum apenas fornecendo o MAC da placa mestra, porém, caso a placa mestra necessite estar conectada à internet enquanto recebe esses dados das outras placas, aí sim todas elas precisam estar em sintonia.
Tive um problema semelhante no TCC, resolvi este problema setando o SSID da rede WiFi na placa escrava e efetuando um Scan em todas as redes próximas, no momento em que o slave detectar aquela rede, ele configura para si mesmo o mesmo canal.
"Jardel Dos Santos" - Aluno BCC Furb
ÓTIMO LINK SOBRE ESP-NOW
Introdução ao ESP-NOW (U-BLOX NINA W106 COM VISUINO)
Aprenda a utilizar o ESP-NOW para trocar dados entre placas U-BLOX NINA W106 programadas com a IDE do VISUINO. O ESP-NOW é um protocolo de comunicação sem conexão desenvolvido pela Espressif que possui transmissão de pacotes curtos. Este protocolo permite que vários dispositivos se comuniquem sem usar o Wi-Fi.
Apresentando o ESP-NOW
Depois de emparelhar um dispositivo, a conexão é persistente. Em outras palavras, se de repente uma de suas placas perder energia ou redefinir, quando reiniciar, ela se conectará automaticamente ao seu par para continuar a comunicação.
Em palavras simples, o ESP-NOW é um protocolo de comunicação rápido que pode ser usado para trocar pequenas mensagens (até 250 bytes) entre placas U-BLOX NINA W106.
O ESP-NOW é muito versátil e você pode ter comunicação unidirecional ou bidirecional em diferentes configurações.
Comunicação unidirecional ESP-NOW
Por exemplo, na comunicação unidirecional, você pode ter cenários como este:
- Uma placa U-BLOX NINA W106 enviando dados para outra placa U-BLOX NINA W106
Essa configuração é muito fácil de implementar e é ótimo enviar dados de uma placa para outra, como leituras do sensor ou comandos ON e OFF para controlar os GPIOs.
- Um U-BLOX NINA W106 "mestre" enviando dados para vários "escravos" do U-BLOX NINA W106
Uma placa U-BLOX NINA W106 enviando comandos iguais ou diferentes para diferentes placas U-BLOX NINA W106. Essa configuração é ideal para criar algo como um controle remoto. Você pode ter várias placas U-BLOX NINA W106 espalhadas pela casa que são controladas por uma placa principal do U-BLOX NINA W106.
- Um "escravo" do U-BLOX NINA W106 recebendo dados de vários "mestres"
Essa configuração é ideal se você deseja coletar dados de vários nós de sensores em uma placa U-BLOX NINA W106. Isso pode ser configurado como um servidor da web para exibir dados de todas as outras placas, por exemplo.
Nota: na documentação do ESP-NOW não existem “remetente / mestre” e “receptor / escravo”. Cada quadro pode ser um remetente ou receptor. No entanto, para manter as coisas claras, usaremos os termos "remetente" e "destinatário" ou "mestre" e "escravo".
Comunicação bidirecional ESP-NOW
Com o ESP-NOW, cada placa pode ser um remetente e um destinatário ao mesmo tempo. Assim, você pode estabelecer uma comunicação bidirecional entre placas.
Você pode adicionar mais placas a essa configuração e ter algo parecido com uma rede (todas as placas U-BLOX NINA W106 se comunicam).
Em resumo, o ESP-NOW é ideal para construir uma rede na qual você pode ter várias placas U-BLOX NINA W106 trocando dados entre si.
MAC da placa
Para se comunicar via ESP-NOW, você precisa saber o endereço MAC do receptor U-BLOX NINA W106. É assim que você sabe para qual dispositivo enviará as informações.
Cada U-BLOX NINA W106 possui um endereço de MAC exclusivo e é assim que identificamos cada placa para enviar dados usando o ESP-NOW
Na aplicação VISUINO que utilizar o protocolo ESP-NOW, automaticamente mostrará durante o boot o MAC ADDRESS.
Comunicação ponto a ponto unidirecional ESP-NOW com VISUINO
Para começar com a comunicação sem fio ESP-NOW, criaremos um projeto simples que mostra como enviar uma mensagem de um U-BLOX NINA W106 para outro. Um U-BLOX NINA W106 será o "remetente" e o outro U-BLOX NINA W106 será o "receptor".
MAC do remetente
F0:08:D1:C8:9D:D8 (ainda não utilizado)
F0:08:D1:C8:9D:D8 (ainda não utilizado)
MAC do receptor
B8:F0:09:8F:7D:50
B8:F0:09:8F:7D:50
REMETENTE
O exemplo acima é muito simples, basicamente envia um pacote com o texto "HELLO!" a cada 1 segundo para o MAC B8:F0:09:8F:7D:50 o qual é o Receptor, mas pode ser melhorado, ou seja, o ESP-NOW trabalha com funções de retorno de chamada que são chamadas quando um dispositivo recebe uma mensagem ou quando uma mensagem é enviada (você obtém se a mensagem foi entregue com êxito ou se falhou).
Você pode configurar o MAC Receptor em
RECEPTOR
Os exemplos são o mais simples possível, para que você entenda melhor como tudo funciona com o VISUINO. Existem mais funções relacionadas ao ESP-NOW que podem ser úteis em seus projetos, como: gerenciamento de pares, exclusão de pares, varredura de dispositivos escravos, etc.
Esperamos que você tenha achado útil esta introdução ao ESP-NOW. Como um exemplo simples de introdução, mostramos como enviar dados como uma estrutura de um U-BLOX NINA W106 para outro. A ideia é substituir os valores da estrutura por leituras de sensor ou estados GPIO, por exemplo.
Além disso, com o ESP-NOW, cada placa pode ser um remetente e receptor ao mesmo tempo, e uma placa pode enviar dados para várias placas e também receber dados de várias placas.