Gateways LoRa: soluções open-source hardware

Gateways LoRa

Anteriormente escrevi sobre as plataformas de hardware de baixo custo, baseadas em placas open-source hardware, e, na sequência, como montar seu próprio endpoint LoRa. Diferentemente dos artigos anteriores, este trata de outro elemento da rede LoRa ou LoRaWAN, o gateway, dispositivo responsável por concentrar e processar as mensagens recebidas dos endpoints.

 

O funcionamento do Gateway LoRa/LoRaWAN

 

Os gateways são os elementos de conexão entre os módulos responsáveis por captar informações (dispositivos finais) e os servidores de rede. Em geral a arquitetura de hardware de um gateway é composta por um dispositivo baseado em Linux embarcado, acoplado a um concentrador de rede e antena para comunicação externa. A depender da configuração da antena e capacidade de processamento do embarcado, um único gateway pode servir até 10.000 endpoints via LoRaWAN.

 

A cobertura do gateway (range de comunicação) também estará diretamente relacionada à antena e parâmetros de configuração da rede (taxa de transmissão, SF e canal). Elemento mais popular da rede, o endpoint possui seu funcionamento baseado no tipo de comunicação a que este está configurado:

  • Configuração em rede LoRa própria: o dispositivo envia e recebe informações através de comunicação por rádio, com protocolo próprio desenvolvido;
  • Configuração para LoRaWAN: dispositivo conectado a gateway LoRaWAN, sendo definido em uma das três classes do protocolo.

 

A diferença entre as definições da estrutura do gateway utilizado pode ser ilustrada na Figura 1.

 

Estrutura da arquitetura de rede LoRa.
Figura 1: Estrutura da arquitetura de rede LoRa.

 

Assim, os gateways LoRa podem também ser divididos seguindo a regra acima. Caracterizando os modelos baseados no protocolo LoRaWAN, e como consequência seus padrões, ou baseado em padrões próprios, com maior flexibilidade para configuração e troca de mensagens entre os dispositivos. Na prática, a diferença pode ser entendida no uso e configuração dos dispositivos.

 

Ao utilizar o protocolo LoRaWAN, detalhes de seguranca, qualidade do serviço, parâmetros de transmissão e eficiência energética dos dispositivos são implementados tanto no dispositivo responsável pelo sensoriamento, mas também no gateway. Com o uso de gateway configurado para LoRaWAN, a configuração dos endpoints seria mínima, quase uma operação plug and play. De maneira diferente, ao utilizar os dispositivos com comunicação via rádio, diretamente entre si e conexão com gateway, várias configurações tornam-se necessárias.

 

Gateways comerciais

 

Antes de detalhar as etapas de configuração e definição de arquitetura para um gateway LoRa a partir de ferramentas de baixo custo, como Raspberry Pi e placas que possuam Linux embarcado, uma breve lista de gateways comerciais baseados principalmente em LoRaWAN pode ser realizada como motivação para o desenvolvimento de sua própria estação base.

 

Uma lista completa e mais detalhada pode ser acessada no site da The Things Network (TTN). Particularmente, destaco os modelos da Link Labs e Gemtek. A Figura 2 ilustra alguns dos modelos comerciais.

 

Gateways LoRa comerciais
Figura 2: Gateways LoRa comerciais (Foto: LinkLabs).

 

Gateways baseados no Raspberry Pi

 

Como comentado anteriormente, as soluções de baixo custo mais acessíveis, seja em termos de custo e tempo de desenvolvimento de projeto, são baseadas em dispositivos com Linux embarcado. A partir do momento em que pensamos em um dispositivo de baixo custo, linux embarcado e possibilidade de desenvolvimento de projetos em curto espaço de tempo, recorremos ao Raspberry Pi como plataforma indicada para construção de gateway LoRa.

 

De fato, diferentes modelos do Raspberry (Pi 3/Pi Zero) podem ser bastante úteis para a construção de um gateway LoRa. Elementos adicionais como transceiver LoRa, concentrador (elemento responsável por aumentar o número de canais de comunicação), modem 3G/4G e antena podem ser facilmente anexados ao dispositivo. Ao pesquisar sobre gateways de baixo custo baseados em Raspberry Pi, uma série de tutoriais e artigos podem ser encontrados na internet, destaco alguns com diferentes custos de implementação e cases de aplicação.

 

Gateway com RPi 3 e Concentrador

 

Gateway baseado em RPi 3 e concentrador LoRa
Figura 3: Gateway baseado em RPi 3 e concentrador LoRa (Foto: rs-online).

 

À medida que um elemento concentrador é adicionado, o número de canais de comunicação aumenta, permitindo a conexão a um maior número de dispositivos. A solução combinada com Raspberry Pi permite um grande poder de processamento e conexão para aplicações industriais. O link pode ser encontrado no site da RS-Online.  

 

Gateway com Raspberry Pi 3 e RFH95

 

Gateway com Raspberry Pi 3 e transceiver LoRa RFH95
Figura 4: Gateway com Raspberry Pi 3 e transceiver LoRa RFH95 (Foto: Hackster.io).

 

Este pode ser considerado o gateway mais simples com o uso do Raspberry Pi 3 e transceiver LoRa. O tutorial pode ser acessado pelo link. A integração com a The Things Network para o uso de LoRaWAN ou comunicação própria pode ser realizada.

 

Gateway com Dragino Lora shield e Raspberry Pi 3

 

De maneira similar ao tutorial anterior, o gateway com o shield LoRa da Dragino pode ser incorporado ao Raspberry e TTN. A única vantagem do uso desse shield para construção do gateway é a portabilidade (uso tanto no Arduino quanto no Raspberry). O tutorial pode ser encontrado aqui.

 

Gateway LoRa com shield da Dragino
Figura 5: Gateway LoRa com shield da Dragino (Foto: Mobilefish)

 

A partir desse momento torna-se importante notar a diferença de gateways LoRa com a presença de um elemento concentrador e outros que possuem apenas um transceiver. Os dispositivos que possuem o concentrador estão aptos a se comunicaram em diferentes canais LoRa, o que não acontece com gateways que são baseados em transceiver comum. Como limitação própria do hardware do dispositivo, torna-se natural problemas de conexão quando um gateway baseado em transceiver se comunica com muitos dispositivos, acarretando problemas de conflito de mensagens e canal ocupado.

 

Arquitetura híbrida: a solução open-source

 

Apesar do baixo custo, quando comparado à maioria dos gateways comerciais, o uso do Raspberry Pi 3 como plataforma para construção do gateway LoRa ainda pode representar um custo elevado no desenvolvimento de um produto ou prova de conceito. Como consequência, o uso de outras plataformas de hardware baseadas em microcontroladores e single board computers (SBC) com Linux embarcado motivaram o desenvolvimento de soluções ainda mais baratas para gateways LoRa.

 

Atualmente algumas placas e plataformas para desenvolvedores que oferecem alto poder de processamento e conectividade, aliadas a um baixo custo. Exemplos baseados em plataformas com distribuições de Linux embarcado são a Onion Omega 2 e Linkit Smart 7688 Duo. Além delas, placas baseadas no ESP32 também se candidatam à unidade central do gateway. A Figura 6 ilustra uma plataforma que contém um transceiver LoRa e um ESP32 como unidade de processamento.

 

Placa baseada em ESP32 com transceiver LoRa SX1278
Figura 6: Placa baseada em ESP32 com transceiver LoRa SX1278 (Foto: Aliexpress).

 

Além de diversas soluções baseadas em ESP32, um tipo de arquitetura em específico que pode parecer bastante promissora para a construção de um gateway LoRa de baixo custo é baseada em placas com arquiteturas dupla, como a Linkit Smart 7688 Duo. A Figura 7 ilustra detalhes da arquitetura da Linkit.

 

Arquitetura da Linkit Smart 7688 Duo
Figura 7: Arquitetura da Linkit Smart 7688 Duo (Foto: MediaTek).

 

Para a montagem do gateway LoRa, a parte do microcontrolador (MCU) pode ficar responsável pela operação de comunicação LoRa e o SoC, com Linux embarcado, com o processamento e envio das informações para um servidor (alguma plataforma de IoT, Thingspeak, ou banco de dados). A integração, a troca de mensagens, entre o MCU e o SoC é realizada através de uma comunicação serial a partir da biblioteca bridge, desenvolvida para o Arduino YUN.

 

Recentemente tive a experiência de montar um gateway LoRa próprio (baseado na comunicação rádio, ou seja, sem uso do LoRaWAN) baseado na Linkit Smart 7688 Duo e transceiver LoRa RFH95. A Figura 8 ilustra a montagem da placa com transceiver. A operação básica do gateway era o scan do recebimento de mensagens LoRa, decodificação a partir de formatação do payload da mensagem e envio para servidor via MQTT ou alguma plataforma como o ThingSpeak.

 

Gateway LoRa baseado na Linkit Smart 7688 Duo e transceiver
Figura 8: Gateway LoRa baseado na Linkit Smart 7688 Duo e transceiver (Foto: própria).

 

Um detalhe que merece destaque na hora da montagem do gateway é a definição da antena do transceiver. Na foto anterior pode-se notar a presença da uma antena wire, com o comprimento do fio definida pela frequência de operação do transceiver, 915MHz. Outras soluções tornam-se possíveis a depender do tipo de conector disponível no módulo do transceiver. A Figura 9 ilustra outras antenas para a conexão com o transceiver que aumentam o range de comunicação (com os mesmos parâmetros de comunicação).

 

Diferentes antenas para conexão com transceivers LoRa
Figura 9: Diferentes antenas para conexão com transceivers LoRa (Foto: Própria).

 

Gateways baseados no ESP8266/ESP32

 

Como citado na seção anterior, por possuírem Wi-Fi integrado em seus SoCs, os módulos ESP8266 e ESP32 também aparecem como uma solução de baixo custo para gateway LoRa. A seguir algumas sugestões de implementações que podem ser achadas na comunidade.

 

ESP8266

 

Este link do Hallard mostra um gateway baseado no ESP8266 e transceiver LoRa RFH95W. A placa utilizada neste tutorial é o WeMos ESP8266.

 

Gateway LoRa com ESP8266
Figura 10: Gateway LoRa com ESP8266 (Foto: Github).

 

ESP32

 

De maneira similar ao ESP8266, placas baseadas em ESP32 que possuem transceiver LoRa integrados e também poderão funcionar como gateway. Alguns tutoriais e discussões já foram iniciadas no site da The Things Network sobre projetos com o ESP32 e placas compatíveis.

 

Gateway LoRa com ESP32
Figura 11: Gateway LoRa com ESP32 (Foto: TheThingsNetwork).

 

Particularmente, ainda não montei nenhum gateway baseado em ESP32/ESP8266. Para os que estão iniciando com LoRa, recomendo os vídeos do Andreas Spiess sobre LoRa em geral, montagem de gateways e endpoints.

 

 

Gateway LoRa Dragino LG-01S

 

Diferentemente da construção de um gateway a partir de placas de desenvolvimento, como mostrado anteriormente, algumas soluções open-source já são fornecidas como solução completa, restando apenas a configuração e instalação. Um exemplo destes gateways open-source é o LG-01S da Dragino.

 

Gateway LoRa LG01-S da Dragino
Figura 12: Gateway LoRa LG01-S da Dragino (Foto: Dragino).

 

A arquitetura de hardware segue o padrão híbrido, mostrado anteriormente, composto de um MCU e SoC com Linux embarcado. A Figura 13 mostra em detalhe o diagrama do LG-01S. Uma das grandes vantagens desse gateway é a configuração via página web ou programação direta acessando o Linux embarcado no SoC via SSH.

 

Arquitetura do Gateway LG-01S da Dragino
Figura 13: Arquitetura do Gateway LG-01S da Dragino (Foto: Dragino).

 

De maneira similar ao gateway montado a partir da Linkit Smart 7688 Duo e transceiver LoRa, o LG-01S possui acoplado ao MCU o transceiver LoRa e as mensagens recebidas/enviadas são passadas pela comunicação “bridge”. Um detalhe adicional a esse gateway é a possibilidade de conexão direta de sensores e periféricos, já que o mesmo possui alguns pinos de I/O disponíveis.

 

Detalhe para a interface de I/Os do LG-01S
Figura 14: Detalhe para a interface de I/Os do LG-01S (Foto: Própria).

 

A conexão do gateway com a The Things Network, rede colaborativa baseada em LoRaWAN, pode ser facilmente realizada através do acesso à configuração do gateway via browser (navegador).

 

Conclusão

 

Para o estabelecimento de uma rede LoRa própria, sem o uso do protocolo LoRaWAN, a montagem de um gateway a partir de uma placa com Linux embarcado como Raspberry Pi ou Linkit Smart 7688 torna-se uma opção bastante acessível. O uso do ESP32 em conjunto com transceiver LoRa pode baratear ainda mais a montagem do gateway, aumentando a cobertura devido ao barateamento do preço unitário por dispositivo gateway. A seguir apresento um vídeo demonstrando os gateways. Espero continuar a série de artigos com detalhes da montagem do gateway com a Linkit Smart 7688 Duo e uso do LG-01S.

 

 

Referências

A maioria das referências já foram citadas ao longo do texto. Recomendo fortemente o site da The Things Network para obter mais informações sobre LoRa e LoRaWAN. Para makers e entusiastas de IoT recomendo os vídeos do Andreas Spiess.

NEWSLETTER

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

Obrigado! Sua inscrição foi um sucesso.

Ops, algo deu errado. Por favor tente novamente.

Eronides Da Silva Neto
Mestrando em Ciências da Computação no Centro de Informática da Universidade Federal de Pernambuco (CIn-UFPE), Engenheiro Eletrônico pela Universidade Federal de Pernambuco (DES-UFPE). Possui experiência profissional no desenvolvimento de sistemas embarcados, adquirida no período em que atuou como bolsista de Cooperação Técnica (P&D, Edital Tecnova FACEPE) na empresa WT Engenharia (2015-2016) e em Eletrônica Digital com dispositivos lógico programáveis (CPLDs e FPGAs). Atualmente é pesquisador no laboratório de Inovação Veicular (LIVE), FCA/CIn-UFPE.