Como posso interagir com uma rede LoraWan com o MQTT?

8

Estou trabalhando em um projeto que envolve a criação de uma rede LoraWan usando:

  • Dragino lg01 como um gateway.
  • Um Arduino Uno e um escudo Dragino Lora com um simples sensor de temperatura LM35
  • Quanto ao servidor, estou procurando algo de código aberto e compatível com o LoraWan, encontrei o servidor Wso2 IoT e já comecei a instalá-lo, acho que preciso instalar o Apache ActiveMQ JMS Provider com ele e não o fiz saber como.

Para enviar os dados do gateway para o servidor, vou usar o MQTT.

Quanto à visualização dos dados, vou criar um aplicativo usando o AngularJS.

Portanto, o problema que tive foi que fiquei confuso sobre a conexão do nó ao servidor desde que encontrei dois métodos (Ativação sem fio e Ativação por personalização) e isso afeta a maneira como o Gateway e o servidor devem ser programados?

Também vou programar o Gateway para enviar dados ao servidor com MQTT ou toda a programação acontece no nó?

Mohamed Achref Dridi
fonte

Respostas:

10

Imagine sua rede como um diagrama de Venn, em que um conjunto é LoraWan e o outro é MQTT.

insira a descrição da imagem aqui

Os elementos nos conjuntos devem saber apenas sobre os conjuntos.

  • Portanto, os nós que usam LoraWan (estão no conjunto LoraWan) não precisam se preocupar com o MQTT ou com o servidor. Eles apenas enviam / recebem dados de / para o Gateway. O Gateway é o fim do mundo deles.
  • O Gateway está na interseção dos dois conjuntos, LoraWan e MQTT. A parte relacionada ao MQTT deve ser hospedada aqui, pois esse elemento faz parte dos dois conjuntos. Sua tarefa é encaminhar os dados coletados dos nós LoraWan para o Servidor, publicando os dados apropriados dos nós em um tópico específico do MQTT. A lógica que distribui dados entre os tópicos corretos do MQTT deve ser implementada aqui.

  • O servidor pode hospedar o broker do MQTT como está no conjunto do MQTT e não tem nada a ver com o LoraWan.


Se você está procurando um servidor compatível com LoraWan e possui nós habilitados para LoraWan, não entendo onde você precisa do seu Gateway. O Gateway deve fornecer interoperabilidade entre duas redes diferentes. No seu caso, entre uma rede LoraWan e uma rede TCP / IP ou a Internet.

Bence Kaulics
fonte
Obrigado pelo conselho. Posso ver com mais clareza como a rede será conectada e, para ser honesto, não entendi exatamente que tipo de servidor vou usar, então achei que deveria usar um que seja compatível com lorawan, mas Depois de um pouco de pesquisa, descobri que o wso2 iot pode funcionar com o mqtt e, portanto, pode ser programado para receber dados do gateway. E obrigado infintamente novamente por esclarecer todo esse negócio para mim!
Mohamed Achref Dridi
1

Uma abordagem adotada por muitas pessoas é simplesmente registrar o (s) nó (s) e o (s) gateway (s) no TTN gratuito baseado na comunidade ( The Things Network ). O TTN faz todo o necessário para provisionar seu nó com as chaves LoRaWAN e ABP ou OTAA, além de realmente programar o firmware do nó (você provavelmente usa o Arduino IDE ou o VSCode + PlatformIO para isso).

Você poderá (1) visualizar as mensagens do nó no console (assim como o tráfego do gateway), o que é muito útil na depuração e também pode (2) assinar as mensagens no broker do MQTT.

O próximo passo pode ser uma instalação DIY do Node-RED, Telegraf e Grafana, que proporcionará uma poderosa plataforma de teste para processamento e também visualização de dados.

BTW, o gateway não fala MQTT com o servidor IIRC. É um tipo de JSON sobre UDP.

Tudo isso está muito bem documentado na web.

Stefan
fonte