Criando end-devices LoRa: arquitetura e especificações

No meu último artigo no portal Embarcados abordei sobre as plataformas de desenvolvimento de baixo custo que possuíam módulos/transceivers LoRa integrados. Como sequência, inicio uma série de artigos para falar características dos elementos (dispositivos) de uma rede baseada na tecnologia LoRa, os end-devices e gateways.

Visão geral da arquitetura dos end-devices LoRa

A fim de projetar e desenvolver um dispositivo embarcado com tecnologia LoRa, deve-se ter em mente a estrutura geral de sua arquitetura, em termos de hardware, e possíveis especificações para caracterização do dispositivo para a sua aplicação específica.

end-devices LoRa - Arquitetura geral de dispositivo LoRa baseado em chipsets SX127x
Fig. 1 - Arquitetura geral de dispositivo LoRa baseado em chipsets SX127x

A arquitetura geral padrão desses dispositivos é ilustrada na Fig. 1. Note que a arquitetura especificada faz uso de transceivers LoRA da família SX127x. Caso seja utilizado outro transceiver, como o RN2483 da Microchip, a arquitetura pode variar um pouco. Assim, definida sua estrutura. Os elementos como fonte de energia (bateria), microcontrolador e sensores necessitam ser especificados. Cada elemento deve ser escolhido baseado no requisito de sua aplicação (caso de uso):

  • MCU: alguns requisitos de projeto podem interferir na etapa da escolha do microcontrolador. Dependendo da aplicação, um modelo com mais do que 32KB de memória flash para firmware possa ser necessário. Isso deve-se ao stack (pilha) do protocolo LoRaWAN embarcado. Para comunicação direta M2M (machine-to-machine) nó a nó, 32KB podem ser suficientes. De outro lado, para obter uma maior eficiência energética (com low-power modes) e maior poder de processamento, algum ARM poderia ser uma opção para o desenvolvimento do projeto. A Fig. 2 ilustra algumas especificações definidas pela SEMTECH.
Especificações mínimas e recomendadas para MCU com stack LoRaWAN
Fig. 2 - Especificações mínimas e recomendadas para MCU com stack LoRaWAN
  • Bateria: a escolha do modelo de bateria vai estar totalmente relacionada com o tipo de aplicação. Para uso de dispositivos em telemetria são usadas baterias AA (totalizando 3V), objetivando uma vida útil média entre 2 a 7 anos. Baterias CR2032 são preferidas para dispositivos wearables. Em outras aplicações como transportes e cidades inteligentes uma bateria recarregável de Lítio-polímero poderia ser usada permitindo um ciclo de re-utilização do dispositivo;
  • Sensores: estes são responsáveis pela parte específica da sua aplicação. Podendo ser desde um simples sensor de temperatura, giroscópio ou até um GPS. Ao configurar o funcionamento do seu dispositivo, recomenda-se medir o consumo médio do sensor utilizado. Como exemplo ilustrativo, a Fig. 3, do white paper Low Power Sensing da NXP, ilustra um diagrama de máquina de estados para atingir o objetivo de consumo mínimo de energia ao ativar um sensor.
Diagrama de estados para ativação de sensor com consumo mínimo de energia
Fig. 3 - Diagrama de estados para ativação de sensor com consumo mínimo de energia

Desenvolvimento e integração do end-device

Definido um projeto baseado na tecnologia LoRa, também faz-se necessária a escolha da arquitetura de rede. Em aplicações de telemetria e asset tracking, por exemplo, o uso do protocolo LoRaWAN torna-se essencial. De outra maneira, o uso de uma rede local envolvendo apenas comunicação M2M pode ser obtida sem o uso do LoRaWAN e consequentemente sem a instalação de um gateway LoRaWAN. A Figura 4 ilustra a topologia LoRaWAN.

Ilustração da topologia de uma rede LoRaWAN em termos de seus elementos
Fig. 4 - Ilustração da topologia de uma rede LoRaWAN em termos de seus elementos

Para um detalhamento maior sobre LoRaWAN, acesse este artigo anterior do portal.

Firmware para a comunicação

O desenvolvimento do firmware do sistema embarcado também ganha uma importância devido à questão do tempo de desenvolvimento de um protótipo/ideia (time-to-market). Assim, pode-se listar as principais bibliotecas e ferramentas já disponíveis para o uso da tecnologia LoRa.

Como exemplo base, segue uma imagem, Fig. 5, de um documento da STM sobre arquitetura de firmwares para uso dos transceivers LoRa SX127x na família STM32.

Estrutura para desenvolvimento de firmware
Fig. 5 - Estrutura para desenvolvimento de firmware

Exemplificando a partir da STM, o desenvolvedor ficaria a cargo de realizar a integração de sua aplicação com códigos da camada MAC LoRa. A fim de exemplificar, um hello world básico seria o de mandar via LoRa (seja usando rede LoRaWAN ou comunicação entre dois dispositivos LoRa) a informação lida por uma porta analógica do microcontrolador.

Tratando-se de plataformas que utilizam a interface Arduino para desenvolvimento, como algumas das citadas em meu último artigo, existem algumas bibliotecas abertas para comunicação usando a camada física e para configuração do dispositivo como endpoint LoRaWAN.

PingPong application (RX-TX) entre dois dispositivos

Nesta biblioteca temos o código exemplo de uma transmissão direta entre dois endpoints LoRa via comunicação RX-TX. A biblioteca é excelente para projetos que envolvam comunicação de longas distâncias com baixo consumo de energia. Os códigos deste exemplo podem ser encontrados neste link e informações sobre a biblioteca no site AirSpayce. A Fig. 6 ilustra a serial aberta para o exemplo de comunicação RX-TX utilizando esta biblioteca.

Exemplo LoRa RX-TX com a biblioteca RadioHead
Fig. 6 - Exemplo LoRa RX-TX com a biblioteca RadioHead

Os parâmetros que podem ser alterados pelo usuário de forma simples para envio de mensagens é o payload (número de bytes da mensagem). Outro parâmetro retornado na comunicação RX-TX é o RSSI.

LoRaWAN endpoint

O end-device LoRaWAN pode ser definido de acordo com uma das classes de operação. A biblioteca Arduino-LMIC apresenta uma implementação para comunicação com gateway LoRaWAN. Você pode conectar um endpoint LoRaWAN com Arduino via um gateway da The Things Network (TTN). Este vídeo do Andrea Spiess detalha perfeitamente o passo a passo. Como mencionei em meu último artigo, ainda não utilizei nenhuma placa com esta biblioteca pois não possuo nenhum gateway LoRaWAN até o momento.

A depender de sua aplicação, o uso de uma rede própria a partir do uso da tecnologia LoRa como meio de comunicação (camada física) possa ser interessante. Como mencionado algumas vezes, a rede LoRaWAN possui suas limitações.

Antena para comunicação do módulo com a rede

Objetivando um maior alcance possível aliado a um baixo custo do dispositivo, deve-se fazer a escolha da antena para seu endpoint. Diferentes opções estão disponíveis. Alguns modelos são listados abaixo, baseados no módulo apresentando em meu último artigo.

Fig. 7 - Diferentes antenas disponíveis para uso como módulo LoRa

Uma lista detalhada de diferentes modelos disponíveis pode ser encontrada no site da Taoglass, por exemplo. A configuração do diferente tipo de antena, como diretividade e ganho, influenciam no alcance da comunicação. Aos interessados em simular e calcular parâmetros, a SEMTECH oferece o LoRa modem calculator tool para simulação desses parâmetros.

LoRa modem calculator tool
Fig. 8 - LoRa modem calculator tool

Construção do nó LoRa

A partir da visão geral da arquitetura de um nó (endpoint) LoRa pode-se construir o dispositivo com base em ferramentas de baixo custo, como o Arduino UNO e suas variações. Aos interessados em montar dispositivos para comunicação via rádio (RX-TX) ou com integração com rede LoRaWAN, o tutorial do site MobileFish é um ótimo guia inicial.

Criando end-device LoRa a partir de Arduino UNO
Fig. 9 - Criando end-device LoRa a partir de Arduino UNO

Outras alternativas de montagem de endpoints a partir de placas open-source hardware podem ser encontradas no site da The Things Network. Na Fig. 10 pode-se ver um exemplo de um endpoint montado a partir de um STM32 com painel solar para alimentação de bateria.

End-device LoRa com STM32 e painel solar
Fig. 10 - End-device LoRa com STM32 e painel solar

Também apresento um endpoint próprio (Fig. 11) que fiz para medição de temperatura e umidade do solo. O módulo é baseado em um Arduino standalone com o módulo RF95W.

Endpoint LoRa para medição de umidade do solo
Fig. 11 - Endpoint LoRa para medição de umidade do solo

De outra maneira, o uso de uma plataforma de desenvolvimento para construção de endpoints pode ser viável. A depender do custo e suas funcionalidades, pode-se validar o uso de uma ferramenta deste tipo. Uma opção bastante interessante é a Whisper Node (Fig. 12), da empresa Australiana Wisen.

Whisper Node LoRa
Fig. 12 - Whisper Node LoRa

A placa é projetada para minimizar o consumo em aplicações de sensoriamento e redes de sensores sem fio. Em conjunto com as bibliotecas listadas acima e a LowPower library consegue-se o consumo mínimo de bateria. Além da possibilidade de uso de módulo RTC com a mesma, outra grande vantagem da placa sobre as outras é a possibilidade do uso de baterias CR2032 (fornecendo 3V) para alimentação. Para aplicações portáteis e compactas, o uso deste tipo de bateria pode se tornar um diferencial. A Fig. 13 ilustra o design da placa.

Fig. 13 - Whisper node LoRa: detalhamento da placa

Apesar de ser um placa (módulo) já pronta para desenvolvimento do sistema embarcado, trata-se, em minha opinião, da melhor solução de baixo custo para uso como endpoint LoRa. As placas apresentadas em meu artigo anterior podem ser soluções para o desenvolvimento, porém a Whisper node atende as mesmas características, aliada a um custo menor, com eficiência energética e com possibilidades de add-ons (como módulo RTC, conector de bateria CR2032).

Whisper node alimentado com pilhas AAA
Fig. 14 - Whisper node alimentado com pilhas AAA

Para os interessados em mais detalhes sobre a Node Whisper LoRa, uma breve documentação da placa está disponível aqui.

Conclusão

A construção de endpoints LoRa/LoRaWAN pode seguir o uso do RF95W como transceiver para comunicação e a escolha de um microcontrolador que atenda as suas especificações. Para desenvolvimento de projetos em curto espaço de tempo e grande compatibilidade de bibliotecas, módulos e add-ons, o uso de uma placa como a Whisper Node pode ser uma vantagem. Apesar da mesma não possuir pin-out padrão Arduino UNO, possui o MCU Atmega 328P e alguns add-ons  que possam ser essenciais em projetos de IoT, como RTC e conector para bateria CR2032, proporcionando uma autonomia maior para o dispositivo desenvolvido. Soluções que podem ser facilmente anexadas a um Arduino UNO para desenvolvimento com LoRa são: o shield LoRa da Dragino ou a construção de um transceiver a partir do RF95W como mostrado nos vídeos do Andrea Spiess.

Referências

LoRaWAN Quick Guide

RF95W Datasheet

LoRa Developer User Guide

STM32 LoRa Software expansion for STM32Cube

Low Power Sensing NXP

LoRaWAN MCU Specification and Requirements

The Things Network: building LoRa nodes

LoRaWAN limitations

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Internet Das Coisas » Criando end-devices LoRa: arquitetura e especificações
Comentários:
Notificações
Notificar
guest
6 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Leandro Salerno
Leandro Salerno
01/05/2020 12:18

Bom dia,

É possivel usar na frequencia 433,42 Mhz preciso controlar algumas persianas.

Obrigado

Hélvio Albuquerque
Hélvio Albuquerque
24/09/2019 10:47

Gostei da clareza e objetividade do artigo, além de conter muitas referências externas. Muito bem escrito. Parabéns, Eronides.

Andrey
Andrey
19/06/2018 15:55

Muito bom este artigo, gostaria de fazer um sistema de localização utilizando a tecnologia LoRa, mas ainda estou com algumas duvidas.

Cirineu Carvalho Fernandes
CCFer
03/12/2017 22:58

Amigo me responde uma coisa, necessariamente tenho que trabalhar com esse módulo e um microcontrolador ? ele não trabalha sem o microcontrolador não ?

Roniere Rezende
Membro
24/10/2017 10:56

Eronides, este seu artigo ficou muito bom. Era o que eu precisava para me ajudar para um projeto que estou desenvolvendo. Parabéns!

Fábio Souza
23/10/2017 09:09

Excelente artigo! Parabéns Eron.

Talvez você goste:

Séries

Menu

WEBINAR
 
Redes Mesh para Monitoramento
e Controle de Sensores

Data: 15/07 às 14:00h Apoio: Artimar| Microchip| Tecsus
 
INSCREVA-SE AGORA »



 
close-link