GPS aansluiten en installeren op Linux


Meestal hoef je dat maar één keer te doen. Normaal gesproken staan alle (moderne) GPS ontvangers ingesteld op WGS 84, maar controleer het wel even voor de zekerheid. Hoe dat moet kan je lezen in de gebruiksaanwijzing van de GPS ontvanger zelf.

 

Er zijn veel soorten GPS ontvangers. Sommige computers (tablets / smartphones) hebben een ingebouwde GPS, er zijn GPS muizen, GPS handhelds en geavanceerde GPS ontvangers. Voor vrijwel elke GPS ontvanger is de installatie hetzelfde. En anders even kijken in de meegeleverde gebruiksaanwijzing van de GPS ontvanger zelf!

 

GPS ontvangers maken gebruik van het NMEA protocol om gegevens door te geven. Dat geldt zowel voor GPS ontvangers met een USB aansluiting als voor GPS ontvangers met een andere aansluiting. In dit voorbeeld installeren wij een GPS muis met een USB aansluiting.

Gebruikersprofiel

Om verder te gaan moet het gebruiksprofiel dat je op jouw computer gebruikt deel uitmaken van de dialout groep.
Sluit OpenCPN af en controleer dit eerst vóór je verder gaat.

GPS serieel-verbinding met USB

Met moderne GPS instrumenten met USB aansluiting is dit de meest eenvoudige manier.

Zie ook Data Verbindingen

GSP netwerk-verbinding via gpsd deamon

Installeer  de gpsd en gpsd-clients pakketten. Via een terminal met commando: $ sudo apt-get install gpsd gpsd-clients (zo wordt zowel GPSD als de GPSD-clients in één commando geïnstalleerd). Maar het kan natuurlijk ook via SYNAPTIC.

 

Ga daarna in OpenCPN naar [ Gereedschap / Verbindingen / Verbinding  toevoegen ].

Onder Ubuntu 10.04 (en later), en onder Linux Mint 14 (en later) is dit alles wat je moet doen. Zodra een GPS in de USB poort wordt gestoken start gpsd automatisch.

Controleer of GPSD werkt met het commando $ sudo ps aux | grep gpsd. Je moet dan het volgende op je terminal zien.

Deze (of gelijksoortige) respons geeft aan dat gpsd werkt. Als je alleen de 2de regel ziet (of iets gelijksoortig), dan werkt GPSD niet.

Als GPSD niet in je pakketmanager opgenomen is zal je dit vanaf de “source pakketten” moeten installeren.

Controle

XGPS is een onderdeel dat samen met het gpsd pakket geïnstalleerd wordt. Hier kan je zien of je GPS goed werkt. Geef in de terminal het commando $ sudo xgps. Je krijgt dan een scherm met de GPS data te zien. Indien XGPS niet werkt dan is er een probleem met de USB GPS of met GPSD,  niet met OpenCPN.

 

NMEA of SiRF mode

De gps zou nu moeten werken ....indien niet, check dan de NMEA debug window. Indien hier alleen onleesbare tekens te vinden zijn, dan staat de gps misschien in SiRF mode en moet deze omgezet worden naar  NMEA mode.

 

In Ubuntu 12.04 moet gpsd tijdelijk gestopt worden. Zorg ervoor dat alle gpsd instanties gestopt zijn met het commando: $ sudo killall gpsd . Voordat je de volgende opdrachten uitvoert moet ook OpenCPN gestopt worden. Het commando $ sudo gpsctl -n zal de GPS in NMEA mode zetten. Als dat niet werkt kan je $ sudo gpsctl -f -n /dev/ttyUSB0 proberen. Dit zal via een low-level toegang forceren zonder via gpsd te gaan. Meer informatie kan je met $ sudo man gpsctl opvragen .

 

Indien je  gpsd  gebruikt merk je er niets van of de GPS in NMEA of in SiRF staat aangezien OpenCPN beide formaten verwerkt. En gpsd heeft als bijkomend voordeel dat meerdere programma's tegelijktertijd de gegevens kunnen aanvragen zodat de GPS informatie gedeeld kan worden. 

 

Meer informatie over Udev is beschikbaar via het internet zoekterm Udev Rules.

Als je problemen hebt, bijvoorbeeld  dat de gps elke keer op een andere poort verbinding maakt, kan je dit aanpassen met Udev. Udev ondersteunt het “persistent device naming”, wat ervoor zorgt dat je usb gps steeds hetzelfde dev nummer krijgt ongeacht in welke usb poort je hem steekt of in welke volgorde de verschillende usb toestellen ingestoken worden. De default udev setup zorgt voor "persistent naming" voor geheugentoestellen zoals geheugensticks maar ook gps toestellen. Ga naar Udev in 2.5 voor meer informatie.

Bluetooth GPS

Om verbindingen te kunnen gebruiken moet je deel uitmaken van de groep dialout. Is dit niet het geval, dan moet je dialout toegang voor de gebruiker alsnog toevoegen met: $ sudo usermod -a - G dialout gebruikersnaam

In de eerste plaats is het van belang het adres op te zoeken van het betreffende Bluetooth GPS apparaat. Dat doe je door in een terminalvenster het volgende commando te geven:  $ sudo hcitool scan . Je ziet dan:

 

Ubuntu 10.10 en ouder

Nu moeten we de GPS verbinden aan een virtueel apparaat, dat door OpenCPN kan worden gebruikt. In dit voorbeeld is dit rfcomm0. We doen dit met het volgende commandoregel: $ sudo rfcomm bind /dev/rfcomm0 xx.xx.xx.xx.xx.xx ( Het adres van je GPS)

Je hoeft dit commando niet steeds te herhalen bij het opstarten van Linux. Daarna is alles wat je hoeft te doen, is in OpenCPN bij de instellingen als NMEA verbinding te kiezen: /dev/rfcomm0.

Dat is het, je zou nu een Bluetooth GPS verbinding moeten hebben. Meestal is het nodig OpenCPN even opnieuw te starten.

 

Ubuntu 12.04

Het verbinden van GPS aan de bluetooth icoon

De tekst in dit bestand moet als volgt worden aangepast: (# staat voor toelichting. Heeft verder geen invloed op de werking van de instellingen)

verder

$ sudo rfcomm release 0 (is niet strikt noodzakelijk)

$ sudo rfcomm connect 0 (je hoeft dit slechts eenmaal aan te geven, niet meer nodig bij het opstarten)

antwoord … verbonden met /dev/rfcomm0 aan xx:xx:xx:xx:xx …. Ctrl-C om verbinding te verbreken.

In een ander terminalvenster kan je eventueel de verbinding ook nog testen met:

$ rfcomm show /dev/rfcomm0

antwoord ….. rfcomm0: xx:xx:xx:xx:xx:xx channel 1 connected

Je Bluetooth apparaat moet nu met OpenCPN kunnen werken als, je de volgende poort aangeeft:

/dev/rfcomm0

 

Fedora

Maak een bestand “rfcomm.config” en zet dat in /etc/bluetooth (waarschijnlijk is dit bestand al aanwezig, dan hoef je dat alleen nog maar te bewerken)

Het moet er zo uit zien:

#RFCOMM configuration file

#

# versie van het bestand

#

rfcomm0 {

# Verbind het apparaat bij het opstarten

bind yes;

# Bluetooth adres van het apparaat

device xx:xx:xx:xx:xx:xx;

# RFCOMM kanaal voor de verbinding

channel 1;

# Naam voor de verbinding

comment “door jou gekozen naam voor de verbinding”

}

Start OpenCPN en geef bij instellingen als poort aan: /dev/rfcomm0 Daarna OpenCPN even opnieuw starten.

 

Om te controleren of OpenCPN de NMEA data vanaf de GPS ontvanger ook daadwerkelijk ziet kan je [ Gereedschap / Opties / Verbindingen /Toon NMEA Debug Window ] openen