LoRa

Dicembre 2025 - ZEI
Che roba è?
  • LoRa sta per long range
  • È una tecnologia proprietaria sviluppata da Cyleo, poi acquisita da Semtech nel 2012
  • è un insieme di modulazione radio ed encoding
  • Utilizza la modulazione CSS o FSCM
  • Progettata per comunicazioni a lunga distanza con basso consumo energetico, basso bitrate e payload corti
Abbiamo a disposizione alcune frequenze di libero uso, diverse a seconda del paese
Ha una serie di vantaggi
  • Lunga portata
  • Basso consumo energetico
  • Buona tolleranza al rumore
  • Costo relativamente basso
L'utilizzo primario sarebbe LoRaWAN e smart cose (città, agricoltura, allevamento, salute)
Ma non è solo LoRaWAN, Helium, The Things Network, ecc.
Ne è alla base
Ma possiamo usarla per altro...
LE RETI MESH.
Ma prima approfondiamo cosa c'è sotto...

Come funziona LoRa

Abbiamo detto modulazione ma che roba è?
  • AM - Amplitude Modulation
  • FM - Frequency Modulation
  • FSK - Frequency Shift Keying
  • ASK - Amplitude Shift Keying (OOK On-Off Keying nella sua forma più semplice)
Chirp Spread Spectrum (CSM) || Frequency Shift Chirp Modulation (FSCM)
  • Utilizza segnali a frequenza variabile chiamati chirp
  • I chirp possono essere upchirp (frequenza crescente) o downchirp (frequenza decrescente)
  • I dati sono codificati nella variazione di frequenza dei chirp
  • Resistente al rumore, alle interferenze può ricevere segnali sotto la soglia del rumore
Anatomia di un pacchetto LoRa
  • Preamble 8-16 up chirps
  • Sync Word
  • Down Chirps 2.25
  • Payload
  • CRC



Encoding (Closed Source)
  • "Gray indexing"
  • Interleaving - Distribuire i bit su più simboli
  • Hamming Code - Error Correction
  • Whitening - aggiunge casualità nei dati
  • CRC - Error detection

è stato reversato a partire da application notes, documenti di brevetto, empirismo e calci
Decoding the LoRa PHY (33c3) - https://www.youtube.com/watch?v=NoquBA7IMNc


Alcuni concetti chiave
  • Bandwidth
  • Spreading Factor (SF) - più alto significa trasmissioni più lente ma più robuste
  • Coding Rate (CR) - quanti bit di error correction per bit di informazione (4/8 ogni 4 bit di informazione 4 di error correction)
  • Duty Cycle - quanto tempo possiamo trasmettere (10% = 6 minuti di un ora)
Link utili
Si ma in concreto? come la usiamo?

Ci serve dell'hardware

Per fare le cose radio come prima cosa dobbiamo procurarci una radio!
Così

(questo è un chip, da solo un po' inutile)
Meglio così

(questa è una breakout con tutto il necessario per usare il chip, manca un cervello)
Meglio ancora!

(questa è una devboard con microcontrollore e radio integrati, pronta all'uso)
O esagerando...

(questo è un nodo fancy)
  • ESP32
    • WiFi e Bluetooth integrati
    • Più economico
    • Consumi alti, ok per nodi fissi
    • Rischio brown out
    • HeltecV3 abbastanza consigliato
  • NRF52
    • Solo Bluetooth
    • Più costoso
    • Consumi bassi: Adatto per nodi solari e tascabili
    • Più stabile
Nodi autocostruiti 1 - Faketec

https://github.com/gargomoma/fakeTec_pcb/
Nodi autocostruiti 2 - Nibble

https://github.com/RetiaLLC/38c3-Meshtastic
Nodi autocostruiti 3 - L'accrocchio

source Kody Kinzie @ 38c3
Nodi fancy notabili 1 - SENSECAP T1000E

~50€
Nodi fancy notabili 2 - T-ECHO

~70€
  • Ok, abbiamo una radio, possiamo accenderla e trasmettere?
  • Non ancora...dovremmo parlare di antenne
  • Ma lo facciamo dopo
  • Ora finalmente passiamo al software

Fare le reti mesh

Meshtastic e Meshcore

Cosa fa Meshtastic?
  • è free software, GPLv3
  • aggiunge Cifratura, Routing e una parte applicativa (Chat, telemetria) su LoRa
  • permette all'utente di collegarsi tramite WiFi, Bluetooth o seriale al nodo
  • ha app per mobile e webapp
Esempio di rete
In sostanza è una grossa chat con messaggi di testo di 200 byte emojie e alert

ma c'è vita!

Anche da noi!
Lora Italia
Come installiamo il firmware?
  • Web Flasher (solo chrome)
  • ESPtool se siamo su ESP32
  • Drag and Drop se siamo su NRF52 o RP2040
  • PlatformIO
Configurazione iniziale
  • Usare l'app mobile (c'è anche su f-droid), cli o webapp
  • Impostare:
    • region
    • canale
    • device role
    • max hops
    • nome nodo
Canali
Link budget
Hops
Cifratura?
  • è abilitata di default ma si può disabilitare
  • i canali sono cifrati AES (ma chi è in canale vede tutto)
  • a un certo punto è stata introdotta la cifratura asimmetrica
Sensori e telemetria
  • Supporta vari sensori i2c
  • principalmente parametri ambientali e consumi
Tracking
MQTT e nodi fissi
meshtastic può sparare tutto il traffico su un server MQTT
vs Meshcore

source: https://www.austinmesh.org/learn/meshcore-vs-meshtastic/
Links utili

si ma qual è meglio?

parliamone...

Antenne

  • è una parte fondamentale
  • Senza antenna la radio non funziona
  • Con un'antenna scadente la radio funziona male
  • se accendi la radio senza antenna fa una brutta fine, vale anche per i nostri nodi
Alcune cose da sapere
  • Le antenne per gli 868MHz sono piccole e facili da costruire
  • Quelle incluse con alcuni nodi sono spesso pessime (Heltec)
  • Sui nodi portatili dobbiamo trovare dei compromessi, sui nodi fissi possiamo impegnarci
  • Un ottimo punto di partenza www.loraitalia.it/meshtastic-antenne-si-antenne-no/
Link utili:

Nodi solari autonomi

  • Nodi alimentati unicamente da pannelli solari e una batteria
  • Il nodo è veramente off the grid perchè non dipende nemmeno dalla rete elettrica
  • Utilizzo di microcontrollori a bassissimo consumo, l'NRF52 si presta molto bene
  • Apprezzano il sole e l'altezza
  • Molto spesso svoltano la rete
Suggerimenti
  • Quanta batteria mettere? TANTA
  • Quanto grosso prendere il pannello? DI PIÙ
  • Che batterie mettere? LiPo o LiFePO4, in alcuni casi potreste voler mettere del piombo
  • Che altro mettere? INA219 e un TRH interno per monitorare stato della batteria, del pannello e condizioni del case
  • Testare sempre prima di seminare in giro
Nodo solare generico
  • Faketek +
  • Pannello solare (quelli da videosorveglianza uso esterno vanno bene, circa 6W) +
  • Batteria +
  • Regolatore di carica +
  • BMS +
  • Case stagno +
  • Antenna esterna +
  • INA219 + TRH +
  • Ferramenta varia

Altri mondi

Reticulum


https://reticulum.network/
  • è un protocollo, non un app
  • Apocalypse Ready
  • Può funzionare su vari media: LoRa, WiFi, Ethernet, seriale, radio analogica
  • Si possono inviare vocali, immagini e testo
  • L'identità è slegata dal dispositivo le radio LoRa sono dei semplici modem

Freakwan

https://github.com/antirez/freakwan
  • Fatta in Sicilia
  • Con micropython
  • Semplice e hackerabile
  • Molto chatty
  • supporta piccole immagini

TinySSB


https://github.com/ssbc/tinySSB
  • non ha niente a che fare con fonia e banda laterale
  • una CRDT over LoRa
  • è una roba sperimentale usata all'Università di Basilea per insegnare sistemi distribuiti
  • sviluppata malino
  • documentata peggio
  • ok, principalmente una fissa mia però è interessante
https://lorazei.vado.li/