Sperimentazione LoRa: Pronti per una nuova fase…..
In un precedente post abbiamo fatto il punto aggiornato sullo stato delle attività relativa al discorso LoRa APRS sia a livello generale che con riferimento alla sperimentazione che come gruppo Sarimesh stiamo portando avanti da qualche tempo.
La conclusione di questo articolo era una proposta di realizzazione delle componenti HW/SW necessarie a rendere possibili delle valutazioni concrete di nuove opzioni di lavoro che consentissero di superare gli attuali limiti della tecnologia LoRa APRS come attualmente implementata.
In concreto sono stati sviluppati due nuovi circuiti stampati che utilizzando la metodologia già sperimentata negli anni scorsi, consentissero di supportare una serie di nuove funzionalità.
Parallelamente è stata sviluppata una nuova release del SW Sarimesh Core ( vr. 5.x) in grado di supportre questi nuovi dispositivi HW, oltre che la precedente versione di HW, e che potesse girare anche sui classici schedini TTGO T-Beam ben noti, ovviamente con le limitazioni implicite nella lora architettura.
I nuovi dispositivi HW
Sono stati sviluppati due nuovi PCB allo scopo di cogliere i seguenti obiettivi:
- Creare un dispositivo estremamente compatto e di costo limitato che montasse un modulo LoRa basato su chipset SX1268 di seconda generazione e che fosse alimentato a batteria ricaricabile e quindi ottimizzato per un uso “da taschino”
- Creare un dispositivo modulare in grado di montare due moduli LoRa di seconda generazione ( basati sempre su SX1268) e che fosse in grado di montare vari tipi di sensori ( temperatura, pressione, umidità, qualità dell’aria e polveri sottili) e che fosse in grado di operare oltre che in modalità WiFi, anche in modalità Ethernet per applicazioni principalmente come iGate .
Questi nuovi PCB si uniscono alla coppia utilizzata finora , cha continua ad essere supporta dal nuovo SW e che offre la possibilità di realizzare in particolare una versione di tracker modulare in grado di montare sia moduli LoRa di prima che di seconda generazione ( ovvero basati sui chipset SX1278 e SX1268).
Tutti i dispositivi modulari possono montare moduli LoRa diversi semplicemente sostituendo delle piccole “carte figlia” che consentono di adattare i diversi moduli lora ad una “pinnatura” standard rendendo quindi possibile una agevole sostituzione di diversi tipi moduli con cui fare prove comparative.
Attualmente esistono “carte figlie” per moduli LoRa sia di prima generazione ( basti su SX1278/RFM98 ) che di seconda generazione basati su SX1268 e con diversi livelli di potenza di uscita fino ad un massimo di 2 watt RF.
I nuovi PCB sono realizzati in tecnologia SMD ( a montaggio superficiale) e potranno essere resi disponibili semiassemblati per le componenti SMD in modo da agevolare il montaggio dei dispositivi e l’approviggionamento dei relativi componenti non già saldati.
Il costo della BOM ( lista dei componenti ) risulta particolarmente vantaggiosa se confrontata con schedini equivalenti in termini di componenti GPS e LoRa utilizzati.
Tutti i dispositivi montano un display a colori da 1,14″ e sono dotati di una coppia di led (rosso e verde) e un pulsante di controllo.
Il PCB dual-radio è in grado di essere utilizzato con due diversi equipaggiamenti: un equipaggiamento con interfaccia di controllo realizzata tramite WiFi ed un equipaggiamento dotato di interfaccia di rete Ethernet: questa ultima variante rappresenta ovviamente la soluzione per quegli ambienti in cui è essenziale l’affidabilità del collegamento di rete in upstream verso internet, tipicamente problematico utilizzando la modalità di connessione WiFi. I due equipaggiamenti differiscono esclusivamente nei moduli installati per cui è agevole riconfigurare lo stesso PCB per operare nell’una o nell’altra modalità.
Tutti i PCB modulari possono montare anche un modulo “buzzer” (cicalino) e fino a tre diversi sensori ambientali .
La nuova versione SW Vr. 5.x
Il SW Sarimesh Core utilizzato come base per l’implementazione delle funzionalità APRS è stato pensato per poter agevolmente essere esteso per supportare nuove funzionalità; nelle versioni precedenti svariate funzionalità inizialmente pensate come da realizzare erano state volutamente messe in standby per un motivo molto semplice: l’utilizzo di parametri LoRa che non consentivano di andare oltre qualche centinaio di bit/sec di velocità a livello radio non consentivano di fare molto di più dell’invio di un set minimale di informazioni nel payload radio… ogni ulteriore servizio che richiedesse un traffico radio maggiore era praticamente non utilizzabile…
Con le nuove modalità operative che ora si pensa invece di utilizzare ( in particolare sfruttando la doppia radio a livello di iGate) diventa possibile utilizzare svariati altri servizi …che quindi vengono resi disponibili dalla nuova versione di SW.
La principale nuova funzionalità resa possibile dalla versione 5.x è il supporto delle modalità di lavoro che sfruttano la doppia radio presente nell’HW. In particolare grazie alla possibilità di ricevere simultaneamente due flussi LoRa con caratteristiche completamente diverse consente di implementare concretamente una modalità di lavoro esattamente uguale all’APRS tradizionale ovvero degli iGate in grado di operare anche come digipeater e quindi consentire l’interconnessione a livello radio di diversi iGate anche senza la presenza di una connessione internet.
In concreto un iGate “Dual-Mode” potra operare nel seguente modo:
- una radio (che chiamiamo secondaria) opererà sempre in modalità sola ricezione usando il modo di lavoro “mainstream” (ovvero il classico BW=125Khz e SF=12 ) in modo da avere completa compatibilità con tutta la base installata di trackers e iGate basati sui classici schedini TTGO.
- una altra radio (che chiamiamo principale) che opererà in una diversa modalità ( che chiameremo NG ovvero NewGeneration) da scegliere in fase di sperimentazione e caratterizzata dall’uso di parametri LoRa nuovi con l’obiettivo di aumentare il bitrate utile a livello radio ovvero diminuire la larghezza di banda utilizzata a livello radio.
- Le due radio potranno operare sia su diverse frequenze che sulla stessa frequenza scegliendo opportunamente i parametri BW e SF in modo da sfruttare le caratteristiche di ortogonalità dei modi LoRa e quindi aumentare il bitrate utile complessivo senza aumentare la larghezza di banda utilizzata a livello radio.
Grazie a queste nuove modalità operative un iGate Dual-Mode potrà essere utilizzato per integrare a livello radio anche un insieme di dispositivi tradizionali facendo da gateway tra gli stessi, grazie alla disponibilità di un canale ad alta velocità con cui far interagire i vecchi dispositivi: ovviamente perchè ciò sia possibile bisognerà che i dispositivi legacy ( a singola radio) siano riconfigurati per ricevere sul modo mainstream ( come fatto finora) e trasmettere sul modo NG … questa opzione è riteniamo già presente nei principali SW attualmente in uso anche se forse non utilizzata. Ovviamente la connessione upstream che verrà creata sarà di tipo solo uscente verso l’upstream, ovvero l’iGate a singola radio potrà solo inviare i pacchetti ricevuti dai trackers verso un iGate Dual-Mode che potrà poi inviare questi pacchetti per es. verso internet.
Un ulteriore beneficio di questa modalità operativa è quella di rendere possibile l’utilizzo di modalità di lavoro LoRa a banda più stretta dei classici 125 Khz anche per dispositivi di prima generazione o di seconda generazione privi di controllo della frequenza tramite TCXO: infatti sfruttando la funzione di misura del “drift ” di frequenza in ricezione presente anche nei chip LoRa di prima generazione sarà possibile agganciare agevolmente la frequenza di quei dispositivi riducendo l’offset di frequenza in operation.
( Va osservato che questa feature finora anche se presente, era di fatto inutilizzata in quanto tutti gli iGate in operation non trasmettevano mai… e quindi non consentivano agli altri dispositivi di agganciarsi).
Grazie quindi al fatto che con l’utilizzo delle due radio sia utilizzabile il canale di ritorno dagli iGates agli altri dispositivi, diventa possibile implementare altre funzionalità… un primo esempio di funzionalità aggiuntiva che viene implementato nel SW 5.x è un semplice sistema di “messaging” completamente supportato a livello LoRa e quindi completamente “offgrid” ovvero in grado di operare senza l’ausilio di internet…
Nello specifico è stato effettuato il porting sulla piattaforma Sarimesh Core del SW “LoRa Messenger” reso disponibile da Nicholas ( https://hackaday.io/project/166225-loramessenger ) : si tratta di una metodologia di messagging estremamente semplice che però nella sua semplicità consente di realizzare una serie di funzioni certamente interessanti…
In particolare il sistema utilizza una semplice interfaccia tramite WiFi ( o ethernet) che consente utilizzando per es. un cellulare o un qualsiasi dispositivo equivalente di scrivere ed inviare dei messaggi di testo tipo whatsapp, sia in maniera peer-to-peer che in broadcast, fornendo anche una indicazione di ricezione da parte dei corrispondenti.
E’ implementato anche un sistema di routing dei messaggi che consente agli stessi di raggiungere dispositivi non direttamente visibili a livello radio sfruttando il transito su uno o più nodi intermedi, sempre a livello radio LoRa.
E’ poi presente un sistema di “beaconing” che consente ad ogni nodo di crearsi una lista di nodi “attivi” in modo da avere una mappa in tempo reale della raggiungibilità degli altri dispositivi.
Ovviamente il sistema non è comparabile al più famoso “Meshastic”, ma grazie alla sua semplicità può ageviolmente coesistere ed operare parallelamente alle funzioni APRS senza creare un eccessivo carico di rete ( ovviamente sfruttando il canale NG)
Una ulteriore funzione che è stata implementata nella versione SW 5.x è il supporto attivo della sensoristica… già le precedenti versioni di HW consentivano di montare dei sensori, ma a causa del limitato bitrate disponibile a livello radio, non era mai stato implementato il supporto relativo in SW.. ora è stato implementato il supporto e l’invio dei valori misurati sia via LoRa che via TCP/IP se disponibile ( usando in quest’ultimo caso il protocollo MQTT).
E’ stata anche implementata una interfaccia di presentazione locale a livello di GUI dei dati misurati. Oltre ai classici valori di temperatura, pressione e umidità, vengono anche misurati i parametri di qualità locale dell’aria e i valori delle polveri sottili ( questi ultimi dati usabili solo per display locale o per upload tramite MQTT).
A parte queste nuove funzionalità la versione 5.x ha introdotto tutta una serie di piccoli cambi in particolare alle funzioni di configurazione via GUI e di gestione ( save/restore) delle configurazioni e del caricamento del SW. E’ stata curata in particolare la fase di caricamento iniziale del SW che non richiede ora la predisposizione di alcun ambiente di sviluppo SW e consente di caricare il SW tramite un unico file, evitando, in particolare per i TTGO, i classici problemi di caricamento separato dell’immagine del filesystem LittleFS che in tali dispositivi contiene la configurazione (anche iniziale) del dispositivo.
Un ulteriore beneficio è la possibilità di caricare il SW via OTA ( ovvero via WiFi o Ethernet) anche senza essere collegati ad un access point esterno come purtroppo accadeva finora a causa del tipo di SW usato per il caricamento del SW stesso).
Disponibilità HW/SW e documentazione
Allo stato attuale il nuovo HW è stato completamente testato e non necessita di ulteriori cambi; il SW Vr. 5.x è funzionalmente completo secondo quanto definito e sono in corso i test di non regressione per verificare la compatibilità con i seguenti tipi di dispositivi:
- TTGO T-Beam vr. 0.7
- TTGO T-Beam vr. 1.1
- mini Tracker Sarimesh (versione 2020)
- iGate Sarimesh ( versione 2020 )
- tracker Sarimesh compatto ( versione 2023)
- tracker/iGate Sarimesh Dual-Mode (versione 2023)
A livello di documentazione è in fase di approntamento la nuova versione di manuale di installazione ed uso che a causa delle notevoli novità richiede ancora del tempo per la stesura.
Non appena completate le attività di cui sopra è nostra intenzione rendere disponibile su GitHub le informazioni HW/SW necessarie a riprodurre il tutto.
Prosieguo delle attività
A seguire è intenzione di mettere su una piccola campagna di prove delle nuove funzionalità utilizzando delle utenze “amiche” ovvero dei volontari disponibili a testare e sperimentare le nuove funzionalità…
Commenti
Sperimentazione LoRa: Pronti per una nuova fase….. — Nessun commento