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.
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
intmain(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, selecioneApplicationEUI 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)