1. La radio: LoRa
Meshtastic usa LoRa (Long Range), una modulazione radio brevettata
da Semtech progettata apposta per portata lunga e basso consumo,
a scapito della velocità.
| Parametro |
Valore tipico EU868 |
Significato |
| Frequenza | 868 MHz | Banda ISM europea, libera |
| Potenza max | 25 mW (14 dBm) | Limite di legge per uso ISM |
| Velocità dati | 0.3 - 50 kbit/s | Scegli tra portata e velocità |
| Sensibilità RX | -148 dBm | Riceve segnali debolissimi |
| Portata in linea d'aria | 5-20 km | Con buone antenne, dipende dal preset |
| Portata urbana | 1-3 km | Edifici e ostacoli attenuano |
La modulazione si sceglie tra "preset": Long_Fast, Long_Moderate,
Long_Slow, Very_Long_Slow, Short_Fast, ecc. Tutti i nodi della stessa mesh devono
usare lo stesso preset.
2. Il routing mesh
Ogni nodo che riceve un messaggio decide se rilanciarlo o no, in
modo che il messaggio raggiunga anche destinazioni che NON sono a portata diretta
del mittente. È quello che chiamiamo "mesh".
Regole di base del protocollo (semplificate):
- Hop limit (TTL): ogni messaggio nasce con un numero massimo
di "salti" (di default 3). Ogni nodo che lo rilancia lo decrementa di 1. A 0
smette di propagarsi
- Deduplicazione: ogni messaggio ha un ID univoco. Se un nodo
riceve due copie dello stesso, ne ignora una
- Backoff casuale: prima di rilanciare un messaggio, ogni nodo
aspetta un tempo casuale, così non si calpestano tutti insieme sullo stesso slot
radio
- "Snr / RSSI based": il nodo che ha ricevuto il messaggio con
il segnale più debole è più "lontano" e ha più senso che rilanci; quello
vicino tace
Risultato pratico: una mesh di 5 nodi con hop=3 può coprire 15-30 km
lineari anche se ogni singolo nodo arriva solo a 3 km.
3. Crittografia
Tutti i messaggi sono cifrati con AES-256-CTR usando una chiave
pre-condivisa (PSK) salvata nel canale.
- Canale "Primary" di default: tutti i nodi nuovi sono nel
canale chiamato "LongFast" o simile, con una chiave AES pubblica
nota a tutti. Significa che chiunque accenda un nodo Meshtastic e usi il default
può leggere i messaggi degli altri sul default. È così di proposito, per
facilitare i meeting di nodi sconosciuti
- Canali "Secondary": puoi creare canali aggiuntivi con
chiave AES privata, condivisa solo con i tuoi amici via QR code
o link. Quei canali sono effettivamente cifrati end-to-end
- Messaggi diretti (DM): la cifratura usa la chiave del canale
su cui viaggia il DM. Il messaggio è "diretto" solo nel senso che è indirizzato
a un nodo specifico (DEST), ma chi può decifrare la chiave del canale lo vede
comunque. Per messaggi davvero privati, crea un canale a 2 persone solamente
4. Autonomia e consumo
I nodi alimentati a batteria sono pensati per durare giorni o settimane se
configurati bene:
- RX continuo: 10-30 mA → un T-Beam con batteria 18650 da
3000 mAh dura ~5-7 giorni di solo ascolto
- TX (trasmissione): 100-130 mA per ~100 ms → impatto minimo,
a meno che non trasmetti continuamente
- Sleep modes: se abilitati, abbattono il consumo a meno di
1 mA → batteria che dura settimane, ma con latenza più alta
- Pannello solare 1-2 W: basta per tenere il nodo carico in
permanenza all'aperto, costo ~10 €
5. Il bridge Bluetooth con il telefono
Il nodo, oltre alla radio LoRa, ha il Bluetooth Low Energy (BLE) attivo. L'app sul
telefono si collega via BLE al nodo:
- Scrivi un messaggio nell'app del telefono
- L'app lo invia via BLE al nodo (millisecondi)
- Il nodo lo trasmette in LoRa nell'aria
- Gli altri nodi a portata lo ricevono, lo passano al loro telefono via BLE
- L'app degli altri lo mostra come notifica
Il telefono non serve per la mesh: se il nodo è acceso, riceve e
ritrasmette anche senza telefono collegato. Il telefono è solo l'interfaccia
utente.
Su alcuni nodi (come il T-Echo) c'è anche un display e una tastiera fisica, quindi
puoi mandare e ricevere messaggi anche senza telefono.
6. Cose che NON sa fare Meshtastic
- Voce o vocali: la banda passante LoRa è troppo bassa
- Foto, video, file: idem
- Garantire la consegna: se l'altro nodo è spento o fuori
portata, il messaggio si perde. Non c'è "buca delle lettere" che lo conserva
- Funzionare se nessun altro ha un nodo: senza altri nodi sei
da solo. Per questo prima di partire conviene controllare se nella tua zona ci
sono già reti attive (Meshmap.net mostra le reti pubbliche)