Reticulum e RNode: come entrare nella mesh LoRa cifrata, e cerchiamo compagni di avventura

Questa pagina è stata tradotta automaticamente. Possono verificarsi errori.

Immagina una rete in cui mandi messaggi, immagini e file cifrati, consulti piccole pagine web, fai perfino chiamate vocali e tutto questo senza rete mobile e senza internet, solo con un modulo radio da 25 euro e un'antenna. È l'idea alla base di Reticulum. Non è un'altra rete di chat LoRa come MeshCore o Meshtastic, ma uno stack di rete: una base su cui poggiano chat, trasferimento file, pagine, voce e altro, e che usa allo stesso modo LoRa, WLAN, tunnel internet e packet radio.

OE8YML ora ci sta sperimentando. Il primo RNode è sulla scrivania, Sideband funziona e proviamo passo dopo passo. Questo articolo è la guida per tutti quelli che vogliono partecipare. I valori misurati dalla Carinzia li aggiungeremo appena li avremo. Tutto ciò che non abbiamo verificato di persona è segnalato nel testo.

Cosa si può fare?

Reticulum è un kit di costruzione. Ecco le cose che con lui si possono già fare oggi, ciascuna con la strada per arrivarci. I nomi dei programmi provengono dalla lista ufficiale del software. Quello che abbiamo provato noi è indicato, il resto è secondo la documentazione.

Screenshot di Reticulum MeshChat con elenco dei messaggi, announce e una conversazione
Reticulum MeshChat nella finestra desktop: chat tramite LXMF, accanto gli announce di altri nodi, la funzione telefono e l'accesso alle pagine Nomad. Screenshot: Liam Cottle, dal repository GitHub (licenza MIT).

Chattare in modo cifrato, anche offline

È il punto di partenza. Ogni partecipante riceve un indirizzo (un hash crittografico, come un indirizzo e-mail senza provider). Lo dai al tuo interlocutore e potete scrivervi con cifratura end-to-end, via LoRa, WLAN o internet. I programmi per farlo:

  • Sideband (Android, Linux, macOS, Windows): il client standard, con chat, allegati e voce.
  • Columba (solo Android): più giovane e in rapida crescita, con chat, chiamate, posizione e mappe offline.
  • Reticulum MeshChat (desktop, interfaccia nel browser): per la scrivania.
  • NomadNet (terminale): per chi preferisce lavorare in console.

Si parte così: installa il programma, fatti mostrare l'indirizzo, scambialo con un conoscente, manda un messaggio. I client si capiscono tra loro. Come si chiamano esattamente i menu in Sideband lo aggiungeremo dopo il nostro test.

Messaggi che arrivano anche quando sei offline

Se il tuo interlocutore non è raggiungibile in quel momento, un Propagation Node può memorizzare il messaggio e consegnarlo più tardi (store and forward). Per questo su un computer o un Raspberry Pi gira il programma lxmd, che arriva con il pacchetto Python lxmf. Secondo la documentazione è la strada verso la “e-mail nella mesh”. Noi non l'abbiamo ancora configurato.

Piccole pagine web nella mesh: le pagine Nomad

Con NomadNet gestisci un nodo che serve pagine di testo (in un semplice markup, Micron) che altri possono consultare. È un mini-web che funziona anche su collegamenti LoRa puri. Esempi: una bacheca per la sezione locale, dati meteo, un wiki. Chi vuole qualcosa di spettacolare dia un'occhiata a Retipedia, che mette a disposizione contenuti di Wikipedia tramite NomadNet. Per vederlo c'è un video di Simon Phillips:

“Viewing and serving Pages via LoRa Radio Nodes on Reticulum Meshchat and Nomadnet” di Simon Phillips (in inglese, YouTube). Non abbiamo guardato il video, il contenuto lo conosciamo solo dal titolo.

Inviare file e immagini

Sideband e MeshChat inviano allegati. Per i file da riga di comando c'è rncp, la “copia Reticulum”: invii un file a un indirizzo e dall'altra parte aspetta un rncp in modalità ricezione. La sintassi esatta la mostra rncp --help, noi non l'abbiamo ancora testata. Via LoRa è molto lento: con 125 kHz di larghezza di banda, a seconda dello spreading factor, si va da circa 0,3 a 5,5 kbit/s (calcolo nostro). Una foto a piena risoluzione conviene mandarla via WLAN o tramite un tunnel internet.

Chiamate vocali e gruppi

Il progetto LXST porta la voce nella mesh. Ne fanno parte rnphone (un telefono per la console) e Partyline, una sorta di canale vocale di gruppo. Sideband, Columba e MeshChat mostrano un'area telefono. Per la chat di gruppo c'è RRC (Reticulum Relay Chat) con l'hub rrcd. Quanto la voce sia adatta al LoRa a banda stretta non l'abbiamo verificato. Su collegamenti WLAN e internet non ci sono problemi.

Per smanettoni e nerd

  • rnsh: una shell remota simile a SSH per collegamenti a banda stretta, con cui puoi fare manutenzione a un Raspberry Pi in montagna. Secondo GitHub il progetto è archiviato, non abbiamo verificato come sia nel frattempo confluito nel core.
  • rngit: Git su Reticulum, cioè repository di codice nella mesh.
  • Bot con LXMFy: un framework per bot che rispondono ai messaggi, secondo la lista del software anche con Home Assistant. Si possono immaginare richieste di stato per sensori o ripetitori.
  • Nodi autocostruiti: µReticulum è una variante MicroPython per piccole schede come l'RP2040 (secondo la descrizione compatibile con l'originale).
  • Ponti tra isole radio: più reti LoRa si possono collegare via TCP, I2P o internet. Dalla stampa è noto un collegamento tra Florida e Venezuela (secondo Notebookcheck, aprile 2026, l'articolo non lo abbiamo letto noi).
  • Packet radio e onde corte: Reticulum conosce interfacce KISS e AX.25. Hackaday ha riferito nel luglio 2026 di Reticulum sulle onde corte su un carico fittizio, perché la cifratura sulle bande radioamatoriali non è consentita.

Sulla mappa rmap.world al momento della nostra ricerca c'erano 846 nodi, di cui 321 via LoRa. La mappa è volontaria e conta troppo poco. Un nodo in Austria o nell'area DACH lì non l'abbiamo trovato, il che significa solo che non abbiamo trovato niente.

Costruire app proprie

Il vero fascino: Reticulum è uno stack con un'interfaccia di programmazione. Sideband, NomadNet e gli altri programmi sono solo applicazioni costruite sopra, e puoi costruirne di tue senza occuparti di cifratura, routing o hardware radio. L'interfaccia Python ufficiale offre secondo il manuale tra l'altro questi elementi:

  • Identity e Destination: la tua identità e una destinazione che altri possono contattare. Da qui nasce l'indirizzo.
  • Announce: rendere nota una destinazione nella rete, opzionalmente con dati aggiuntivi.
  • Link: una connessione cifrata su cui entrambe le parti scambiano dati.
  • Requests e Responses: richiesta e risposta su un link, come in una piccola API web.
  • Channel e Buffer: messaggi strutturati e flussi di dati tra due partecipanti.
  • Resource: trasferire in modo affidabile grandi quantità di dati e file. Il programma di esempio “Filetransfer” mostra un file server con client.

L'esempio più piccolo del manuale (“Minimal”) avvia Reticulum, crea un'identità e una destinazione e, alla pressione di un tasto, invia un announce. Il nucleo si presenta così:

reticulum = RNS.Reticulum(configpath)
identity = RNS.Identity()
destination = RNS.Destination(
    identity,
    RNS.Destination.IN,
    RNS.Destination.SINGLE,
    APP_NAME,
    "minimalsample"
)
destination.set_proof_strategy(RNS.Destination.PROVE_ALL)

Gli esempi completi (Minimal, Announce, Echo, Link, Request, Channel, Buffer, Filetransfer) si trovano come singoli file nella cartella Examples/ del repo di Reticulum. Non li abbiamo ancora eseguiti, l'esempio di codice proviene dal manuale. Un buon inizio sarebbe avviare Echo.py e provarlo tra due computer.

Idee per i radioamatori:

  • Bot di stato per un ripetitore, una stazione meteo o un impianto solare, che risponde ai messaggi (“Tensione?”, “Temperatura?”). Esistono anche framework per bot già pronti come LXMFy.
  • Distributore di spot per SOTA, POTA o segnalazioni del DX cluster, che manda brevi messaggi agli abbonati nella mesh.
  • Modulo di segnalazione per comunicazioni di emergenza: messaggi brevi e strutturati (luogo, situazione, necessità) a una centrale, anche quando rete mobile e internet sono fuori uso.
  • Sincronizzazione di log o file tra due stazioni tramite un link.
  • Condivisione della posizione per gruppi sul campo, simile a Meshtastic.

A cosa devi fare attenzione: un'app che funziona bene via WLAN può risultare inutilizzabile via LoRa. Pianifica con poche centinaia di byte per messaggio e calcola il tempo di trasmissione (con l'uno per cento di duty cycle sono 36 secondi all'ora). E la licenza di Reticulum vale anche per ciò che costruisci sopra: nessun impiego in sistemi che possono danneggiare le persone in modo mirato e nessun uso per l'addestramento di IA. Chi costruisce un'app può scriverci volentieri, la presenteremo con piacere qui.

Cos'è Reticulum e cos'è un RNode?

Reticulum (RNS) è uno stack di rete di Mark Qvist. Le caratteristiche principali secondo il manuale:

  • Sempre cifrato. Gli indirizzi sono hash crittografici, i pacchetti non portano l'indirizzo del mittente.
  • Indipendente dal mezzo. La stessa rete funziona via LoRa, WLAN, tunnel internet o cavo.
  • Nessuna infrastruttura centrale. Chi vuole gestisce un nodo, ma non c'è un server che tiene insieme tutto.
  • Nessun apparato già pronto. L'RNode è solo un modem LoRa. L'intelligenza gira su un computer, un Raspberry Pi o un telefono.

La versione attuale è RNS 1.6.0 del 7 novembre 2026. Un'introduzione dettagliata dello stesso sviluppatore la trovi alla fine dell'articolo come intervento al 38C3.

Cosa ti serve

Custodia verde con display OLED e antenna da 868 MHz avvitata, appoggiata su un hub USB
L'RNode di prova di OE8YML: una scheda Heltec in custodia, con display OLED e antenna da 868 MHz. Foto: Michael, OE8YML.
  • Una scheda LoRa nella variante di frequenza giusta. Secondo il firmware RNode sono supportate per esempio Heltec V3, V4 e T114, LilyGO T-Beam, T-Deck e T-Echo e RAK4631. Un'unica fonte di prezzi (Metrum, settembre 2025) indica circa 25 euro per l'Heltec V3, da 35 a 45 per il T-Beam e da 55 a 70 per il T-Echo. Non abbiamo verificato i prezzi attuali presso i rivenditori austriaci.
  • Un'antenna adatta. Una scheda senza antenna non si fa trasmettere, potrebbe danneggiare lo stadio finale.
  • Un computer o un telefono con collegamento alla scheda via USB, Bluetooth o WLAN.

Noi proviamo sui 868 MHz. Chi vuole provare la gamma dei 433 MHz compra la variante a 433 MHz della scheda. Maggiori dettagli nella sezione “Aspetti legali” alla fine.

Getting Started in sei passi

Tutti i comandi provengono dalla documentazione (manuale di Reticulum) e dalla nostra configurazione. Dove non abbiamo visto qualcosa di persona, lo indichiamo.

Per iniziare: “How to get started with Reticulum and RNode” di Andy Kirby (in inglese, video su YouTube). Secondo Circuit Digest mostra il montaggio dell'RNode su un Heltec LoRa32 V3, il flash con il web flasher e la configurazione di Sideband. Non abbiamo guardato il video di persona. Le indicazioni su frequenza e potenza di trasmissione in questo articolo valgono per l'Austria e hanno la precedenza.

1. Preparare il computer

Bastano Python 3 e pip. Meglio in un ambiente virtuale:

python3 -m venv ~/reticulum
~/reticulum/bin/pip install rns --upgrade

Su Linux ti serve inoltre l'accesso alla porta seriale (gruppo dialout).

2. Fare il flash dell'RNode

La strada ufficiale è lo strumento rnodeconf del pacchetto Reticulum:

~/reticulum/bin/rnodeconf --autoinstall

Ti chiede scheda e banda. Scegli la tua scheda e la banda giusta (868/915 MHz). Poi controlli con rnodeconf --info che modello, banda e firmware siano corretti. In alternativa c'è il web flasher di Liam Cottle in un browser Chromium. Errori noti lì sono “Hardware Failure” e “Firmware Corrupt”.

3. Facoltativo: collegare l'RNode al WLAN

Con rnodeconf -w STATION --ssid <Name> --psk <Passwort> l'RNode si collega al tuo WLAN (dall'aiuto di rnodeconf nella versione 1.6.0). Poi non ti serve più il cavo USB, nella configurazione di Reticulum come porta compare tcp://<IP des RNode>. In questo comando la password finisce nella riga di comando e quindi nella tua cronologia, perciò meglio non inserirla in una chat. Se l'RNode poi abbia bisogno di un riavvio e se tutto funzioni su tutte le schede, non l'abbiamo ancora verificato in modo definitivo.

4. Configurare Reticulum

La configurazione si trova in ~/.reticulum/config. Inseriamo l'interfaccia radio, ma all'inizio la lasciamo su enabled = no:

[[RNode LoRa Interface]]
  type = RNodeInterface
  enabled = no
  port = /dev/ttyUSB0
  frequency = 869850000
  bandwidth = 125000
  txpower = 7
  spreadingfactor = 8
  codingrate = 5
  airtime_limit_long = 1
  airtime_limit_short = 33
  • frequency = 869850000 si trova volutamente lontano dalle frequenze di MeshCore e Meshtastic, ne parliamo meglio nella prossima sezione. L'esempio della documentazione con 867,2 MHz non lo usiamo.
  • airtime_limit_long = 1 limita al uno per cento di tempo di trasmissione. L'esempio della documentazione indica 1,5, che sarebbe troppo.
  • txpower volutamente basso. Se l'impostazione sull'Heltec V4 descriva la potenza sul chip o sul connettore è una questione aperta. Misura o leggi il datasheet prima di aumentare.

5. Installare Sideband

Sideband è il client standard per la chat (LXMF) su Android, Linux, macOS e Windows. Secondo il README le release passano da PyPI, noi l'abbiamo installato così su Linux:

python3 -m venv ~/sideband/.venv
~/sideband/.venv/bin/pip install sbapp
~/sideband/.venv/bin/sideband

Al primo avvio su Arch Linux ci mancavano xclip e xrandr per appunti e scalatura, ma funziona comunque. Su Windows non l'abbiamo ancora testato. Su Play Store e F-Droid Sideband secondo la nostra ricerca non si trova, lo scarichi dalla pagina del progetto.

“How To Pair RNode With Sideband” di GhostStrats, parte 4 di una serie sulla configurazione (in inglese, YouTube). Non abbiamo guardato il video, il contenuto lo conosciamo solo da titolo e descrizione.

6. Prima provare senza radio, poi in banda

Per prima cosa colleghi Sideband solo tramite internet (gateway TCP del manuale, indirizzo e se sia ancora attivo li verifichi tu). È pura comunicazione IP, giuridicamente non critica, e impari a conoscere l'app. Solo dopo imposti enabled = yes nell'RNodeInterface, avvii rnsd e controlli con rnstatus che l'interfaccia compaia con frequenza e stato. Come integrare esattamente l'RNode in Sideband sotto Hardware non l'abbiamo ancora documentato passo per passo. Lo aggiungeremo dopo il nostro test. Fino ad allora ti aiuta il video qui sopra.

Altri video sulla configurazione di Simon Phillips (in inglese, YouTube, non visti da noi): Install and Configure Reticulum Network Stack RNS for RNode e Browse Reticulum Nomad Network Pages using LoRa Radio Link Only.

Rispetto: non vogliamo disturbare MeshCore e Meshtastic

In Austria e in Europa MeshCore e Meshtastic funzionano nella sottobanda da 869,4 a 869,65 MHz, secondo i risultati di ricerca con lo standard UE intorno a 869,525 MHz e in parte con 250 kHz di larghezza di banda. Lì è comunque affollato, e nella rete carinziana (vedi MeshCore: radio senza rete mobile) ci sono molti nodi in giro. Il duty cycle protegge solo il proprio budget di tempo, non dalle collisioni. I segnali LoRa con la stessa larghezza di banda e lo stesso spreading factor si disturbano molto a vicenda. Per questo le nostre regole per il test:

  1. Non sulle frequenze delle mesh. Proviamo nella sottobanda da 869,7 a 870 MHz, per esempio su 869,850 MHz con 125 kHz di larghezza di banda.
  2. Prima ascoltare, poi trasmettere. Con un SDR e OpenWebRX+ vedi cosa succede in banda. Come si fa lo spiega Leggere i pacchetti LoRa mesh con OpenWebRX+.
  3. Nessun nodo di transito con announce da internet sull'interfaccia radio. Altrimenti il traffico da internet scorre in permanenza sul collegamento radio.
  4. Test brevi, registrare l'airtime. Chi conosce il proprio tempo di trasmissione può anche limitarlo.
  5. Nessun ripetitore o stazione permanente, finché non sappiamo come si comporta la rete.

Se questa sottobanda nella vostra regione sia davvero libera, non lo sappiamo. Ognuno deve verificarlo sul posto. E se RNode e le reti vicine usino la stessa sync word LoRa, non l'abbiamo verificato.

Gli svantaggi, onestamente

  • Lento. Con 125 kHz di larghezza di banda e CR 4/5 il nostro calcolo dà circa 5,5 kbit/s con SF7 e 0,29 kbit/s con SF12. Un announce da 167 byte richiede con SF8 circa 0,6 secondi di tempo di trasmissione. Con l'uno per cento di duty cycle ci stanno così solo circa 55 o 60 pacchetti di questo tipo all'ora (calcolo nostro, misureremo).
  • Più complicato di MeshCore o Meshtastic. È uno stack di rete, non un apparato con display. In compenso può fare di più.
  • Base di utenti ridotta nell'area di lingua tedesca, poca documentazione in tedesco. Con questo articolo vogliamo cambiare le cose.
  • Licenza: Reticulum è sotto MIT più due clausole aggiuntive (nessun impiego in sistemi che possono danneggiare le persone in modo mirato e nessun uso per l'addestramento di IA). Non è una licenza open source conforme a OSI. Per i radioamatori hobbisti è praticamente irrilevante, ma non è una consulenza legale. Sideband è sotto CC BY-NC-SA 4.0.
  • Sviluppo da parte di una sola persona. Il repo GitHub è solo un mirror. Secondo il blog dello sviluppatore il finanziamento dello sviluppo a tempo pieno era già un tema a maggio 2025, e a fine dicembre 2025 ha chiuso il suo sito unsigned.io. Lo sviluppo prosegue secondo PyPI (1.6.0 il 7 novembre 2026), ma è un rischio per una rete più grande.

Partecipa anche tu!

Una mesh vive dei suoi nodi. OE8YML sta provando se Reticulum su LoRa sia utilizzabile in modo sensato in Austria, e per questo abbiamo bisogno di voi:

  • Hai una scheda Heltec, T-Beam o RAK? Fai il flash con la guida qui sopra e prova con noi.
  • Hai un SDR? Guarda cosa succede da te tra 869,7 e 870 MHz e comunicaci se la banda è libera.
  • Conosci nodi Reticulum in Austria? Allora fatti vivo, così possiamo creare un elenco.
  • Vuoi provare collegamenti più avanti? Scrivici la tua posizione (approssimativa, basta la località) e che hardware hai.

Scrivici a [email protected] con località, hardware, frequenza e, se ti va, RSSI e SNR. Appena avremo abbastanza riscontri pubblicheremo i risultati e un elenco delle postazioni. E ancora una volta la richiesta: abbiate rispetto per le reti mesh esistenti. Chi ascolta prima di trasmettere non danneggia nessuno.

Aspetti legali in breve

  • Senza licenza, senza nominativo: Proviamo su frequenze SRD (Short Range Devices) e non nel servizio di radioamatore. I limiti derivano dalla decisione UE 2022/180 (versione della Gazzetta ufficiale, che ospita anche la RTR), a cui rimanda il regolamento sull'uso delle frequenze (Frequenznutzungsverordnung). Se la decisione 2025/105, modificata successivamente, cambi qualcosa, non l'abbiamo letto.
  • 868 MHz: Nella sottobanda da 869,7 a 870 MHz sono consentiti 25 mW ERP con 1 % di duty cycle (36 secondi di tempo di trasmissione all'ora), da 869,4 a 869,65 MHz 500 mW con 10 %. L'antenna conta ai fini dell'ERP. Le schede hobbistiche possono già di fabbrica molto di più, quindi imposta la potenza di trasmissione volutamente bassa.
  • 70 cm come banda ISM (433 MHz): Nell'intervallo da 433,05 a 434,79 MHz sono consentiti 10 mW ERP con 10 % di duty cycle. Si trova in mezzo alla banda radioamatoriale dei 70 cm, ma chi trasmette lì come apparato ISM non è un radioamatore e non ha bisogno di un nominativo. Vantaggio: molte schede esistono nella variante a 433 MHz e la propagazione è un po' migliore. Svantaggio: solo 10 mW, e anche i radioamatori usano le stesse frequenze. Non l'abbiamo provato di persona.
  • Non nel servizio di radioamatore: Reticulum cifra sempre. Il TKG 2021 § 147 richiede nel servizio di radioamatore il “linguaggio in chiaro”, il regolamento sul servizio di radioamatore (Amateurfunkverordnung, § 20 comma 5) vieta dispositivi che limitano la comprensibilità. È la nostra lettura, non abbiamo un parere dell'autorità. Nel dubbio chiedere alla RTR. Non è una consulenza legale.

Da guardare e da leggere

Un'introduzione dettagliata dello sviluppatore stesso è disponibile come intervento al 38C3 (dicembre 2024, 43 minuti, licenza CC BY 4.0):

“Reticulum: Unstoppable Networks for The People”, intervento di Mark Qvist al 38C3, media.ccc.de (CC BY 4.0). In inglese, con traccia audio in tedesco.

73, Michael OE8YML

Come valuti questo articolo?
Non vengono impostati cookie. Vengono salvati solo la tua valutazione, il feedback opzionale e un hash IP anonimizzato (protezione contro valutazioni multiple). Protezione dei dati

Feed RSS

Rimani aggiornato!

Non perdere nessuna novità – iscriviti al nostro feed RSS

„Wire and will, we’re breaking through –Share · Connect · Create!“

Costruisci antenne, attivi cime, sperimenti con SDR o hackeri nodi Meshtastic? OERadio.at è la tua piattaforma. Condividi le tue conoscenze – come articolo, guida alla costruzione, report dal campo o consiglio tecnico. Che tu sia YL o OM esperto, appena licenziato o veterano: La tua esperienza conta.