quarta-feira, 23 de setembro de 2020

NINA B302 NA LAN - ACESSADO DE QUALQUER PARTE DO MUNDO - W5500

 U-BLOX NINA B302

ACESSE EM QUALQUER PARTE DO MUNDO O NINA B302

O objetivo deste BLOG é demonstrar como é possível acessar o NINA B302 (em uma rede LAN) de qualquer parte do mundo. 

O exemplo programará o ROUTER para que direcione os acessos via WAN para a LAN, onde está o NINA B302 rodando uma aplicação WEB SERVER.

O exemplo também atualizará a tabela de DNS (DUCKDNS.ORG) para que sempre tenha o acesso ao IP PÚBLICO de sua máquina e então o IP LOCAL onde está o seu NINA B302.

Veja a vantagem:

Muitos de nós estão encaminhando manualmente a porta no dispositivo de gateway da Internet (IGD, roteador) para fornecer acesso aos serviços da Web locais da Internet.

Esta biblioteca fornece a maneira mais fácil de encaminhar automaticamente a porta usando o Simple Service Discovery Protocol (SSDP).

O SSDP fornece um mecanismo pelo qual clientes de rede, com pouca ou nenhuma configuração estática, podem descobrir serviços de rede. O SSDP consegue isso fornecendo suporte de descoberta multicast, bem como notificação baseada em servidor e roteamento de descoberta.

O SSDP é usado para anúncio e descoberta de serviços de rede e informações de presença. Ele realiza a tarefa sem assistência de mecanismos de configuração baseados em servidor, como protocolo de configuração dinâmica de hosts (DHCP) ou sistema de nomes de domínio (DNS), e sem configuração estática especial de um host de rede. O SSDP é a base do protocolo de descoberta de Universal Plug and Play (UPnP) e destina-se ao uso em ambientes residenciais ou de pequenos escritórios.

Esta biblioteca UPnP_Generic é criada para atualizar automaticamente seus IGDs com as informações de encaminhamento de porta solicitadas, usando uma das muitas placas / blindagens disponíveis. Consulte Placas atualmente suportadas.

O tempo entre as verificações para atualizar os mapeamentos de porta UPnP é configurável para corresponder ao seu caso de uso e é definido nos exemplos em 10 minutos. O LEASE_DURATION também é configurável e padrão para 10 horas (36000s). O nome do servidor virtual também pode ser especificado no esboço e é mostrado no IGD, por exemplo, NRF52-W5X00 ou ESP8266-WIFI.

WIZNET W5500

O chip W5500 é um controlador Ethernet integrado TCP/IP com fio que permite uma conexão mais fácil com a Internet para sistemas embarcados usando SPI (Interface Periférica Serial).

Instalando Arduino Adafruit no NINA B302

Abaixo o roteiro para você seguir:

Baixe e instale o Arduino IDE 
Inicie o Arduino IDE, vá em Preferências e adicione 

https://www.adafruit.com/package_adafruit_index.json


como "URL adicional do gerenciador de pastas"
Abra o Boards Manager no menu Tools -> Board e instale o "Adafruit nRF52 by Adafruit"
Selecione sua placa nRF5 no menu Ferramentas -> Placa
Adafruit Bluefruit nRF52 Feather



OBSERVAÇÃO: Durante a instalação, o Arduino IDE leva alguns minutos para extrair as ferramentas após o download, por favor, seja paciente.

Gravando bootloader da Adafruit

Use o gravador SEGGER JLINK para gravar o BREAKOUT com módulo NINA B302, conecte nos pinos do SWCLK (pino 7) e SWDIO (pino 9) do SEGGER JLINK nos pinos  SWDCLK e SWDIO do BREAKOUT (pinos nas laterais, próximo à antena). Não esquecer de ligar os GND do BREAKOUT no GND do SEGGER JTAG, bem como alimentar o BREAKOUT com 3.3V.


Ligue os pinos SWD DIO e CLK ...
...nestes pinos da placa BREAKOUT

Você pode também usar o ST-LINK V2


Abra J-FLASH lite e grave o bootloader da Adafruit

Mudar NRF52840
 
O mesmo se encontra em 

....\packages\adafruit\hardware\nrf52\0.19.0\bootloader\feather_nrf52840_express

Compile depois para o NINA B302

Com ele, você poderá transferir programas via DFU USB. Maiores detalhes sobre este bootloader

Segundo a documentação, se você pressionar o reset, o módulo aguardará por um certo tempo se há algo sendo enviado pelo Arduino, ou seja, o programa a ser gravado via DFU.

ATENÇÃO, o bootloader usa USB para gravação do NINA 302, OU SEJA, CRIA UMA COMM VIRTUAL, TAMBÉM PARA SER A SERIAL PADRÃO DO ARDUINO

INSTALE OS DRIVERS

Conecte na USB + e USB - um cabo USB, AGUARDE INSTALAR OS DRIVERS
Futuramente altere arquivo variant.cpp para que as GPIOS sejam os mesmos do NINA B302, atualmente estão para o ADAFRUIT FEATHER EXPRESS.

ÓTIMA REFERÊNCIA PARA PINOS DO ARDUINO E PINOS (GPIOS) DO NINA B302


Consulte

Conexão com NINA B302 e W5500

static const uint8_t SS   = (10);----> CS  (W5500)
static const uint8_t MOSI = PIN_SPI_MOSI; ----> SI (W5500)
static const uint8_t MISO = PIN_SPI_MISO;----> SO (W5500)
static const uint8_t SCK  = PIN_SPI_SCK;----> SCK      (W5500)

#define PIN_SPI_MISO         (24)    //24 original   IO8
#define PIN_SPI_MOSI         (25)    //25 original   IO3
#define PIN_SPI_SCK          (26)    //26 original    IO45


// D24 .. D26 (aka SPI pins)
  32,  // D24 is P1.00 (SPI MISO)
  15,  // D25 is P0.15 (SPI MOSI)
   7,  // D26 is P0.07 (SPI SCK )
  14,  // D10 is P0.14

INSTALE LIB e pré-requisitos
https://github.com/khoih-prog/UPnP_Generic

Thanks to Khoi Hoang, a great person, a great programmer!

Altere define.h

// Only one if the following to be true #define USE_ETHERNET true #define USE_ETHERNET2 false //true #define USE_ETHERNET3 false //true #define USE_ETHERNET_LARGE false #define USE_ETHERNET_ESP8266 false //true #define USE_ETHERNET_ENC false






Compile o programa NRF52_Simple_Server e pressione o botão para gravar.

E altere no INO

DDNSGeneric.client("xxxxxxxxx.duckdns.org", "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx");






Compile e grave no NINA B302.



Como podem observar, o programa será transferido!

Execute

Abra o IP com seu BROWSER preferido (local)


COMO ACESSAR ESTA PÁGINA REMOTAMENTE ?

Acessado de Outra LAN

Acessado do 4G

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

Nenhum comentário:

Postar um comentário

U-BLOX NINA W106 SENDO PROGRAMADO COM .NET nanoFramework - Amazon ALEXA - Mandando Temperatura e Umidade

U-BLOX NINA W106 SENDO PROGRAMADO COM .NET nanoFramework - Amazon ALEXA  Mandando Temperatura e Umidade para Assistente Alexa falar Testado ...