Sperimentazione LoRa: novità di Primavera ……
Gli ultimi mesi sono stati densi di attività anche grazie ad alcune novità che si sono concretate sul fronte della disponibilità a costi contenuti di nuovi dispositivi HW sul mercato come al solito della Cina…
Vale la pena di dare uno sguardo agli ultimi sviluppi che si sono avuti da parte nostra sul fronte HW/SW e che si erano concretati nella disponibilità di nuovi dispositivi HW sia sul fronte della “compattezza“, con la versione “compact” da taschino che sul fronte della “modularità” e della “sperimentabilità” con le nuove versioni dei modelli “Mini” e “Maxi” che offrivano ampio spazio per soluzioni “modulari” sia per uso portatile che per uso fisso.
Tutte le nuove versioni di dispositivi HW Sarimesh supportavano, come oramai solito, lo stesso esatto pachetto SW caratterizzato da una completa interfaccia gestionale di tipo grafico, che evitava completamente la necessità di installazione di una piattaforma di sviluppo SW per un uso “normale” , consentendo di avere la possibilità di usare il disposito sia per le funzioni di tracker che di iGate senza necessità di sostituzione del SW per passare da una funzione all’altra e consentendo una significativa flessibilità di gestione delle funzioni disponibili tramite la comoda interfaccia grafica.
Con la versione 5.1 del SW Sarimesh Core erano inoltre state introdotte una serie di nuove funzionalità HW/SW tra cui il supporto della modalità “Dual Radio” e “Dual Mode” che rendeva possibile un uso simultaneo di due diverse modalità di RX/TX LoRa con parametri radio diversi sullo stesso canale radio in modo da rendere concretamente utilizzabili valori di banda trasmessa superiore ai tradizionali scarsi 300 bit/sec e quindi potenzialmente in grado di sperimentare modalità di lavoro tipo il tradizionale APRS su banda 144/432 MHz ; questa modalità di operation consentiva inoltre di utilizzare concretamente oltre alle solite minimali funzioni di tracking monodirezionale ( da tracker a iGate) anche la modalità di operation “bidirezionale” senza incorrere in pesanti problemi di congestione; in particolare diventavano concretamente utilizzabili anche funzioni di “messaging” e di invio di dati “meteo” e di “telemetria”.
Negli ultimi mesi ci sono state sul fronte della disponibilità di nuovi prodotti a bassissimo costo delle importanti novità soprattutto sul fronte dei nuovi processori della famiglia ESP32: la novità più interessante è stata certamente la disponibilità del nuovo processore ESP32 S3 che rispetto ai precedenti dispositivi presenta delle interessantissime caratteristiche che consentono di realizzare concretamente altre funzioni prima implementabili solo con dei “work around” a causa di una serie di limitazioni.
Simultaneamente si è avuta anche la disponibilità di nuovi prodotti a basso prezzo suil fronte del sottosistema di “alimentazione” che ha visto virare pesantemente verso l‘adozione del USB-C come interfaccia universale di interconnessione dei sistemi tra parte “alimentazione” e parte “funzionale”: questo nuovo paradigma consente quindi di separare e ottimizzare separatamente le due componenti funzionali evitando di dover utilizzare componenti molto complessi quali i classici dispositivi per la gestione dell’alimentazione ( ad es. gli AXP192/2101) che a causa dello loro complessità HW ( pinnatura molto densa) rendevano molto complessa l’ottimizzazione dell’uso dell’energia su circuiti realizzabili a livello amatoriale.
La nostra attività quindi si è focalizzata sullo sfruttare queste novità per realizzare due nuovi PCB e nel predisporre una nuova versione del SW Sarimesh Core in grado di sfruttare queste innovazioni utilizzando nuovi “schedini” comparsi sul mercato e basati sulle novità di cui si parlava.
Innanzitutto sul fronte degli “schedini” cinesi si è deciso di puntare lo sguardo su un singolo dispositivo che conteneva la maggior parte delle innovazioni di cui si è parlato e che prometteva di essere un “break-point” sul dominio quasi incontrastato dei famosi schedini TTGO T-Beam che oramai sono arrivati a prezzi stratosferici senza introdurre peraltro significative innovazioni tecnologiche: la scelta è caduta sul prodotto “Heltec Tracker” che consiste in uno schedino di soli 66×28 mm che racchiude tutto il necessario per realizzare un tracker/iGate di ultima generazione.
Il prodotto si basa sull’utilizzo del processore ESP32-S3 con 8 Megabytes di Flash , un chip LoRa di seconda generazione SX1262 ed un modulo GPS di ultima generazione, con un sistema di gestione dell’alimentazione che evita i famosi AXP192/2101 , e con interfaccia USB-C unica sia per le funzioni di gestione che di alimentazione, e che integra anche una antenna GPS on board sufficientemente usabile, pur consentendo di avere la possibilità di montare una antenna GPS esterna oltre ad una antenna radio esterna.
Il tutto aggiunto alla presenza on board di un display a colori da 0,96″ in grado di mostrare anche se con le limitazioni della dimensione dello schermo, comunque un set di informazioni adeguato all’uso con il nostro SW Sarimesh Core ( esattamente lo stesso contenuto delle altre versioni HW…), ed un alimentatore per batteria LiPo.
Il tutto con uno street-price compreso di IVA e spedizione dalla cina che è attualmente posizionato sui 27€ !
Una soluzione perfetta come rimpiazzo del nostro precedente modello “Compact” !
Sempre sul fronte del sempre più piccolo e sempre più economico abbiamo pensato, su suggerimento di un amico, Angelo, superesperto di droni, di mettere insieme una versione super-mini della nostra piattaforma HW, per applicazioni appunto sui droni, come ausilio in fase di recupero degli stessi o in caso di caduta accidentale: si tratta di una versione completa basata sul processore ESP32 completamente privo di display, con batteria LiPo e ricaricaricabile tramite USB-C con carica veloce. Il dispositivo è completamente gestibile tramite un qualsiasi browser per es. su smarthphone, senza bisogno di installare nessuna app.
La fig seguente mostra il dispositivo, di dimensioni 65×28 mm: questa versione si presta in particolare ad essere usato anche per applicazioni in ambito emergenziale come dispositivo di tracciamento e di localizzazione dei membri di una squadra di soccorso; infatti il dispositivo supporta il SW completo ver. 5.1.1 che include anche un sistema di micro-messaging ( LoRa Messenger) in grado di fornire in tempo reale lo stato di raggiungibilità dei membri di un gruppo, il tutto in condizioni di OFF-GRID, ovvero senza che sia necessaria la presenza della connettività internet nella zona interessata.Il costo di questa versione di dispositivo dovrebbe aggirarsi sui 16-17 € a parte la batteria LiPo il cui dimensionamento dipende ovviamente dalla applicazione richesta.
Ovviamente come tutti i prodotti super-ottimizzati quello che a tali prodotti supercompatti manca è la possibilità della “sperimentabilità” di nuove o diverse soluzioni di utilizzo… ed è qui che si sono concentrati gli sforzi che abbiamo fatto sul fronte della “modularità HW“.
In particolare abbiamo sviluppato e reso disponibili due nuove versioni dei PCB modello “Mini” per un uso portatile, e “Maxi” per un uso fisso, in cui abbiamo introdotto in maniera estensiva la nuova interfaccia di alimentazione basata su USB-C e l’utilizzo del nuovo processore ESP32-S3 nella versione Maxi allo scopo di implementare nuove funzionalità soprattutto per un utilizzo “remoto” ad alta disponibilità e a minima richiesta di connessioni esterne.
In particolare per la versione “Mini” , ancora basata sul tradizionale ESP32, le due novità principali sono il supporto della nuova interfaccia di alimentazione tramite USB-C con possibilità di supporto di un alimentatore UPS basato su batterie, LiPo con possibilità di accensione/spegnimento reale tramite pulsante, e con il supporto di una Flash SD per la acqusizione e conservazione di una ampia casistica di dati relativi al funzionamento del dispositivo quale i dati di posizione, i dati di qualità della ricezione LoRa ed i dati di sensoristica.
Per la versione “Maxi” invece la principale novità è consistita nell‘introduzione del nuovo processore ESP32 – S3 che ha consentito di rendere finalmente disponibile simultaneamente il supporto dell‘interfaccia Ethernet senza “work-arounds” oltre a nuove funzionalità quali ad esempio un controllo di alcune funzioni di risparmio energetico e il supporto di una ventola esterna per i l raffreddamento in caso di utilizzo in situazioni da esterno. Inoltre anche nella versione Maxi sono state introdotte le stesse funzionalità di alimentazione tramite USB-C con interruttore di accensione/spegnimento reale e il supporto per le schede Flash-SD.
Una ulteriore novità riguarda la realizzazione di una nuova schedina-figlia per il supporto dei chip LoRa attualmente più utilizzati ed in particolare anche dei nuovi chips LoRa a 2.4GHz che rappresenta una delle nuove funzionalità che si pensa di sperimentare nel prosieguo.
Una ulteriore novità dei nuovi PCB Mini e Maxi è che sono stati realizzati interamente in tecnica di montaggio SMD con l’obiettivo di rendere disponibili i dispositivi sotto forma di stampati semi-assemblati per le componenti SMD allo scopo di rendere agevolmente realizzabili dei kit di assemblaggio semplificati per chi abbia voglia di completare da solo il montaggio, o rendere disponibili dei prototipi montati e collaudati a prezzi molto vantaggiosi .
Sul fronte SW è stata creata una nuova versione del SW Sarimesh Core Vr. 5.2 che supporta i nuovi HW basati sul processore ESP32-S3, e che si aggiunge alla versione 5.1.x ancora aggiornata al supporto del nuovo HW basato sul processore ESP32 tradizionale.
La nuova versione del SW include , oltre al supporto del nuovo processore, anche una serie di nuove piccole/grandi aggiunte funzionali soprattutto nella gestibilità ed accessibilità da GUI di alcune funzionalità già presenti in passato; ad esempio vengono rese accessibili tramite GUI le funzionalità di debug tramite interfaccia seriale/USB senza richiedere tools aggiuntivi o un ambiente di sviluppo installato, la possibilità di accedere al log dei dati di funzionamento catturati dalle funzioni di logging e “post-mortem data”, e la possibilità di display dei dati completi relativi agli spots ricevuti in tempo reale.
Per la versione Maxi, la nuova versione SW 5.2 aggiunge oltre alle migliorie già indicate per la versione 5.1.x, delle nuove funzionalità per la gestione, il display e il reporting dei dati di telemetria relativi al funzionamento del sottosistema UPS, per la gestione del risparmio energetico e per la gestione della ventolina di raffreddamento equipaggiabile per l’installazione in ambiente esterno.
Il dettaglio delle nuove funzioni sarà oggetto di un ulteriore articolo di dettaglio.
Allo stato attuale è già disponibile una immagine SW Vr. 5.2 caricabile direttamente sullo schedino Heltec Tracker scaricabile dal WEB.
Per l’utilizzo di tale immagine è sufficiente procurarsi uno schedino Heltec Tracker su un qualsiasi portale cinese e installare un unico file tramite il classico tool di programmazione fornito dal produttore Espressif dei chips ESP32 ; a seguire verrà realizzato un nuovo articolo di dettaglio relativo al recupero dal WEB, al setup dettagliato e all’utilizzo dell’immagine indicata.
Per quanto riguarda l’aspetto di disponibilità del SW sorgente come noto il SW Sarimesh Core è già disponibile su github nella versione 4.x a cura di Alfredo Vania iz7boj; le nuove versioni 5.x non sono state ancora rese disponibili su Github per vari motivi che ci sembrano tutti molto significativi:
- il primo motivo (e a mio parere il più importante trattandosi, per noi, di un hobby quello che stiamo facendo…) è che il buon Alfredo negli ultimi tempi è estremamente impegnato per la sua attività lavorativa e familiare e quindi non ha avuto e non ha molto tempo da dedicare all’aggiornamento di Github, ma soprattutto poi a supportare eventuali richieste conseguenti alla pubblicazione del nuovo SW.
- Il secondo motivo è quello della documentazione: rendere disponibile il SW senza un adeguato livello di documentazione è estremamente negativo per chi vuole realizzare delle modifiche e soprattutto crea un inutile lavorio di supporto su Github e crea confusione a causa dell’accavallarsi di nuovi temi spesso specifici e scorrelati tra loro. Allo stato è comunque disponibile un manuale di quasi 100 pagine relativo alla versione SW vr. 5.1 anche se non aggiornato alle ultime funzionalità aggiunte recentemente.
- il terzo motivo è più sottile ed intrigante ma a parere dello scrivente è forse il più significativo: rendere disponibile dei sorgenti significa costringere un potenziale utilizzatore ad utilizzare una certa piattaforma di sviluppo per realizzare una immagine funzionante; nel caso del nostro SW la piattaforma unica supportata allo stato è PlatformIO che rappresenta certamente oggi il top in quanto a piattaforme di sviluppo free per lo sviluppo di applicazioni embedded… Orbene per la sua complessità questa piattaforma presenta purtroppo una serie di problemi legati proprio alle sue potenzialità, per cui nella nostra esperienza di circa un anno di utilizzo abbiamo dovuto prendere atto che molti dei problemi che sorgono in fase di utilizzo della piattaforma per realizzare una immagine funzionante dipendono non dal SW come distribuito, ma purtroppo dall’adattamento e dalle funzionalità rese disponibili ( spesso automaticamente come per gli aggiornamenti del SW e delle librerie collegate al progetto che si intende implementare) dalla piattaforma di sviluppo PlatformIO e dalla piattaforma HW/SW su cui si lavora ( es. se su windows o sotto linux o apple ). Purtroppo questo defacto è il lato oscuro del rendere disponibile dei sorgenti e porta a determinare sicuri insuccessi purtroppo non legati al SW ma al sistema per la creazione delle immagini: questo rafforza la nostra convinzione che il modo corretto di impostare la sperimentazione sul tema LoRa NON è quello di costringere lo sperimentatore a diventare un esperto di informatica avanzata, e quindi puntare sulla creazione di una interfaccia grafica di gestione e setup sufficientemente potente e flessibile da rendere il ricorso ai sorgenti un evento non da sperimentatore ma da sviluppatore.
- il quarto motivo scaturisce dai precedenti tre: considerando la limitatezza delle nostre risorse di sviluppo HW/SW e la platea di potenziali soggetti interessati a questi aspetti, non ha ovviamente senso fare sforzi per il supporto degli aspetti di sviluppo SW se non in caso di un concreto interesse, anche vista la complessità del nostro SW non concepito per un uso specifico e limitato, come la quasi totalità degli altri SW disponibili, ma per un uso come piattaforma aperta di sperimentazione e quindi necessariamente complessa e spesso disorganica, peraltro creata non da esperti di SW aulico ma da smanettatori abituati al saldatore.
Ovviamente è sempre nostra intenzione rendere disponibile su Github anche le ultime versioni del SW allo scopo di contribuire all’attività di eventuali sviluppatori che vogliano trarre beneficio dai nostri sviluppi o introdurre delle modifiche al SW per ampliarne o migliorarne le caratteristiche, ma l’intento è che questo sia un passaggio NON obbligato per chi vuole semplicemente provare o utilizzare il SW senza nessun bisogno o voglia di ravanare nei meandri di come il tutto funzioni.
In attesa che le nuove versioni siano rese disponibili su Github, eventuali persone interessate ad avere i sorgenti subito “nello stato in cui sono” è sufficiente inviare una mail a info@sarimesh.net e volentieri condivideremo i sorgenti; nella nostra esperienza recente la migliore modalità di supporto è tramite una o più sessioni di lavoro comune tramite per es. il tool “anydesk” che consente di operare insieme sull’ambiente reale usato dall’utilizzatore, in modo da fare una forma di mini-training on the job e risolvere insieme i classici problemi di setup iniziale della piattaforma di sviluppo.
Analogamente per quanto riguarda gli aspetti HW , purtroppo anche su questo fronte ci sono svariati problemi non legati al semplice “schema elettrico” ma alla traduzione dello schema elettrico in un oggetto fisicamente disponibile; nel caso specifico dei nostri HW fin dall’inizio stiamo utilizzando come ambiente di sviluppo HW l’ambiente free KICAD che si è rivelato una ottima scelta, ma che purtroppo presenta anch’esso tutta una serie di piccoli/grandi problemi di piattaforma: infatti lavorando con componenti di ultima generazione purtroppo bisogna spesso creare dei modelli ad hoc per i vari componenti che non fanno parte delle librerie normalmente distribuite con i rilasci del SW KICAD presente su internet: il risultato è che volendo replicare esattamente un certo ambiente di sviluppo HW richiede un grosso sforzo di supporto collaterale proprio a causa di queste mini-customizzazioni richieste all’ambiente base KICAD. Considerando la limitatezza delle nostre risorse di sviluppo HW/SW e la platea di potenziali soggetti interessati a questi aspetti, non ha ovviamente senso fare sforzi per il supporto degli aspetti di sviluppo HW.
Riguardo poi alla distribuzione dei files Gerber relativi ad una certa realizzazione nella nostra esperienza è anch’esso un tema complesso se si considera come obbiettivo quello di consentire a chiunque di realizzarsi dei prototipi funzionanti: mentre con i PCB realizzati interamente con componenti PTH non esistevano grossi problemi ad avere un assemblato facilmente conforme al voluto e al documentato nei files gerber, per PCB che usano ampiamente la tecnologia SMD purtroppo non è più così a causa della significativa difficoltà di individuare e specificare in maniera esatta il tipo di componenti e i relativi formati fisici da montare, oltre al fatto di doversi procurare e montare tali componenti usando microscopio, tavole calde o altri dispositivi ad hoc, che rendono la fase di assemblaggio oggettivamente non un lavoro da hobbista ma un lavoro da professionista dell’assemblaggio e della produzione industriale di dispositivi HW.
Quindi abbiamo deciso di rendere solamente disponibili gli schemi elettrici in formato PDF come peraltro fanno tutti i produttori cinesi ben noti.
Ne va di conseguenza che per chi volesse realizzare dei prototipi dei nostri dispositivi HW, renderemo disponile appena possibile un canale online per acquistare il necessario per realizzare tali dispositivi in maniera affidabile ed a prezzi ridotti all’osso.
Come sempre ottimo lavoro il gruppo risponde bene adesso dobbiamo puntare e studiare dei vestiti eleganti per tutti i dispositivi sia nuovi che vecchie compresi i beta test,complimenti sempre a te che sei il trainer di tutto e il gruppo affiatato ti segue va bene così siamo sulla strada giusta. Complimenti
caro Giovanni, grazie per il tuo apprezzamento !!!
con la’iuto di Angelo penso che riusciremo anche a fare dei bei vestiti 🙂