IL MONDO DEI SISTEMI VIDEO DIGITALI OPENIPC
Da qualche mese si stanno diffondendo, sul mercato dei componenti per modellismo dinamico ed in particolare per aeromodelli a pilotaggio remoto, dei nuovi sistemi digitali per la trasmissione del segnale video necessario al volo o al pilotaggio in modalità FPV (First Person View).
Fino ad ora molti di voi avranno sentito parlare dei sistemi DJI o dei sistemi Walknsail di CaddX, o anche di HD Zero per chi segue il mondo dei droni da corsa, ma se vi dicessimo che esistono sistemi digitali anche di marche come Eachine o RunCam o Emax? Ebbene Sì, stiamo parlando dei sistemi digitali FPV basati sul firmware open-source di OpenIPC e sul protocollo di comunicazione WFB-NG. Questi sistemi esistono già da qualche anno ma solo di recente si sono diffusi a livello commerciale su larga scala.
In questo articolo andremo a presentare in linea generale il mondo del sistema OpenIPC, entreremo più nel dettaglio nel descrivervi come funziona un sistema basato su protocollo WFB-NG ed infine vedremo quali sono le soluzioni tecniche che attualmente si possono adottare per usufruire di questa tecnologia soprattutto per volare con il nostro quadricottero in modalità FPV.
Per dare maggiore concretezza a quanto scritto, allo stato attuale con i sistemi in nostro possesso quello che si può realizzare è un collegamento tra l’unità video digitale, sia essa Walksnail o DJI o HDZero, e la ricevente che spesso è inserita direttamente nei visori o Goggles FPV. Di recente sia Walksnail che DJI permettono lo streaming del video condiviso anche su altri visori sempre della stessa marca ed, eventualmente, la possibilità di condividere il video sui social media collegando i visori stessi al proprio smartphone. In tutti questi casi però si è sempre vincolati a hardware e software proprietari.
Con il sistema OpenIPC qualsiasi dispositivo che sia un monitor, un tablet, un PC, collegato alla stessa rete WiFi del modulo trasmettitore VTX installato sul drone, può visualizzare il video in diretta. Quindi immaginate uno scenario in cui state volando con il drone, vedete il video sul vostro visore ed, in contemporanea, lo stesso video viene trasmesso su un PC per una condivisione live sui Social e su un Maxi Schermo o proiettore video per farlo vedere agli spettatori presenti.
Quello che ha reso possibile l’impiego di questa tecnologia nel mondo del controllo FPV applicato al modellismo dinamico è stato lo sviluppo del protocollo WFB-NG (WiFi Broadcast – Next Generation).
Il protocollo WFB-NG è un sistema open-source progettato per la trasmissione di dati video e telemetria con bassa latenza. La sua caratteristica principale è l’utilizzo delle schede WiFi in modalità monitor, permettendo l’invio e la ricezione di pacchetti arbitrari senza la necessità di associazione di rete o di attendere i pacchetti ACK.
Immaginate la vostra rete WiFi di casa. Questa comunica con un sistema affidabile e ordinato in cui ogni apparato, identificato con un proprio nome, parla a turno chiedendo il permesso e rispondendo “Ho capito” (ACK). Un sistema del genere riduce chiaramente il rischio di incappare in errori di comunicazione ma allo stesso tempo introduce un ritardo nella comunicazione stessa.
In una rete WFB-NG viene sacrificato questo ordine per poter velocizzare la comunicazione e ridurre la latenza. Ogni apparato trasmette e riceve contemporaneamente aggiungendo al pacchetto dati alcune informazioni di riserva che prendono il nome di FEC (Forward Error Connection). Queste informazioni consentono di risolvere eventuali errori di perdita dei dati che la comunicazione non ordinata può generare.
Un’altro aspetto importante riguarda il fatto che, essendo un sistema sviluppato nello specifico per la trasmissione video, il tipo di segnale trasmesso non viene processato e compresso ma semplicemente viene inviato così come generato dalla telecamera con una codifica detta RAW H264 o RAW H265. Questa comunicazione diretta riduce ulteriormente i tempi di trasmissione.
Infine il sistema è creato per operare in maniera ottimale anche su più bande di frequenza che vengono utilizzate contemporaneamente e gestite in modo tale da scegliere la connessione più stabile oppure per trasmettere su entrambe le frequenze combinando i segnali in un’unica sorgente più forte e affidabile.
Dal firmware principale open-source OpenIPC sono nate poi varianti che vanno a migliorare alcuni aspetti del sistema originario proprio per renderlo più adatto al mondo FPV.
Di queste varianti ne esistono molteplici ma quelle che vale la pena menzionare, per introdurre poi i prodotti che abbiamo avuto modo di vedere e testare, sono il firmware Ruby Digital FPV e il sistema APFPV Pixel Pilot.
Fisicamente il montaggio è abbastanza semplice:
Per quanto riguarda la configurazione e l’aggiornamento delle unità si utilizza un apposito configuratore che si chiama OpenIPC Configurator e che si può trovare a questo link.
Su piattaforma con sistema operativo Microsoft Windows l’installazione del configuratore è vincolata all’installazione del software Putty, scaricabile visitando questa pagina, che ha la funzione di terminale SSH/TELNET e vi servirà per interfacciare il configuratore con il controllore dell’unità video FPV.
Come si effettua il collegamento? Ecco in breve i passaggi essenziali:
Lo smartphone può essere convertito in Goggles FPV. Un classico esempio applicativo potrebbe essere quello dell’immagine che riportiamo dove il pilota sta usando una maschera per realtà virtuale come questa, ma ne esistono di vari modelli. Chiaramente questo tipo di applicazione risulta essere molto facile da utilizzare ma, al contempo, lascia un po’ a desiderare in termini di prestazioni in quanto è facile perdere il segnale video.
Un sistema migliore da usare come Ground Station è quello basato su Computer miniaturizzati (SBC) come le schede Radxa Zero oppure le schede Raspberry. Il computer SBC viene dotato di un sistema operativo in cui sono integrati tutti i necessari strumenti software per poter ricevere, decodificare e ritrasmettere il segnale video che viene emesso dalla nostra camera FPV installata sul drone.
Esistono essenzialmente due basi software utilizzabili con Computer SBC: il sistema base di WFB-NG e il sistema Ruby Digital FPV.
Il sistema WFB-NG è una versione Linux modificata in cui è preinstallato appunto l’ecosistema WFB-NG e i drivers modificati necessari per il collegamento dell’access point WiFi, che ricordiamo deve avere un processore RTL 8812au o 8812eu. Il sistema operativo è integrato anche con i componenti software di Gstreamer necessari per convertire il flusso video, ricevuto dal modulo video montato sul drone, e realizzare lo streaming dello stesso sulla porta HDMI alla quale sono collegati i Goggles FPV o un display.
Purtroppo per arrivare ad una versione finale del sistema funzionante è indispensabile effettuare sul terminale Linux dell’unità Raspberry o Radxa Zero una serie di configurazioni modificando alcuni file ed eseguendo alcuni script già compilati. Questi passaggi sono spiegati in una guida, che potete trovare a questo link, ma richiedono una conoscenza di base dell’ecosistema Linux e dell’uso dei comandi base del terminale. Inoltre per poter operare serve collegare un monitor ed una tastiera a Raspberry o Radxa occorre effettuare un collegamento SSH tra un PC e il sistema Ground Station mediante l’uso di appositi software come Putty per Windows così come già abbiamo spiegato per il collegamento al configuratore openIPC.
Una soluzione più User friendly è invece quella basata sul firmware Ruby Digital FPV che, una volta avviato, presenta un menù grafico in cui è possibile:
Il sistema OpenIPC
ll sistema OpenIPC è un progetto open-source che mira a fornire un firmware personalizzabile e flessibile per telecamere IP basate su specifici processori (System-on-Chip o SoC) di produttori come HiSilicon, Goke, Sigmastar e Ingenic, tra gli altri. In sostanza, sostituisce il firmware proprietario e spesso limitante che si trova di default su molte telecamere di sorveglianza economiche o su schede video per FPV (First Person View). Il nodo cruciale è proprio la possibilità di poter creare un sistema di streaming video ad alta definizione, in vari formati tipo H264/H265, aperto e basato su protocolli standard, il più comune è RTSP (Real Time Streaming Protocol), e che permette quindi di avere un flusso video accessibile e visionabile da qualsiasi lettore multimediale connesso alla medesima rete locale. Inoltre, potendo poi connettersi anche attraverso un terminale Shell/SSH, direttamente alla telecamera è possibile modificare la programmazione del firmware e attivare modalità di debugging avanzato in modo da poter ottenere il massimo delle prestazioni anche in ottica di bassa latenza di trasmissione del video che è quello a cui si deve puntare se si vuole utilizzare il sistema come camera FPV montata sui nostri droni.
Per dare maggiore concretezza a quanto scritto, allo stato attuale con i sistemi in nostro possesso quello che si può realizzare è un collegamento tra l’unità video digitale, sia essa Walksnail o DJI o HDZero, e la ricevente che spesso è inserita direttamente nei visori o Goggles FPV. Di recente sia Walksnail che DJI permettono lo streaming del video condiviso anche su altri visori sempre della stessa marca ed, eventualmente, la possibilità di condividere il video sui social media collegando i visori stessi al proprio smartphone. In tutti questi casi però si è sempre vincolati a hardware e software proprietari.
Con il sistema OpenIPC qualsiasi dispositivo che sia un monitor, un tablet, un PC, collegato alla stessa rete WiFi del modulo trasmettitore VTX installato sul drone, può visualizzare il video in diretta. Quindi immaginate uno scenario in cui state volando con il drone, vedete il video sul vostro visore ed, in contemporanea, lo stesso video viene trasmesso su un PC per una condivisione live sui Social e su un Maxi Schermo o proiettore video per farlo vedere agli spettatori presenti.
Il protocollo di comunicazione WFB-NG
Quello che ha reso possibile l’impiego di questa tecnologia nel mondo del controllo FPV applicato al modellismo dinamico è stato lo sviluppo del protocollo WFB-NG (WiFi Broadcast – Next Generation).
Il protocollo WFB-NG è un sistema open-source progettato per la trasmissione di dati video e telemetria con bassa latenza. La sua caratteristica principale è l’utilizzo delle schede WiFi in modalità monitor, permettendo l’invio e la ricezione di pacchetti arbitrari senza la necessità di associazione di rete o di attendere i pacchetti ACK.
Immaginate la vostra rete WiFi di casa. Questa comunica con un sistema affidabile e ordinato in cui ogni apparato, identificato con un proprio nome, parla a turno chiedendo il permesso e rispondendo “Ho capito” (ACK). Un sistema del genere riduce chiaramente il rischio di incappare in errori di comunicazione ma allo stesso tempo introduce un ritardo nella comunicazione stessa.
In una rete WFB-NG viene sacrificato questo ordine per poter velocizzare la comunicazione e ridurre la latenza. Ogni apparato trasmette e riceve contemporaneamente aggiungendo al pacchetto dati alcune informazioni di riserva che prendono il nome di FEC (Forward Error Connection). Queste informazioni consentono di risolvere eventuali errori di perdita dei dati che la comunicazione non ordinata può generare.
Un’altro aspetto importante riguarda il fatto che, essendo un sistema sviluppato nello specifico per la trasmissione video, il tipo di segnale trasmesso non viene processato e compresso ma semplicemente viene inviato così come generato dalla telecamera con una codifica detta RAW H264 o RAW H265. Questa comunicazione diretta riduce ulteriormente i tempi di trasmissione.
Infine il sistema è creato per operare in maniera ottimale anche su più bande di frequenza che vengono utilizzate contemporaneamente e gestite in modo tale da scegliere la connessione più stabile oppure per trasmettere su entrambe le frequenze combinando i segnali in un’unica sorgente più forte e affidabile.
Dal firmware principale open-source OpenIPC sono nate poi varianti che vanno a migliorare alcuni aspetti del sistema originario proprio per renderlo più adatto al mondo FPV.
Di queste varianti ne esistono molteplici ma quelle che vale la pena menzionare, per introdurre poi i prodotti che abbiamo avuto modo di vedere e testare, sono il firmware Ruby Digital FPV e il sistema APFPV Pixel Pilot.
Tecnologie e configurazione per il volo in FPV
Abbiamo visto che la community, legata al mondo open-source di OpenIPC, sta lavorando attivamente nel creare un sistema che sia multipiattaforma in modo da essere il più flessibile possibile. Questo ha portato allo sviluppo di varie soluzioni tecniche alcune più semplici da utilizzare ma meno performanti, altre più complesse che però danno risultati di buon livello sempre nell’ottica dell’uso con modelli in modalità FPV. Riassumendo velocemente quanto visto nei punti precedenti, i componenti base del nostro sistema digitale OpenIPC sono sempre una camera FPV con socket compatibile che integra o meno il modulo openIPC, il modulo processore OpenIPC se non integrato nella camera FPV, un adapter WiFi trasmettitore (VTX), un adapter WiFi ricevitore (VRX), una ground station e infine la periferica video HDMI. Nel mondo del modellismo dinamico, ed in particolare il mondo dei droni FPV, si sono diffusi principalmente tre sistemi che includono camera FPV e modulo VTX già compatibili con OpenIPC. Stiamo parlando di:- Runcam Link 2, che trovate a questo link;
- eMAX Wyvern Link, che potete acquistare qua;
- Eachine Sphere Lik, che trovate su questa pagina;
Fisicamente il montaggio è abbastanza semplice:
- Installazione dell’adapter WiFi sul frame del drone, sfruttando i fori 30×30 o 25×25,
- Collegamento dell’alimentazione, possibilmente tramite un regolatore di tensione BEC da 9 o 12V, in quanto l’Adapter WiFi e la camera con il proprio processore possono arrivare ad assorbire anche 0,7/1A,
- Montaggio della CAM FPV che presenta vari collegamenti rispetto la CAM digitale o analogica standard. Sulla CAM va effettuato anche il collegamento con il Flight Controller, con il cavetto di controllo che va saldato sui pad di una qualsiasi UART invertendo RX e TX come si fa con le altre VTX digitali, e il collegamento con apposito cavetto di collegamento all’adapter WiFi.
- Montaggio delle antenne che, anche in questo caso, presentano connettori IPEX.
- Montaggio del modulo debugger ovvero una scheda ethernet con porta di rete RJ45 che serve per configurare il sistema.
Per quanto riguarda la configurazione e l’aggiornamento delle unità si utilizza un apposito configuratore che si chiama OpenIPC Configurator e che si può trovare a questo link.
Su piattaforma con sistema operativo Microsoft Windows l’installazione del configuratore è vincolata all’installazione del software Putty, scaricabile visitando questa pagina, che ha la funzione di terminale SSH/TELNET e vi servirà per interfacciare il configuratore con il controllore dell’unità video FPV.
Come si effettua il collegamento? Ecco in breve i passaggi essenziali:
- Collegare mediante cavo ethernet standard la porta di rete del computer e la porta di rete del debugger del sistema OpenIPC.
- Modificare le impostazioni di rete nel menù impostazioni Windows -> rete e internet -> Ethernet ed inserire un IP Statico tipo 192.168.1.20. Ricordatevi di tenere abilitata sul PC anche la scheda WiFi in modo da avere l’accesso ad internet.
- Avendo già in precedenza installato Putty per Windows e scaricato il configuratore, avviare il configuratore stesso.
- Inserire, nella barra in basso, l’indirizzo IP dell’unità FPV (normalmente 192.168.1.10), la password (normalmente 12345) e vedrete il quadratino che da rosso diventa verde come nell’immagine.
- Se non sapete quale sia l’indirizzo IP potete usare lo scanner IP che trovate nella scheda Setup del configuratore.
- Se il collegamento avviene correttamente vedrete che si apre in automatico in background il terminale putty nel quale potrete osservare i vari processi di scrittura dei file di configurazione della telecamera e potrete interagire qualora il processo preveda un vostro intervento.
- aggiornare i firmware del processore e il firmware della camera FPV,
- modificare le impostazioni di trasmissione del segnale video (prima tab) e della camera FPV (seconda tab),
- Attivare il servizio OSD dei dati della telemetria sfruttando la configurazione Betaflight o Inav a seconda del tipo di firmware installato nel Flight Controller.
- Dal menù Setup scaricare o caricare il file drone.key che è indispensabile per effettuare il collegamento tra Drone e Ground Station e che dovrà essere quindi copiata nel sistema che usate per la ricezione del segnale video.
- Dal menù WFB-NG, nella prima tab selezionabile dal menù di navigazione, occorre impostare il canale di trasmissione WiFi, che deve coincidere con il canale di ricezione impostato nella ground station, il valore di Bandwidth (20 o 40) e il livello di potenza di trasmissione
Ground Station e firmware per la gestione dell’immagine Video
Il dispositivo più semplice e immediato da utilizzare come Ground Station è il vostro smartphone o Tablet e lo potrete fare mediante Pixel Pilot. Il Sistema Pixel Pilot si basa su un’applicazione per dispositivi mobili Android. Basta semplicemente collegare al proprio smartphone o tablet Android, dove è stata installata l’applicazione, l’adapter WiFi che viene venduto assieme alla Trasmittente OpenIPC, oppure acquistare un Adapter basato su chip Realtek RTL8812au o RTL8812eu (come questo prodotto) oppure Atheros AR927 o altri compatibili. L’applicazione deve essere scaricata ed installata usando il gestore dei pacchetti di Android, non è presente sullo store Google Play, e la potete ottenere a questo link. Per il collegamento dovrete:- avviare l’applicazione su smartphone,
- impostare nel menù la corretta banda di frequenza del trasmettitore video del drone e il corretto valore di Bandwidth visti in precedenza nel configuratore.
- Copiare nella memoria dello smartphone anche la chiave drone.key rinominata in GS.Key che potrete caricare dal menù impostazioni di PixelPilot.
- Collegare l’adapter sulla porta USB dello smartphone o Tablet, dovrebbe apparire un pop-up che vi suggerisce di avviare l’applicazione.
- Se non vi riconosce il modulo WiFi collegato all’ingresso USB del vostro smartphone probabilmente dovete abilitare l’opzione OTG dal menù impostazioni.
- Se il collegamento è andato a buon fine vedrete che, sul display, apparirà il messaggio che l’applicazione è in ascolto sulla banda di frequenza selezionata.
- Alimentare il drone, o il trasmittente video che avete montato.
Un sistema migliore da usare come Ground Station è quello basato su Computer miniaturizzati (SBC) come le schede Radxa Zero oppure le schede Raspberry. Il computer SBC viene dotato di un sistema operativo in cui sono integrati tutti i necessari strumenti software per poter ricevere, decodificare e ritrasmettere il segnale video che viene emesso dalla nostra camera FPV installata sul drone.
Esistono essenzialmente due basi software utilizzabili con Computer SBC: il sistema base di WFB-NG e il sistema Ruby Digital FPV.
Il sistema WFB-NG è una versione Linux modificata in cui è preinstallato appunto l’ecosistema WFB-NG e i drivers modificati necessari per il collegamento dell’access point WiFi, che ricordiamo deve avere un processore RTL 8812au o 8812eu. Il sistema operativo è integrato anche con i componenti software di Gstreamer necessari per convertire il flusso video, ricevuto dal modulo video montato sul drone, e realizzare lo streaming dello stesso sulla porta HDMI alla quale sono collegati i Goggles FPV o un display.
Purtroppo per arrivare ad una versione finale del sistema funzionante è indispensabile effettuare sul terminale Linux dell’unità Raspberry o Radxa Zero una serie di configurazioni modificando alcuni file ed eseguendo alcuni script già compilati. Questi passaggi sono spiegati in una guida, che potete trovare a questo link, ma richiedono una conoscenza di base dell’ecosistema Linux e dell’uso dei comandi base del terminale. Inoltre per poter operare serve collegare un monitor ed una tastiera a Raspberry o Radxa occorre effettuare un collegamento SSH tra un PC e il sistema Ground Station mediante l’uso di appositi software come Putty per Windows così come già abbiamo spiegato per il collegamento al configuratore openIPC.
Una soluzione più User friendly è invece quella basata sul firmware Ruby Digital FPV che, una volta avviato, presenta un menù grafico in cui è possibile:
- gestire il collegamento con l’unità video VTX garantendo la possibilità di modificare tutti i parametri riguardo la qualità video trasmessa, FPS, gestione della qualità del segnale in termini di bitrates, potenza, ecc…,
- visualizzare le informazioni di volo mediante Overlay Display (OSD),
- Controllare la modalità di registrazione del volo.
Conclusioni
Vi abbiamo fornito in questo articolo tutte le informazioni di base necessarie per poter approcciare il mondo delle unità video OpenIPC correttamente. Abbiamo visto che il sistema più semplice da usare è quello di Runcam con il prodotto Link 2 associato alla propria VRX. Se volete integrare il sistema su droni di piccole dimensioni vi dovete invece orientare sui prodotti Emax. Se invece vi sentite in grado di avere le competenze necessarie per configurare ad hoc una ground station potete orientarvi sul kit più economico, ma forse più performante, di Eachine, il sistema Sphere link. A riguardo aggiungiamo che se volete sperimentare realizzando una vostra Ground Station personale vi suggeriamo di acquistare la scheda RadXa Zero 3W per la quale esistono già delle immagini firmware pronte per l’utilizzo. Vale quindi la pena buttarsi in questi mondo? Sì, ma dipende da ciò che cerchi: Pro:- Prezzi più accessibili
- Grande flessibilità e personalizzazione
- Ideale per chi ama sperimentare
- Sviluppo delle varie soluzioni illustrate nell’articolo ancora in fase iniziale (alpha o beta) quindi sono prodotti da usare con cautela,
- Configurazione più complessa che Richiede conoscenze tecniche (SSH, Linux, reti),
- Prestazioni buone ma non a livello dei prodotti top di gamma di CaddX o DJI,
- Non adatto a chi vuole fare racing o volo acrobatico spinto.





