In questa paginetta descriviamo l'installazione di
OpenPlotter,
un potente e completo programma di navigazione per barche a vela,
su
Raspberry,
che e' un computer completo fornito su una singola scheda, piccola ma
assai ricca di connettori e funzionalita'.
OpenPlotter e' disponibile come immagine per Raspberry
e contiene al suo interno
OpenCPN,
un ottimo plotter Open Source per la navigazione e
Signal K,
un collettore di dati di navigazione (eg. NMEA 0183, NMEA 2000),
integrati insieme ad un'ampia collezione di tool e di plugin.
A questi aggiungeremo altri programmi come
qtVlm,
che e' un software free per il routing ovvero per il calcolo delle rotte a vela
ottimizzato a seconda delle previsioni meteo.
OpenPlotter, rispetto ad utilizzare un'immagine di Raspberry Pi OS, risulta piu' semplice da installare perche' e' possibile completare la configurazione utilizzando solo l'interfaccia grafica senza comandi da terminale. Inoltre sono gia' installati diversi programmi utili per la navigazione... continuate a leggere!
OpenPlotter e' disponibile come immagine per Raspberry che,
per le piccole dimensioni, le molte di connessioni disponibili
ed i bassi consumi e' molto adatto
per essere utilizzato su un'imbarcazione.
Le scelte possibili per l'hardware sono molte...
nel seguito utilizzeremo i seguenti componenti che sono economici
e facilmente reperibili in rete:
Il perche' di alcune di queste scelte ed ulteriori possibilita' sono descritti in questa paginetta.
OpenPlotter e' una distribuzione Linux Open Software basata su Debian.
OpenPlotter contiene una serie di programmi integrati tra loro
per fornire un sistema completo per la navigazione.
Tra i programmi contenuti in OpenPlotter fondamentale e'
OpenCPN,
un ottimo plotter per la navigazione Open Source
che supporta un ampio insieme di formati di carte nautiche
e dispone di decine di plugin aggiuntivi (eg. allarmi, costruzioni polari, radar, ...).
Signal K
e' invece il componente che raccoglie i dati di navigazione
dagli strumenti (eg. GPS, AIS),
e li presenta con un servizio web.
Dal punto di vista tecnico e' un servizio realizzato su
Node.js
che raccoglie i dati dalle
linee seriali dei vari dispositivi dell'imbarcazione,
qualunque sia il protocollo (eg. NMEA 0183, NMEA 2000),
e li presenta in
formato JSON.
qtVlm,
e' un software free per il routing.
qtVlm effettua il calcolo delle rotta ottimale
utilizzando piu' GRIB (dati meteo) e le polari (dati prestazioni di una barca a vela)
in modalita' diverse
permettendo il confronto tra le diverse rotte ed opzioni.
E' uno dei programmi piu' completi ed adatti per preparare la strategia di regata d'altura
o per pianificare una crociera in barca a vela.
Non e' compreso nei programmi installati con OpenPlotter ma lo aggiungeremo facilmente al
nostro Raspberry.
Ora che abbiamo tutti i pezzi e visto cosa installare possiamo procedere a creare l'immagine.
Vi sono alcuni semplici passi necessari per effettuare l'installazione e la configurazione...
li vedremo nei prossimi capitoli:
OpenPlotter fornisce un'immagine completa del sistema operativo Raspberry Pi con tutti i programmi gia' installati. Basta scaricarla dal sito ufficiale avendo cura di scegliere la versione OpenPlotter Headless a 64bit.
Per caricare l'immagine sulla scheda microSD
si utilizza il programma Raspeberry Pi Imager
disponibile sul sito ufficiale
per Windows, Mac OS e Linux.
Lanciato il programma bisogna scegliere Raspberry Pi 4 e l'immagine di OpenPlotter appena scaricata
selezionando Use Custom nella scelta del sistema operativo:
Un poco di pazienza: la fase di scrittura e verifica dell'SSD puo' richiedere qualche minuto!
Ora possiamo inserire la microSD nella scheda Rapsberry ed accenderla collegandola all'alimentatore!
Il primo boot richiede qualche momento in piu', generalmente un paio di minuti sono sufficienti e possiamo collegarci dal nostro PC.
Le impostazioni iniziali sono riassunte nella seguente tabella
Parametro | Valore |
Hostname | openplotter |
User | pi |
Password | raspberry |
Language | en_GB.UTF-8 |
Keymap | gb |
Layout | English (UK) |
TimeZone | Europe/London |
Wifi AP | SSID: openplotter, Password: 12345678, IP: 10.10.10.1 |
SSH | Enabled |
Remote desktop | Enabled |
Questo ci consente subito di collegarci dal nostro PC utilizzando la rete Wifi del Raspberry con SSID openplotter e password 12345678. Abbiamo bisogno di un programma come RealVNC ma va bene qualsiasi viewer VNC.
Effettuato il collegamento, inserita l'utenza pi e la password raspberry automaticamente vengono attivati i servizi.
La segnazione in rosso indica che non e' ancora stata modificata la password di default del Wifi: va subito cambiata entrando nella configurazione di rete:
Ne approfittiamo anche per configurare il Raspberry sia come Access Point che come client Wifi [NdA e' la configurazione piu' semplice anche se non sempre la piu' efficiente]. Le possibilita' di configurazione di rete per OpenPlotter sono molteplici e ben descritte nella documentazione ufficiale. Per effettuare le modifiche bisogna fare click sulla matita e quindi salvare facendo click sulla SD:
La riconfigurazione della parte di rete richiede il riavvio... attenzione alla password dell'AP (Access Point) Wifi, se non viene inserita correttamente non si riuscira' piu' ad entrare!
Al riavvio sara' possibile collegare il Raspberry ad un Wifi e quindi ad Internet.
Per finire la configurazione di sistema, ma e' per deformazione professionale e non per reale necessita',
entro in una finestra di terminale
e lancio i comandi:
sudo apt-get update
sudo apt-get upgrade
Possiamo passare ora alla configurazione applicativa.
OpenCPN puo' essere personalizzato abilitando tra le decine di plugin disponibili
quelli che ci sono utili.
Ad esempio aggiungiamo il plugin per il calcolo delle polari:
Ma la parte piu' importante e' quella della cartografia: all'avvio OpenCPN non ha nessuna carta nautica inserita. Le possibilita' sono molteplici ed e' attivo un plugin per l'accesso alle carte eventualmente acquistate. Come descritto nella documentazione OpenCPN le sorgenti sono molte. OpenCPN supporta sia le mappe vettoriali nei formati S57 (ENC), oeSENC, S-63, CM93 e iENC (inland water) che raster (immagini) nei formati BSB 3 (eg. .CAP, .KAP), BSB 4 e NV-Verlag (.EAP). Le carte nautiche aggiornate possono essere scaricate gratuitamente (eg. NOAA .ENC ma non per l'Italia), acquistate (eg. o-charts.org), autoprodotte (eg. SAT2Chart). Un altra possibilita' e' importare le carte nautiche, come faremo nel passo successivo, caricando un set di carte vettoriali non aggiornato ma completo:
Ora la visualizzazione utilizza le carte appena caricate e risulta molto piu' dettagliata:
Signal K e' gia' attivo come servizio ma prima di configurarlo dobbiamo fa arrivare al Raspberry
i segnali dei nostri dispositivi di bordo.
Ogni singolo dispositivo Talker NMEA 0183 deve essere collegato singolarmente, a meno che non si abbia a bordo un multiplexer; per farlo basta un cavo adattatore USB a RS-232/RS-422. Il CAN-bus NMEA 2000 invece richiede un unico collegamento. E' impossibile descrivere tutti i casi anche perche' esistono versioni differenti di standard, di cavi, di prese, ... e' fondamentale controllare la documentazione tecnica di ogni dispositivo.
Il caso piu' frequente e' l'utilizzo di NMEA 0183, standard molto vecchio ma ancora usatissimo,
effettuati i collegamenti l'ultima variabile che occorre configurare e' la velocita';
generalmente per le connessioni ad un GPS sara' 4800 mentre verso un AIS o un multiplexer sara' 38400
[NdA gli altri parametri tipici di una connessione seriale sono fissi:
8 Data bits, Parity None, 1 Stop bits, Handshake None].
Per controllare l'arrivo dei dati su Raspberry si puo' usare il comando:
Se i collegamenti sono corretti arriveranno le sentences NMEA 0183 che sono quasi comprensibili anche per noi umani:
$GPGLL,4434.4426,N,0923.0108,E,101030.000,A,A*69
Non richiede invece alcuna connessione fisica il caso, sempre piu' comune su apparati recenti, di multiplexer che pubblicano dati direttamente su Wifi.
Puo' sembrare complicato... a volte lo e'! Ma in mezzo al mare, soli con i vostri sensori e strumenti ci sarete voi, ed e' importante imparare come funziona ogni singolo componente della vostra barca per risolvere ogni problema che possa presentarsi.
Con un po' di fortuna basta qualche prova e si possono integrare velocemente tutte le sorgenti dati.
Effettuate le connessioni fisiche la configurazione su OpenPlotter e' semplice:
prima si definisce la linea con applicazione Serial
quindi su Signal K si registra la sorgente nella sezione Server.
Non serve fare altro perche' Signal K pubblica i dati per OpenCPN e per tutte le eventuali
applicazioni esterne. Signal K e' raggiungibile via URL alla porta 3000.
Oltre all'accesso diretto ai dati sono utilizzabili anche dashboard
aggiuntive implementate come plug-in.
Tra queste:
Instrument Panel
SailGauge,
e sopratutto
KIP
[NdA le dashboard fornite in OpenPlotter sono riportate nella
documentazione ufficiale].
Per l'installazione di qtVlm basta scaricare il software dal sito ufficiale e copiarlo sul Raspberry.
Per copiare il file bisogna utilizzare dal nostro PC un programma di copia come sftp pi@10.10.10.1 quindi va scompattato il file con:
Il programma e' installato. Per lanciarlo bisogna essere connessi in VNC e da terminale lanciare i comandi:
E' sicuramente comodo lanciare qtVlm da menu anziche' da linea di comando sul terminale. Si imposta facilmente nelle Preferences / Main Menu Editor inserendo il lancio di qtVlm:
Con passi analoghi si aggiunge qtVlm alla barra delle applicazioni:
E' anche possibile creare un collegamento sul desktop: basta copiare l'icona del menu.
Gli stessi passi eseguiti per qtVlm possono essere eseguiti per qualsiasi altra
applicazione grafica si volesse aggiungere all'installazione preconfigurata di OpenPlotter.
Al primo lancio di qtVlm vengono caricate le mappe. Finalmente possiamo dedicarci alle nostre rotte!
Una cosa che dovremo aggiornare ogni volta saranno i dati meteo... ma con qtVlm scelta e la raccolta dei file GRIB con le previsioni e' davvero semplice.
Una volta effettuata la configurazione l'utilizzo di OpenPlotter risulta semplice.
La configurazione descritta in precedenza e' quella headless, ovvero senza tastiera e senza video.
Nella configurazione WiFi il raspberry definisce un sua rete “openplotter”
a cui collegarsi e cerca di connettersi ad Internet come client su una seconda rete Wifi esterna.
In questo modo ci sono tutte le possibilita’ per operare sia “in altura”
(in cui il raspberry fornisce la rete Wifi per tutte le apparecchiature di bordo),
che “in porto” dove e' disponibile un Wifi esterno o si puo' utilizzare come Hotspot un cellulare.
La parte piu' complessa, ma anche la piu' interessante e' la raccolta e l'integrazione di tutti
i segnali di bordo. Ogni configurazione e' diversa ma il vantaggio di OpenPlotter e' la sua
flessibilita' e quindi puo' fare da collettore centrale e quindi fornire i dati agli utilizzatori.
Per accendere il dispositivo basta alimentarlo con un qualsiasi presa USB-C (5V 2A).
In pochi secondi sara' attivo.
Per connettersi basta utilizzare la rete Wifi fornita dal Raspberry ed il software grafico
di connessione VNC (oppure un SSH per una connessione a terminale).
Le dashboard di Signal-K sono accessibili con un qualsiasi browser, basta usare l'URL corrispondente
come abbiamo visto in precedenza.
Per l'installazione di un'immagine standard di Raspberry Pi [NdA +qtVlm] vedere questa paginetta.
L'elenco delle versioni di Raspberry Pi OS e' riportato in una sezione del documento Your Server Stinks.
Buon vento!
Titolo: Installazione di OpenPlotter su Raspberry (+qtVlm)
Livello: Avanzato
Data:
31 Ottobre 2023 🎃 Halloween
Versione: 1.0.2 - 31 Dicembre 2023
Autore: mail [AT] meo.bogliolo.name