terça-feira, 7 de setembro de 2021

Wisol LOM204A02 acessando mandando dados para servidor MQTT THINGSTREAM da U-BLOX

 Wisol LOM204A02 mandando dados para servidor MQTT THINGSTREAM da U-BLOX

Beta
O objetivo deste BLOG é demonstrar o básico que se deve saber para configurar uma rede gateway LoRaWAN para acessar o servidor MQTT THINGSTREAM da U-BLOX. No exemplo, utilizamos o breakout LOM204A02 e como gateway um Dragino modelo LG308.

Módulo Sigfox Wisol LOM204A02


Para testes, corroemos e montamos a placa


Adquirimos então os componentes conforme esquema elétrico


Montado ficou assim


Algumas características

Modem LoRa. para operação redes públicas e privadas LoRaWAN bem como ponto a ponto (P2P
Perimtie embarcar a aplicação
Dimensão: 15mm x 18mm x 2.2mm
SAW filter integrado
Potência de saida: +20dBm
Baixo consumo
Pequena 


Muito fácil de utilizar.

Para efetuar a comunicação com ele, foi utilizado o conversor de USB para TTL 3.3V. A gravação é realizada via UART, com os pinos TXD e RXD do conversor ligados no RXD e TXD respectivamente do Breakout (UART5), bem como GND e VCC33. Há um pino de RESET que pode ser ligado no DTR do conversor, caso  seu modelo tenha.



Comunicação

O módulo se baseia nos comandos padrão CLI ou AT (P2P). A Wisol tem um aplicativo muito interessante para testes.

CLI
P2P

ATENÇÃO

Certifique-se que o firmware rodando no KIT LOM204A02 esteja com a opção para executar LoRaWAN. Compile o projeto KEIL da WISOL com a função int main() igual abaixo,

#if 1 int main(void) { Start_Init(); setClass( 0 ); // Set CLASS A mode. JOIN_START(); // Join srart while(1) { CLI_Command_Process(); API_MODE(); } } #endif

O LG308 é um LoRaWAN Pico Gateway de código aberto. Ele permite que você faça a ponte entre a rede sem fio LoRa para uma rede IP via WiFi, Ethernet ou celular 3G/4G através do módulo LTE opcional. O sem fio LoRa permite que os usuários enviem dados e alcancem alcances extremamente longos a baixas taxas de dados.

O LG308 usa forwarder de pacote semtech e totalmente compatível com o protocolo LoRaWAN. Ele inclui um concentrador SX1301 LoRa + 2 x SX1257, que fornecem 10 caminhos de desmodulação paralelo programável.

MQTT

Para os dispositivos de Internet das Coisas (IoT), a conexão com a Internet é um requisito. A conexão com a Internet permite que os dispositivos trabalhem entre si e com serviços de backend. O protocolo de rede subjacente da Internet é o TCP/IP. Desenvolvido com base na pilha TCP/IP, o MQTT (Message Queue Telemetry Transport) tornou-se o padrão para comunicações de IoT.



 É um protocolo de mensagens de publicação/assinatura, extremamente simples e leve, projetado para dispositivos restritos e redes de baixa largura de banda, alta latência ou não confiáveis. Os princípios de design são minimizar a largura de banda da rede e os requisitos de recursos do dispositivo, ao mesmo tempo em que tentam garantir a confiabilidade e algum grau de garantia de entrega. Esses princípios também acabam por tornar o protocolo ideal do emergente mundo "máquina para máquina" (M2M) ou "Internet das Coisas" de dispositivos conectados, e para aplicativos móveis onde a largura de banda e a bateria estão em um prêmio.

Thingstream (DATAFLOW MANAGER)
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)





Planos acessíveis

LoRaWAN MQTT


OTAA

• Vantagem: a rede gera e envia as chaves de criptografia; isto torna mais seguro. Devido ao maior nível de segurança, o OTAA é o método mais utilizado em IoT / LoRaWAN. 

• AppEUI: Este é um identificador de aplicativo exclusivo usado para agrupar objetos. este
endereço, 64 bits, é usado para classificar os dispositivos periféricos por aplicação. Essa configuração pode seja ajustado. 

• DevEUI: Este identificador, configurado de fábrica, torna cada objeto único. Em princípio, esta
configuração não pode ser ajustada. 

• AppKey: esta é uma chave secreta compartilhada entre o dispositivo periférico e a rede. É usado para determinar as chaves da sessão. Essa configuração pode ser ajustada.

Concentre-se na OTAA 

O Servido de Rede é o componente de software encarregado de estabelecer uma conexão com os objetos e gerenciando o núcleo da rede. Durante a conexão OTAA, e supondo que o dispositivo esteja autorizado a conectar-se a rede, a rede troca chaves de criptografia específicas da sessão com o núcleo da rede. O Servidor de Rede então aloca informações específicas para a sessão e as envia para o aparelho periférico:

DevAddr: Endereço lógico (equivalente a um endereço IP) que será usado para todos comunicação subseqüente.

 NetSKey (chave de sessão de rede): chave de criptografia entre o objeto e o operador usado para transmissões e para validar a integridade das mensagens. 

•   AppSKey (chave de sessão do aplicativo): chave de criptografia entre o objeto e operador (através da aplicação) utilizado para as transmissões e para validar a integridade das mensagens


Configurando  um gateway LoRaWAN

LG308 é totalmente compatível com o protocolo LoRaWAN. Ele usa o legado “Semtech Packet forward” para encaminhar os pacotes LoRaWAN ao servidor. A estrutura é a abaixo.

Acompanhe o link abaixo para configurar o Gateway Dragino LG380



Abaixo imagens das configurações básicas utilizadas para o Gateway Dragino LG380






Tópico no THINGSTREAM baseado em



Mandando via ABP pacotes para Gateway Dragino LG380

Network ID opcional


Comando CLI para pegar uma faixa de Frequências configurada no Gateway Dragino LG380

LRW 6D 0FF0 0000 0000 0000 00FF 0000

FreqINFO:


Gateway Channels frequency
---------------------------------------
chan_multSF_0
Lora MAC, 125kHz, all SF, 916.8 MHz
---------------------------------------
chan_multSF_1
Lora MAC, 125kHz, all SF, 917.0 MHz
---------------------------------------
chan_multSF_2
Lora MAC, 125kHz, all SF, 917.2 MHz
---------------------------------------
chan_multSF_3
Lora MAC, 125kHz, all SF, 917.4 MHz
---------------------------------------
chan_multSF_4
Lora MAC, 125kHz, all SF, 917.6 MHz
---------------------------------------
chan_multSF_5
Lora MAC, 125kHz, all SF, 917.8 MHz
---------------------------------------
chan_multSF_6
Lora MAC, 125kHz, all SF, 918.0 MHz
---------------------------------------
chan_multSF_7
Lora MAC, 125kHz, all SF, 918.2 MHz
---------------------------------------
chan_Lora_std
Lora MAC, 500kHz, SF8, 917.5 MHz
---------------------------------------
chan_FSK
disabled

LRW 31 abcdabcd uncnf 1
[2021-09-08 14:02:54 164]:
OK

UNCON_UP
FCnt 6 P 1
SEND
Freq: 916400000 DR:[2021-09-08 14:02:54 179]: 2
[2021-09-08 14:02:55 471]:RX1CH_OPEN
[2021-09-08 14:02:56 560]:RX2CH_OPEN
[2021-09-08 14:02:56 793]:
DONE


Aciona SCRIPT

mosquitto_pub -h mqtt.thingstream.io -p 1883 -q 0 -i device:352fc9a7-3211-4e46-8a9a-a390f2e4ca86 -t device:352fc9a7-3211-4e46-8a9a-a390f2e4ca86/260D5296/data -u XXUPHZWCKHZASRDIOME9 -P XXomeX6qvfBpKY2638AgYn1DqpZJa0lpBCI8yhzw -m ffffffe40000005a616263646162636400



Mais testes





ffffffde00000073616263646162636400 ====> abcdabcd


Foi utilizado também MQTT.FX para testar servidor MQTT





Questões: suporte@smartcore.com.br


FONTES: 


AppNote_LOM20XA_CLI_Command_Interface_for_WAN_20191201_En.pdf



LG308_LoRaWAN_Gateway_User_Manual_v1.4.2.pdf (dragino.com)

Sobre a SMARTCORE

A SmartCore fornece módulos para comunicaçã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