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
Engenheiro da Computação no Centro de Estudos e Sistemas Avançados do Recife (C.E.S.A.R). 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 e em Eletrônica Digital com dispositivos lógico programáveis (CPLDs e FPGAs).