Uma introdução ao protocolo de rede LoRa e como ter uma arquitetura em nuvem escalável de processamento de dados com dispositivos usando esse protocolo.
5. 5
Comunicação
Formas de conectar dispositivos
• Redes cabeadas
• Ethernet, Fibra ótica, Coaxial, etc
• Redes sem Fio e Radio Frequência
• Wifi, Bluetooth, Zigbee, Z-Wave
• Rede Celular, Radio AM/FM, Satellite
• Curta distância
• RFID, NFC, BLE, QRCode
6. 6
Comunicação sem Fio
Mais usados em contexto de IoT
• Cada um tem uma aplicação diferente
• Depende de algumas variáveis
• Distância
• Energia
• Banda
• Custo
14. 14
LoRa
Long Range
• Longa Distância de operação
• 5 ~ 15 KM
• Banda ~ 27kbps
• Frequência sub gigahertz
• 137 a 1020 mhz
• Apenas camada física (PHY)
• Essa parte é proprietária - pertence a empresa Semtech
15. 15
Frequências de operação
Muito importante levar em consideração
• Usa banda ISM - Não precisa licença para operação
• Industrial, Scientific and Medical band - 433, 868 e 915 MHz
• Existem restrições de uso por país
• www.thethingsnetwork.org/docs/lorawan/frequency-plans.html
• EU863-870 (Europa), US902-928 (EUA), CN470-510 (China), AU915-928
(Australia e Brasil), AS920-923 ( Japão, Malásia, Singapura) e outros
• No Brasil é mais especifico entre 915~928 MHz
17. 17
LoRa Chips
Rádios base que a Semtech desenvolve
• Para nó final - 1 canal por vez
• SX1278 - 433mhz
• SX1276 - 868 e 915mhz
• Para gateways - múltiplos canais
• SX1301 (indoor) e SX1308 (outdoor)
• Todos os outros módulos são baseados neles
19. 19
Plaquinhas com LoRa
Pra prototipar mais rápido
ESP32 Lora (SX127x)
PyCom
(ESP32 + SX127x)
Arduino MKR1300 WAN
(Murata)
Adafruit Feather Lora M0
(RFM95W)
20. 20
Porque escolher LoRa ?
Alguns pontos de escolha
• É uma ótima escolha aqui no Brasil
• Território muito vasto
• Agricultura
• Longo alcance
• Baixo consumo de energia
• Infraestrutura flexível
• Comunidade muito forte
21. 21
LoRa Alliance
Aliança para crescimento da tecnologia
• Sem fins lucrativos
• +500 empresas envolvidas
• Promove o conceito LPWAN
• Low Power Wide Area Network
• Responsável pelo padrão aberto LoRaWan
24. 24
LoRaWAN
Camada de cima de LoRa ou FSK
• Ponte entre dispositivos LoRa e internet
• Mais restrito em termos de banda
• Pacotes de 51 bytes ou 222 bytes ( com overhead de 13 bytes )
• Quanto menos melhor, o recomendado é 12 bytes
• Não use json, xml ou plain text — Pacotes binários ou LPP(mais a frente)
• Segurança - Pacotes criptografados - AES 128 bits
27. 27
Pacotes
Tipos que podem ser utilizados
• Uplink
• Device ➡Gateway ➡ App server
• Downlink
• App server ➡Gateway ➡ Device
• Mas em teoria os End Nodes dormem boa parte do tempo 🤔
28. 28
Formatos de Pacotes
Algumas formas de enviar os dados com LoRa
• Faça você mesmo
• Monta o pacote em bytes e
faz o decode no seu servidor
• Cayenne Low Power Payload
• Define um padrão de
Canal + Tipo + Dados
• Várias libs que implementam
29. 29
End nodes
Detalhes de transmissão e recepção
• Classe A
• Dispositivo abre uma janela de recepção de downlink depois de transmitir um uplink
• Classe B
• Janelas de tempo fixo de recebimento, tem que estar com tempo sincronizado com
servidor
• Classe C
• Mantem janela de recebimento aberto o tempo todo, exceto quando está transmitindo
30. 30
End nodes
Spreading Factor e Data Rate
• Lembram do Tradeoff de uso de banda e energia ?
• Potência de transmissão - Afeta distância e uso de energia
• Spreading Factor (redundância) e Data Rate (banda)
• Esses determinam o quão rápida a informação é transmitida
• ⬆ Data Rate = ⬇ Spreading Factor = ⬆ Banda = ⬆ Taxa de erros
• ⬇ Data Rate = ⬆ Spreading Factor = ⬇ Banda = ⬇ Taxa de erros
• Existem limites por região
32. 32
Provisionamento de End nodes
Habilitar comunicação na rede LoRa
• OTAA - Over-the-Air Activation
• Chaves de segurança geradas por sessão entre o Device e o Gateway
• Endereçamento dinâmico
• ABP - Activation by Personalization
• Chaves de segurança fixas
• Endereçamento fixo
• Ambos necessitam passos de provisionamento para apontar para sua aplicação
• É importante pensar nisso quando for fazer um produto final
36. 36
The Things Network (TTN)
LoRaWAN construido pela comunidade
• Projeto com intuito de cobrir o
mundo com rede LoRaWAN
• Uso aberto
• Gateways colocados pela
comunidade
37. 37
Politica de uso justo da TTN
LoRaWAN construido pela comunidade
• Algumas regras de ouro
• 30 segundos de “Airtime” - Métrica de tempo de transmissão
• Em média com pacotes de 10 bytes :
• 20 mensagens for dia com SF7
• 500 mensagens por dia com SF12
• Seguindo isso, cada gateway aguenta +1000 nós
40. 40
Monitorar qualidade do ar
Sensores de CO2, TVoc e temperature
• End Nodes
• Sensores enviando dados via LoRa
• Gateway LoRa intermediando
• LoRaWAN server com The Things Network e Integrações
• Processando dados via Google Cloud
• Cloud Functions, Firebase e BigQuery
48. 48
Arduino
Ecossistema de Hardware e Software para aplicações embarcadas
• Simplicidade
• Muitos exemplos de uso de LoRa
• Disponibilidade de bibliotecas
53. 53
Dragino - Setup com TTN
Redirecionador de pacotes LoRa para TTN
• wiki.dragino.com/index.php?title=Connect_to_TTN
• Atualização do software e Firmware do radio LoRa
• Registro na TTN
• Seleção de região e frequência
• router.br.thethings.network
• 916.8 Mhz
55. 55
Setup com TTN
É possivel extender as funcionalidades da TTN
• Algumas integrações prontas
• Repassar dados via HTTP
• Foi a integração escolhida
61. 61
• Recebe dados da TTN via HTTP
• Parse dos dados
• Armazenamento
• Real time no Firebase
• Histórico no BigQuery
Cloud Functions
github.com/alvarowolfx/gcloud-lora-ttn/tree/master/functions
75. Testes de Distância
Com apenas o gateway simples
https://www.google.com/url?sa=i&source=images&cd=&ved=2ahUKEwiXxtTCk-
_hAhVaHbkGHX_DA4IQjRx6BAgBEAU&url=https%3A%2F%2Fwww.cooking-hacks.com%2Fdocumentation%2Ftutorials%2Fextreme-
range-lora-sx1272-module-shield-arduino-raspberry-pi-intel-
galileo&psig=AOvVaw0vixERdcfxbKZQX8HZP1ZB&ust=1556415978941788