U-BLOX 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
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 ...
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 DRIVERSFuturamente 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é-requisitosAltere 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
Baixe e instale o Arduino IDE
Inicie o Arduino IDE, vá em Preferências e adicione
https://www.adafruit.com/package_adafruit_index.json
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
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.
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 ...
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
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
Execute
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