terça-feira, 20 de setembro de 2022

U-BLOX NINA W106 RODANDO ESP-NOW (VISUINO)

 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/
 
U-BLOX NINA W106
(HOMOLOGADO PELA ANATEL)


VISUINO
Visuino is the latest innovative software from Mitov Software. A visual programming environment that allows you to program your Arduino boards. ... The components found in the Visuino software represent your hardware components and you can easily create and design your programs using drag and drop.

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.

Vamos programar o U-BLOX NINA W106 usando o VISUINO, portanto, antes de prosseguir com este tutorial, você deve ter VISUINO instalado.

    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.
    Por exemplo, você pode ter duas placas se comunicando.
    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)
    MAC do receptor
    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

    O exemplo acima é também é muito simples, fica aguardando o pacote com o texto "HELLO!"  enviado pelo MAC F0:08:D1:C8:9D:D8, o qual é o REMETENTE e então é mandado pela serial, bem como o MAC.
    RECEPTOR
    Conclusões
    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. 
    DÚVIDAS

    suporte@smartcore.com.br

    REFERÊNCIAS

    Sobre a SMARTCORE

    A SmartCore fornece módulos para comunicação wireless, biometria, conectividade, rastreamento e automação.
    Nosso portifólio inclui modem 2G/3G/4G/NB-IoT/Cat.M, satelital, módulos WiFi, Bluetooth, GNSS / GPS, Sigfox, LoRa, leitor de cartão, leitor QR code, mecanismo de impressão, mini-board PC, antena, pigtail, LCD, bateria, repetidor GPS e sensores.
    Mais detalhes em www.smartcore.com.br