Skip to content

Capítulo_03 LoRaWAN MAC

Mario Câmara edited this page Oct 25, 2022 · 42 revisions

3. LORAWAN MAC

“Nunca tecnologia alguma vai substituir o ser humano, pois ele que a cria.” RAMON

Neste capítulo vamos escalar mais um degrau na pilha de camadas do modelo OSI. O canal oficial de consulta para embasar este capítulo não pode ser outro: LoRa Alliance.

Dentro da LoRa Alliance, há dois documentos fundamentais para o perfeito entendimento da rede LoRaWAN, cuja leitura é piamente recomendada:

FIGURA_3_1 (adaptada)

Neste capítulo complementaremos com alguns parâmetros específicos ao protocolo LoRaWAN e efetivaremos a conexão ao servidor de rede, classificando-os em servidor público ou privado (rede aberta ou fechada). Para tanto, utilizaremos como intermediário o gateway (transparente, fazendo o papel de mero forwarder). Para o estabelecimento da conexão - tanto com ativação ABP quanto OTAA - empregaremos uma solução com módulo-rádio externo e outra com o chip-rádio já integrado. Além da diferenciação quanto à ligação entre microcontrolador e rádio, há diversidade com relação às bibliotecas e sistemática de programação (on-single-loop ou "multitarefa" cooperativa por eventos).

Antes de iniciarmos vou deixar registrado um adendo muito importante. O protocolo LoRaWAN carrega consigo exigências de temporização de tarefas e processamentos diversos (alternância de frequência, encriptação de mensagens, taxa de transmissão adaptativa, código de integridade de mensagem, etc) que suscitam complexidade ao trabalho de programação dos dispositivos.


3.1. Conceito de Rede LoRaWAN (pública ou privada)

Só uma "palhinha" sobre o assunto. Posso até estar enganado quanto a minha interpretação, em que faço um paralelo com o transporte urbano, mas esbarro com muita confusão e divergências nesta conceituação.

3.1.1. Rede Pública

Estabelece-se um Contrato formal (SLA estabelecidos) com direitos e deveres - fruto de uma concessão - para prestação de um serviço, onde os usuários são assinantes ou "passageiros" do serviço contratado.

  • Exemplo: estrutura da rede ATC(&Everynet) LoRaWAN (operadores Kore, NLT ou TCTEC) ou "Carris" (empresa com contrato em vigor na Prefeitura para prover transporte público em Porto Alegre)

3.1.2. Rede Privada

Pode ser aberta a comunidade (colaborativa) ou fechada (proprietária), este último entenda-se: exclusivo para um público seleto ou aplicação interna (empresa, indústria, residência, etc). É importante registrar que não há garantia. O responsável pela rede, a seu bel-prazer, pode mudar a regra do jogo a qualquer instante ou resolver pegar os gateways, colocar embaixo do braço e dizer que não quer mais brincar. Bem assim, não há compromisso; apenas uma "boa vontade" em prol de uma comunidade que pode se esvair a qualquer momento.

  • Exemplos: gateways dos colaboradores-entusiastas da TTN numa dada localidade ou "Van do Nerivan" (meu primo que fazia transporte escolar, enquanto era promissor)

3.2. PARÂMETROS LoRaWAN

FICAR ATENTO - RASCUNHO
These parameters are spreading factor, modulation bandwidth and error coding rate (Mais IMPORTANTES). Each one permitting a trade off between link budget, immunity to interference, spectral occupancy and nominal data rate.
Separar o que é parâmetro LoRA e parâmetro LoRaWAN (não confundir)
### Data Rate e Taxa de Dados Ajustável: (_Adaptive Data Rate_, ADR)[https://lora-developers.semtech.com/library/tech-papers-and-guides/understanding-adr/], (estudar)[https://lora-developers.semtech.com/uploads/documents/files/Understanding_LoRa_Adaptive_Data_Rate_Downloadable.pdf]
### Ciclo de ocupação do canal (Duty Cicle): https://www.loratools.nl/#/airtime
### Identificadores e chaves (tipo de ativação OTAA e/ou ABP). Sobre as chaves AppSKey (application session key) e NwkSKey (network session key) empregando encriptação AES128, dar uma boa olhada neste (site)[https://www.embarcados.com.br/conheca-tecnologia-lora-e-o-protocolo-lorawan/]
### Plano de Frequências
### Classes A, B e C (janelas de recepção) - Sincronismo (_uplink and downlink_). Lembrar: __A__ll, __B__eacon e __C__ontinuous.
### _Payload_ (vale pros dois) e confirmação de mensagem (não é uma prática recomendável, pois sobrecarrega o canal)
### CRC (_Cyclic Redundancy Check_ – Verificação Cíclica de Redundância) (trabalha na camada física; portanto, é transparente nesta etapa)

3.3. VERTICIAIS (NICHOS) E SOLUÇÕES

https://www.gta.ufrj.br/ensino/eel878/redes1-2018-1/trabalhos-vf/lora/


3.4. SENSORES E ATUADORES

Sensores são a base de IoT e é através da capacidade em medir variáveis físicas que estes sistemas possibilitam agregar valor às mais diversas aplicações. A variedade de possibilidades de sensoriamento é imensa, ...


3.5. PRÁTICA 🤲

Pode parecer estranho, mas a elaboração deste capítulo se iniciou pela prática e a razão de sê-lo foi a demanda por uma aplicação. Na verdade, encomendei um dispositivo (produto comercial) de telemetria (medição remota) de gás, cujas limitações me motivaram a tentar reproduzir uma solução caseira, tendo por base as características do produto. Farei o melhor, iniciando em 24 Set 2020 com plano de conclusão em 1 (uma) semana. Portanto, segura um pouco que em outubro, já volto com novidades! 🚧 ATRASO! ATRASO! ATRASO!

Encurtando caminho: de uma olhada nesta (experimentação sugerida pela Semtech)[https://lora-developers.semtech.com/uploads/documents/files/Building_a_LoRa-based_Device_End-to-End_with_Arduino_Dnld_Final.pdf].