OpenCPN è un plotter cartografico per la navigazione Open Source, gratuito e installabile su sistemi Windows, Mac, Linux. In questo articolo andremo a vedere come realizzare un chartplotter con poche centinaia di Euro, utilizzando come hardware la Raspberry Pi 3.
OpenCPN – il plotter cartografico per la navigazione
OpenCPN permette di pianificare le rotte e, se opportunamente configurato e collegato tramite NMEA, è un valido strumento per la navigazione in quanto non si limita solo alla visualizzazione della posizione dell’imbarcazione tramite GPS, ma permette anche di rilevare la velocità, la rotta, il vento, la profondità, il radar, l’AIS e tanto altro.
OpenCPN supporta due tipi di carte nautiche:
- i raster, disponibili nel formato BSB 3 (estensione .CAP oppure .KAP), BSB 4 (prodotti da MAPTEC) , oppure nel formato NV-Verlag (.EAP).
- i vettoriali, nel formato S57 (ENC), oeSENC, S-63, CM93 e iENC (inland water).
Gli istituti idrografici di tutto il mondo producono normalmente le loro carte vettoriali ufficiali nel formato S-57. Nel caso del NOAA, agli utenti finali vengono distribuite gratuitamente le carte vettoriali per gli Stati Uniti in formato S-57, ma nella maggior parte dei paesi sono crittografate nel formato S-63 o oeSENC e venduti sotto licenza.
oeSENC (OpenCPN Encrypted System Electronical Nautical Charts) è uno dei formati di carte vettoriali di qualità e le più economiche. Vengono utilizzati i dati S-57 presi dagli istituti idrografici e poi convertiti nel formato oeSENC per il loro utilizzo in OpenCPN. Se la tua zona di navigazione è disponibile, questa dovrebbe essere la prima scelta. Le carte sono disponibile tramite il sito o-chart.org e per utilizzarle è necessario installare un plugin.
Nel formato S-63 troviamo invece le carte vettoriali ufficiali con copertura mondiale e utilizzate nel mondo commerciale. Tuttavia, diverse aree di crociera popolari hanno una scarsa copertura, dato che sono pensate per la navigazione commerciale. Hanno anche un prezzo relativamente alto. Per utilizzare queste carte è necessario la chiave “S-63 UserPermits” e sono acquistabili tramite dei canali di distribuzione come ChartWorld.
Il formato CM93, anche conosciute come C MAP, sono prodotte e vendute da una società privata. Le carte CM92 v2. non sono criptate e possono essere lette anche da OpenCPN. In rete si trovano alcune di queste mappe, ma si deve fare attenzione perché possono avere anche 10 anni e alcune zone sono mal documentate. La versione CM93 v.3 invece è crittografata e non è leggibile da OpenCPN.
Infine, il formato iENC è strutturato come l’S-57 ed è utilizzato per le acque interne.
La scelta dell’hardware per installare OpenCPN
Come riportato precedentemente, OpenCPN è disponibile per i sistemi operativi Windows, Mac OS X e Linux.
Per questo progetto intendo dedicare un hardware idoneo allo scopo: sarà un hardware a costo ridotto, con supporto di memoria tramite SD Card, a basso consumo e alimentato a 5 V (USB). Questo ci faciliterà la sua alimentazione con le batterie di bordo. Inizialmente prevedo di collegare solo il GPS, poi vedrò di implementare l’AIS.
Questo è il materiale utilizzato nella mia configurazione iniziale:
- Raspberry Pi 3 Official Desktop Starter Kit (16Gb, Black)
- Waveshare Display 10.1inch HDMI LCD (B) with case, 1280×800, IPS
- Dissipatori alu per Raspberry Pi 3
- Kingston Mobility Kit Scheda micro-SDHC/SDXC 32GB Classe 4, con Adattatore SD e USB, 32 GB
- Navilock NL-402U USB GPS Receiver
- Tastiera Logitech K400 Plus wireless
Preparare la SD Card con il sistema operativo Raspbian
Nota: questo tutorial è stato scritto e provato a settembre del 2017 ed è stata utilizzata la versione di Raspbian 2017-09-07 (kernel 4.9).
Come si può notare dalla lista del materiale ho incluso una MicroSD Card da 32 GB.
La mia idea é quella di partire subito con un pò di spazio libero che servirà per ospitare le carte. Vale la pena farlo da subito visto il costo di tale scheda.
Ora andiamo a scaricare quanto ci serve per preparare la MicroSD Card.
Innanzitutto dalla pagina di download di Raspberry scarichiamo la versione “RASPBIAN STRETCH WITH DESKTOP” sul nostro computer.
Andiamo poi sul sito etcher.io e scarichiamo ed installiamo il tool Etcher che ci servirà per trasferire l’immagine appena scaricata sulla MicroSD Card. Questo tool ha un’interfaccia grafica molto intuitiva e funziona su Mac, Linux e Windows.
Per scrivere l’immagine seguire la seguente procedura:
- Collegare un lettore MicroSD card con all’interno la carta.
- Aprire Etcher e selezionare l’immagine Raspberry Pi .img o .zip precedentemente scaricata
- Selezionare la MicroSD card desiderata sulla quale vogliamo installare l’immagine
- Verificare le impostazioni e cliccare su “Flash!” per iniziare a scrivere sulla MicroSD Card
Configurare il Sistema Operativo Raspbian nella Raspberry Pi
Ora che l’OS è copiato nella MicroSD Card, è giunto il momento di effettuare tutti i collegamenti e avviare il sistema per la prima volta.
Inserire la MicroSD nello slot della Raspberry Pi, collegare la porta HDMI e USB del display, collegare il cavo di rete, il trasmettitore per la tastiera e le alimentazioni. Ricordarsi di accendere prima il display HDMI in quando viene rilevato durante la fase di avvio. Se non viene trovato, il segnale video esce automaticamente sulla porta composita e la porta HDMI viene disabilitata fino al prossimo off/on della Raspberry Pi.
Raspberry Pi inizia a caricare l’OS e dopo un po’ ci si troverà davanti al Desktop di Raspbian.
Ora impostiamo i parametri di base del nostro sistema:
- Avviare il Terminale cliccando l’icona raffigurante un monitor di un computer nella barra delle applicazioni
- Aggiornare APT eseguendo il comando sudo apt-get update
- Avviare il Raspberry Pi Software Configuration Tool eseguendo sudo raspi-config
- Andare sotto Advanced Options -> Update per gli aggiornamenti
- Espandere il filesystem alla massima grandezza della MicroSD card con la funzione Expand filesystem
- Cambiare la password di “pi”
- Configurare le impostazioni locali, la tastiera e impostare la timezone su UTC
- Impostare l’Hostname sotto Advanced Options
- Portare Memory Split a 128 MB sotto Advanced Options
- Abilitare SSH per l’accesso remoto sotto Interfacing Options
Installiamo finalmente OpenCPN
La nostra Raspberry Pi è finalmente pronta per ospitare OpenCPN.
Se abbiamo abilitato precedentemente SSH, potremo eseguire l’installazione comodamente da remoto, altrimenti lo si potrà fare direttamente tramite tastiera e mouse collegati al nostro hardware.
OpenCPN è stato scritto per essere utilizzato su diversi hardware e sistemi operativi. Per questo motivo sono disponibili i pacchetti d’installazione per Windows, Mac OS X, Linux e anche per la nostra Raspberry Pi basata su CPU ARM.
Nota: questa guida è stata provata con la versione 4.8.0 di OpenCPN.
Andiamo ad aggiungere i repositories stretch backports e l’OpenCPN Ubuntu PPA.
Tengo precisare che normalmente per il PPA si fa capo ai pacchetti delle versione Trusty di Ubuntu in quanto è una versione LTS (supporto a lungo termine). Ho però riscontrato un problema in quanto i pacchetti di OpenCPN preparati per la versione Trusty non si riescono ad installare su Raspbian Pi versione 20170917 perché ci sono delle librerie incompatibili. Per questo motivo ho utilizzato il PPA per la versione Xenial.
Qui si possono andare a vedere le versioni / code names di Ubuntu, da dove ho visto che la versione Xenial è più recente della Trusty.
Qui invece si possono vedere i pacchetti disponibili di OpenCPN per le diverse versioni di PPA.
Per aggiungere i nostri repositories apriamo il file sources.list
sudo nano /etc/apt/sources.list
e aggiungiamo la seguente linea
deb http://ftp.debian.org/debian stretch-backports main
deb http://ppa.launchpad.net/opencpn/opencpn/ubuntu/ xenial main
salviamo ed usciamo (CTRL-X)
Ora possiamo fare un update della lista dei pacchetti presenti negli repositories. Questo assicura che abbiamo l’ultima lista e aggiunge i pacchetti dei repositories appena aggiunto nel file sources.list.
sudo apt-get update
sudo apt-get upgrade
Nota: é possibile che venga visualizzato un messaggio che manca la chiave per il nuovo repository: è sufficiente ignorarlo e andare avanti.
Installiamo ora OpenCPN che sarà preso dal PPA.
sudo apt-get install opencpn
Terminata l’installazione, andiamo a creare la cartella dove archivieremo le carte nautiche.
cd ~
mkdir charts
Ci sono ancora un paio di parametri da configurare. Apriamo il file config.txt
sudo nano /boot/config.txt
e aggiungiamo le seguenti due righe:
framebuffer_depth=32
framebuffer_ignore_alpha=1
Per disabilitare lo standby dello schermo aprire il file:
sudo nano /etc/lightdm/lightdm.conf
e sotto il paragrafo [SeatDefaults] modificare o aggiungere la seguente riga:
xserver-command=X -s 0 dpms
Infine riavviamo il sistema e una volta arrivati al desktop si può finalmente avviare OpenCPN eseguendo il comando /usr/local/bin/opencpn
Per comodità si potrà creare l’icona di OpenCPN nella barra delle applicazioni.
Nei prossimi articoli andremo a vedere come configurare l’antenna GPS Navilock NL-402U e come installare le carte oeSENC.
Iscriviti al blog per non perdere i prossimi articoli !
Ultimo aggiornamento: [last-modified]