sexta-feira, 14 de junho de 2019

Wisol LOM204A02 acessando TTN

Wisol LOM204A02 acessando TTN - OTAA


O objetivo deste BLOG é demonstrar o básico que se deve saber para configurar uma rede gateway LoRaWAN para acessar o serviço TTN. No exemplo, utilizarem o KIT LOM204A02 da Wisol, com gateway um Dragino modelo LG308 e servidor TTN.

A Rede de Coisas (TTN) é uma iniciativa iniciada pela sociedade civil holandesa. O objetivo é ter redes LoRaWAN instaladas em todas as cidades do mundo. Ao interconectar essas redes locais, a TTN quer construir uma infra-estrutura mundial para facilitar uma Internet das Coisas (IoT) pública.

A The Things Network (TTN) é o servidor IoT na nuvem utilizado nesse projeto. É um dos servidores gratuitos para LoRaWAN mais utilizados, com mais de 90 mil desenvolvedores, mais de 9 mil gateways de usuários conectados à rede ao redor do mundo e mais de 50 mil aplicações em funcionamento.

A TTN comercializa nós e gateways LoRa e provê treinamento individual e coletivo para empresas e desenvolvedores que desejam utilizar o LoRa. Possui uma comunidade bem ativa nos fóruns, sempre colaborando e ajudando a resolver problemas, além de prover diversos meios de integrar a TTN com a aplicação que se deseja usar. Possui integração nativa com diversas aplicações como: Cayenne (utilizado nesse trabalho), Hypertext Transfer Protocol (HTTP), permitindo ao usuário realizar uplink para um gateway e receber downlink por HTTP, OpenSensors e EVRYTHNG . Caso o usuário queira criar sua própria aplicação, a TTN disponibiliza Application Programming Interface (API) para uso com Message Queuing Telemetry Transport (MQTT) e diversos Software Developer Kits (SDK) para uso com as linguagens Python, Java , Node.Js , NODE-RED e Go

A rede TTN utiliza o protocolo LoRaWAN objetivando uma cobertura em longo alcance para os dispositivos da rede, caracterizando-a assim com uma Wide Area Network (WAN). Devido ao baixo consumo de energia e ao uso da tecnologia LoRa, é chamada de LPWAN (Low Power Wide Area Network). O grande diferencial da TTN é seu estabelecimento como uma rede aberta (open-source) e colaborativa (crowd-sourced), onde qualquer usuário pode contribuir instalando um gateway em sua residência.

Os elementos da TTN são classificados como: 

• Endpoints (nós): Os dispositivos responsáveis pela camada de sensoriamento da rede, o endpoint LoRaWAN. Podem coletar informações através de sensores e também acionar dispositivos/máquinas via atuadores. São configurados através de uma das três classes distintas do protocolo LaRaWAN; 

• Gateways: Elementos responsáveis por concentrar e processar as informações enviadas pelos endpoints. Os gateways em geral estão conectados a internet, seja por WiFi/Ethernet ou 3G/4G em locais remotos. Mesmo que uma mesma rede LoRaWAN tenha diferentes objetivos, baseados em aplicações distintas, os gateways possuem o objetivo comum de fornecer a maior área de cobertura possível; 

• Aplicações: Conectar e interligar os diferentes dispositivos da rede TTN para o fornecimento de informações gerais sobre a coleta de dados dos dispositivos.

ATENÇÃO

If the firmware you use is an old firmware. in this firmware, the server you choose is for TTN v2. In this firmware, you can chooose custom server and put the TTNv3 server address. 

Or you can upgrade to our latest firmware which support TTNv3 server in the drop list as well. 

We keep improving the gateway firmware for new features and bug fixes. Below are the links for reference.

Ø  Latest firmware:  LoRa Gateway Firmware,

http://www.dragino.com/downloads/index.php?dir=LoRa_Gateway/LIG16/Firmware)

Ø  Change LogFirmware Change Log.

http://www.dragino.com/downloads/downloads/LoRa_Gateway/LIG16/Firmware/ChangeLog )

The file named as dragino-lgw–xxxxx-squashfs-sysupgrade.bin is the upgrade Image. as below.

Web -- System -- Firmware Upgrade



Select the required image and click Upload. The image will be uploaded to the device, and then click Process to upgrade.


NOTE: You normally need to uncheck the Preserve Settings checkbox when doing an upgrade to ensure that there is no conflict between the old settings and the new firmware. The new firmware will start up with its default settings.


Agora TTN é VERSÃO 3


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 // This function calls not only OTAA but also ABP while(1) { CLI_Command_Process(); // To receive CLI command through serial port(UART) API_MODE(); // Run LoRa protocol. } } #endif


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


1.1 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.




Informações  do LG308


Gateway ID é específico para cada Gateway

Este capítulo descreve como usar o LG308 para trabalhar com 
TheThingsNetwork (TTN) LoRaWAN Servidor​(​www.thethingsnetwork.org​)
O método para trabalhar com outros servidores LoRaWAN será semelhante.


Passo 1: Obter uma ID do gateway único.
Cada LG308 tem um ID de porta de entrada única. O ID pode ser encontrada na página LoRaWAN do gateway.

O ID de exemplo gateway é: a840411b8268ffff

Passo 2: Cadastre-se uma conta de usuário no servidor TTN




Passo 3: Criar um gateway


Clique no ícone Gateways para abrir a página a seguir:



Depois de criar o gateway, você pode ver a informação gateway, como abaixo.




1.2​ Configurar LG308 para se conectar ao TTN

Agora você pode configurar o LG308 para deixá-lo se conectar à rede TTN.
Verifique se o seu LG308 tem uma conexão com a internet em primeiro lugar.

Passo 1: Configurar LG308 para atuar como despachante de matéria


Passo 2: Entrada de informação do servidor e ID do gateway

Escolha o correto o endereço do servidor e ID gateway.


Resultado da verificação

Depois de fazer as configurações acima, o LG308 deve ser capaz de se conectar ao TTN. Abaixo está o resultado visto de TTN:




1.3 Configurar frequência

Depois de fazer as definições acima, o LG308 será capaz de atuar como um gateway LoRaWAN.
 


1.4 Adicionar um dispositivo EndDevice LoRaWan

Esta seção mostra como adicionar um dispositivo EndDevice LoRaWAN à uma rede LoRaWAN e ver os dados de TTN no web site.

Usamos o LOM204A02 como um dispositivo de referência - a configuração para outros dispositivos LoRaWAN será semelhante.


Passo 1​: Criar uma definição de dispositivos no TTN como exemplo "COLETOR XYY"

Três códigos são necessários para definir o dispositivo em TTN: 

DEV EUI - código de identificação único para um dispositivo em particular. 
APP EUI - código de identificação para um aplicativo definido no TTN. 
APP Key - Chave exclusiva para proteger as comunicações com um dispositivo em particular.


Um conjunto destes códigos são armazenados em cada dispositivo pelo fabricante como os códigos padrão para esse dispositivo particular. Cada dispositivo é fornecido com uma etiqueta com o EUI dispositivo padrão como mostrado abaixo.





Nota: Você pode ser capaz de alterar estes códigos em um dispositivo usando uma instalação de configuração do dispositivo, por exemplo o LOM204A02 utiliza um acesso porta série e uma série de comandos AT. Alterar os códigos podem ser necessárias no caso em que você tem que usar os códigos atribuídos por um servidor WAN Lora.


Para o servidor TTN, você pode usar os códigos estabelecidos no dispositivo como no exemplo a seguir. 

Selecionar Adicionar aplicativo para abrir a tela abaixo.

Note-se que há uma APP EUI já criado pela TTN, mas esta não é a definida no dispositivo. 






Selecionar Devices e Register Device para abrir a tela abaixo.






Nota-se que há uma APP EUI já criado pela TTN, mas esta não é a definida no dispositivo. Para adicionar o APP EUI do dispositivo LOM204A02, selecione​ApplicationEUI​ e ApplicationKey​ no aplicativo LoRAWAN_GUI_CUSTOMER (CLI), em seguida, insira o código necessário. Pode ser Hardcoded depois no projeto feito no KEIL C.


Passo 2: Ligar dispositivo LOM204A02 e vai juntar-se automaticamente a rede TTN. 

Depois de ingressar com sucesso, ele vai começar a fazer upload de mensagens parao TTN. Selecione a guia Dados e você vai ver os dados que aparecem no painel.

Note que isso pode levar algum tempo para que os dados do dispositivo para aparecer no visor TTN.




Mais informações sobre TTN (gateway)



Mais informações sobre TTN (aplicação)







Vídeo (sem áudio)


Neste vídeo eu conectei o starter kit Lora nas 2 USB. Abri um projeto do KEIL C e alterei para enviar a mensagem "MIGUEL ALEXANDRE WISINTAINER"  a cada 10 segundos para o servidor TTN via Gatway da Dragino. Abri também o aplicativo LORA_WAN da WISOL para fazer o debug da execução do aplicativo.
Logo depois entrei na servidor TTN para ver KIT cadastrado e observar os pacotes recebidos. Também abri o gateway via HTTP.




Dentro do TTN você vai obter o APPLICATION EUI e APPLICATION KEY os quais deve ser cadastrados no módulo LoRa antes de realizar o JOIN, via aplicativo "Lora Wan Gui" ou fazer hardcoded ou via terminal (host) com comandos CLI na UART5.



ABP

O módulo possui um dispositivo EUI.
Este é um número único e é fornecido pela WIsol. Você não pode modificá-lo.
Use o comando LRW 3F para verificar isso.

Se você usa o modo OTAA

Você deve informar a TTN deste dispositivo EUI e obter o aplicativo EUI e o Application KEY.
E, em seguida, insira o aplicativo EUI e o Application KEY usando o comando CLI (LRW 33, LRW 51)

Se você usar o modo ABP

O endereço do dispositivo (device address) é fornecido pelo fabricante ou pela TTN. E a ID da Rede, a Chave da Sessão da Rede e a Chave da Sessão do Aplicativo são fornecidas pela TTN. E, em seguida, insira esses números usando o comando CLI (LRW 65, LRW 66, LRW 67, LRW 68)

Este modo não possui processo de JOIN.

Questões: suporte@smartcore.com.br


FONTES: 






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