segunda-feira, 13 de dezembro de 2021

U-BLOX NINA B302 (VISUINO) COM U-BLOX NINA W102 (AIRLIFT WIFI) - REALIZANDO ACESSO THINGSTREAM


O objetivo deste BLOG é como programar o U-BLOX NINA  B302 (BLE SENSE 32) com o VISUINO para que possa acessar a INTERNET SEM FIO (802.11), utilizando o COPROCESSOR "AIRLIFT", no caso, haverá um conexão e fará uma requisição MQTT ao servidor THINGSTREAM

"O poder da programação VISUAL do VISUINO no U-BLOX NINA B302 e a adição de acesso à INTERNET via U-BLOX NINA W102 via SPI de 8MHz"

AIRLIFT é baseado no WIFININA, o qual é baseado no NINA W102,  utiliza a interface SPI.

WIFI COPROCESSOR PARA O NINA B302

POR QUE AIRLIFT ?

Ter o WiFi gerenciado por um chip separado significa que seu código é mais simples, você não precisa armazenar dados do soquete ou compilar e depurar uma biblioteca SSL. Com o AirLift, você pode enviar comandos básicos, mas poderosos baseados em socket, sobre SPI de 8MHz para transferência de dados de alta velocidade. O U-BLOX NINA W102 pode lidar com todo o trabalho pesado de conexão a uma rede WiFi e transferir dados de um site e usar a mais recente criptografia TLS/SSL (tem certificados radiculares pré-gravados).


MONTAGEM DO BREAKOUT COM  U-BLOX NINA B302 E U-BLOX NINA W102


Adquirimos então os seguintes componentes


Montado ficou assim


O esquema elétrico é este


Algumas características do Kit

-Botão de RESET;
-Botão de Modo BOOTLOADER (W102);
-Acesso às várias GPIOS.

Pequena 

VISUINO

Visuino é o mais recente software inovador da Mitov Software. Um ambiente de programação visual que permite programar suas placas Arduino. ... Os componentes encontrados no software Visuino representam seus componentes de hardware e você pode criar e projetar facilmente seus programas usando o recurso de arrastar e soltar.

Instalação do VISUINO 8.0.0.36

Baixe em  https://www.visuino.com/ e instale


Gravando bootloader BLE SENSE 32 no U-BLOX NINA B302


Use o gravador SEGGER JLINK para gravar o BREAKOUT com módulo U-BLOX 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


Abra J-FLASH lite e grave o bootloader para o U-BLOX NINA B302 (BLE SENSE 32)


O mesmo se encontra em 

C:\Users\Usuario\AppData\Local\Arduino15\packages\arduino\hardware\mbed\2.4.1\bootloaders\nano33ble

Com ele, você poderá transferir programas via USB (serial) (SAM-BA extended). 

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


Gravando "AIRLIFT" NO  U-BLOX NINA W102

Baixe o BIN 

Execute o ESP32 DOWLOAD TOOL ou ESPTOOL


Ligue os pino do U-BLOX NINA B302 no U-BLOX NINA W102 

 

BREAKOUT B302

 NRF52840

BREAKOUT W102

 ESP32

CS

IO36

P1.02

IO28

5

READY

IO25

P0.04

IO7

33

RESET

IO21

P1.12

RESET

RESET

SCK

IO1

P0.13

IO29

18

MOSI

IO35

P1.01

IO31

14

MISO

IO34

P1.08

IO1

23

GPIO0

IO27

P0.05

IO27

0

 

BREAKOUT B302

NRF52840

BREAKOUT W102

ESP32

TABELA DE CONEXÃO

NINA B302 W102
-MOSI IO35 IO31
-MISO IO34 IO1
-CLK IO1 IO29
-CS         IO36 IO28
-RST IO21 RST
-READY IO25 IO7
-GPIO0 IO27  IO27



Conheça ThingStream, servidor MQTT da U-BLOX
Implementa também SSL e SN-MQTT

Ambiente thingstream

Características:
  • o custo do Thingstream como um MQTT Broker é muito menor do que o custo daqueles associados ao Azure e AWS;
  • o gerenciador de fluxo de dados é uma excelente vantagem, dados podem ser tratados no servidor e então encaminhados;
  • permite programação Node.js;
  • a segurança é diferente e muito mais simplificada do que tentar fazer uma troca de certificados com a AWS etc;
  • tem uma conexão segura em vez do dispositivo. Isso realmente simplifica a integração;
  • capacidade de se inscrever em vários tópicos diferentes;
  • nós para acessos para vários serviços da AWS Amazon, Azure IoT, IBM Watson, IFTTT (DashBoard e uma infinidade de outras opções)
  • criação de Coisas (Thing);
  • monitoração de eventos MQTT;
  • alertas quando algo não vai bem.
No modo tradicional, se você quer acessar AWS, AZURE, etc:
  • você deve fazer registro
  • gerar Certificados
  • manter, guardar e proteger seus Certificados
  • despachar cada Certificado um por um para os Devices na produção
  • você precisa manter identidades diferentes por cada um dispositivo e entregá-los com segurança
  • fortes impactos na complexidade na logística, produção tempo, configuração do sistema e custos de manutenção
Com ThingStream, se você quer acessar AWS, AZURE, etc:
  • você deve fazer um registro de CA (certificate authority) (Access ID e Secret Key), exemplo, IAM na AMAZON.
  • quando você cria um Device (Things) no ThingStream, você deve pegar as credenciais (Username, Password, Client ID) (Device Certificate), basicamente muda Client Id e Password para cada Device
  • utilize estas credenciais (Things) (Username, Password e Client ID) no Device (U-BLOX NINA W106) para acessar o ThingStream  via MQTT
  • crie Tópicos (Topics) que devem acessados pelos Devices (U-BLOX NINA W106), ou seja, para fazer Publish ou Subscribe
  • no DATAFLOW manager (Flows), o Nó ThingStream Subscribe deve estar conectado à um Tópico previamente criado para o seu Device (U-BLOX NINA W106), é por ele que começa o disparo para o DATAFLOW manager
  • Dentro do DATAFLOW pode de ter vários Nós ThingStream Subscribe
  • no DATAFLOW manager tenha fácil acesso à AWS, AZURE, etc utilizando Access ID e Secret Key e então solicite os serviços disponíveis (S3, LAMBDA, etc) (No caso da AMAZON)

FLOW

Saldo de "Publish"

Registros dos Eventos


Planos acessíveis

Credenciais devem ser obtidas no ThingStream.IO

Pegue aqui as credenciais

O Tópico do MQTT deve ser criado aqui

Tráfego no Broker MQTT da u-BLOX



ABRA O VISUINO E MONTE O SEGUINTE PROJETO (CONFORME TABELA DE CONEXÃO)
Click no módulo AIRLIFT e coloque as credenciais do WIFI.



Click no módulo MQTT CLIENT para configurações de acesso MQTT do THINGSTREAM



Configure servidor MQTT e PORTA



DADO ENVIADO AO THINGSTREAM

Neste caso, é enviado uma STRING a cada 1 segundo, como exemplo: "123456"


COMPILANDO


TRANSFERINDO PROGRAMA



Sobre a SMARTCORE

A SmartCore fornece módulos para comunicacão wireless, biometria, conectividade, rastreamento e automação.
Nosso portfó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