zondag 30 augustus 2009

Werken met Pardus Linux en GPS (live met gpsd)

Afgelopen week ontving ik een email van de Pardus Bugzilla website waar behalve bugs ook package requests gepost kunnen worden als je van een bepaalde applicatie graag een makkelijk installeerbaar Pardus PISI pakket in de pakketbronnen opgenomen ziet worden. Er werd mij teruggemeld dat het door mij aangevraagde software pakket GPSd vanaf nu beschikbaar is in de softwarebronnen van Pardus.

Mooi, gelijk maar eens even uitproberen dacht ik, en daar kwam mijn oude maar degelijke Magellan Explorist 210, een prima GPS apparaatje, uit de bureaulade, nieuwe batterijen er in en testen maar. Want, om GPSd te testen heb je een werkend GPS apparaat nodig dat je wilt koppelen aan je laptop. Althans, koppelen aan een PC kan natuurlijk ook wel, amar aangezien GPS met name functioneel is als je jezelf voortbeweegt is een laptop of netbook natuurlijk logischer wanneer je met GPSd aan de slag wilt.

Een korte omschrijving van GPSd van de website van dit project: "gpsd is a service daemon that monitors one or more GPSes attached to a host computer through serial or USB ports, making all data on the location/course/velocity of the sensors available to be queried on TCP port 2947 of the host computer. With gpsd, multiple GPS client applications (such as navigational and wardriving software) can share access to GPSes without contention or loss of data."

Kortom: door GPSd te installeren op je linux-systeem kun je live de data die door je GPS apparaat worden opgevangen in je laptop laden voor gebruik met andere GPS toepassingen. Zo kun je als het ware van je laptop je eigen TomTom-achtig navigatie-apparaat maken om maar eens een voorbeeld te noemen. Op YouTube staat bijvoorbeeld ook een filmpje van iemand die m.b.v. GPSd als schakel tussen GPS apparaat en laptop live ziichzelf ziet voortbewegen op Google Earth mappen. Kijk maar eens naar dat filmpje "Driving Google Earth on Linux with GPSD".

Eerst moest GPSd natuurlijk even geinstalleerd worden op mijn Pardus 2009 laptop. Op moment van schrijven bevond het pisi pakket zich nog in de pardus-2009-test repositiory, maar doorgaans verhuist het pakket na nog wat laatste testjes vrij snel naar de standaard pakketbron pardus-2009 (of de contrib-2009 repo). Er bleek eerst nog een extra afhankelijkheid geinstalleerd te moeten worden, welke zich in dezelfde pardus-2009-test pakketbron bevond, namelijk het pakket libgps. Ik installeerde dus achtereenvolgens libgps en daarna gpsd op mijn Pardus systeem:

sudo pisi it http://paketler.pardus.org.tr/pardus-2009-test/libgps-2.39-1-1.pisi
sudo pisi it http://paketler.pardus.org.tr/pardus-2009-test/gpsd-2.39-1-1.pisi

Dat was natuurlijk simpel, maar...werkt het dan ook? Nou, nee, dat vergde het nodige gepuzzel en gezoek op internet. Sowieso is het gebruik van gpsd in de command line interface (CLI) geen appeltje-eitje voor niet-CLI gebruikers, en de documentatie op de GPSd site is ook voor de wat meer gevorderde linux-gebruiker, kortom niet echt in wiki of HOWTO vorm om je als het ware aan de hand te nemen.

In de meest simpele vorm start je GPSd in de CLI door achter het commando gpsd een aparaat (device) lokatie te typen. Welke lokatie dat dan wel niet is verschilt per linux distributie. De meeste GPS apparaten verbind je via een USB kabel aan je laptop. In mijn geval betrof het een serial-to-usb kabel, dus aan de zijde van mijn odue Magellan Explorist 210 een serieel contact (je moet dan wat pinnetjes op de achterzijde van het apparaat "vastchroeven") en aan de laptop-zijde een standaard USB-stekker. Ik vond na wat zoeken op internet al snel dat mijn apparaat dan waarschijnlijk de lokatie /dev/ttyACM0 toegewezen zou krijgen, en na wat bladeren in de bestandsbeheerder, zag ik in de map /dev/ in ieder geval ook deze naam staan. In sommige andere linux distributies wordt het adres /dev/ttyUSB0 toegewezen. Maar op mijn Pardus 2009 systeem zou dan als ik het goed begrepen had het volgende commando de boel aan de praat moeten krijgen:

gpsd /dev/ttyACM0

vervolgens typ je dan het standaard mee geinstalleerde

xgps

...om te zien dat het niet meteen werkte. Na een korte "NO FIX" melding verscheen er "UNKNOWN" in het xgps venstertje en verder overal "n/a", niks live data van mijn Exploristje dus. Mmmmmm. Om een lang verhaal kort te maken waren er twee zaken die ik eerst moest instellen om het alsnog aan de praat te krijgen.

1. Mijn Magellan Explorist 210 moest niet in USB Data transfer modus maar in NMEA modus gezet worden, dat had ik ook nog wel begrepen van de GPSd website, de communicatie met de GPS gaat via NMEA, maar welke NMEA modus moest het zijn? Dat is nogal GPS apparaat-specifiek, voor de Magellan Explorist 210 bleek het na wat Google zoekopdrachten om de optie NMEA-V2.1 GSA (de onderste van vier opties onder NMEA) te gaan. Voor de zekerheid je GPS apparaat eerst opnieuw opstarten en nogmaals NMEA GSA modus kiezen.
2. Vermoedelijk (ik weet het niet zeker) is GPSd in het Pardus pisi pakket zo geconfigureerd dat deze daemon standaard opstart als je je systeem opstart, m.a.w. gpsd draait al op het moment dat jij je commando in de CLI wilt gaan geven. Ik rkeeg steeds wel of geen (afhankelijk van extra opties die je aan het gpsd commando mee kunt geven) foutmeldingen, en nog steeds niets spanneds in beeld in het xgps venster. Pas nadat ik de gpsd daemon eerst gestopt had en opnieuw startte door:

sudo killall gpsd
sudo /usr/sbin/gpsd -N /dev/ttyACM0
xgps

...werkte het ineens (wel even met de laptop en verbonden Magellan naar buiten moeten lopen, want anders had mijn apparaatje sowieso geen GPS fix). In xgps krijg je dan zoiets (ik heb uit privacy overwegingen de laatste cijfers van de GPS coordinaten grijs gemaakt):




Mogelijk dat in plaats van "/usr/bin/gpsd" hier ook gewoon zoals aanvenkelijk gemeld simpelweg "gpsd" had gewerkt, maar met bovenstaande kreeg ik het aan de praat.

Nou, dat werkt, mooi. Later zal ik nog eens wat bloggen over GPS toepassingen die je in Pardus linux tegenkomt Voor het simpele xgps heb je natuurlijk ook allerlei altermatieven, maar xgps is de standaard meegeleverde applicatie bij GPSd, dus deze heb ik in het voorbeeld ook gebruikt.

Lees meer...

dinsdag 18 augustus 2009

Zo...laat ik eens wat gaan bloggen

Sinds een aantal jaren verkende ik al met tussenpozen de voor- en nadelen van diverse smaakjes linux, als alternatief besturingssysteem voor Microsoft Windows (95,98,XP, aan Vista ben ik niet meer toegekomen). Aanvankelijk waren het korte uitstapjes naar linux, de allereerste was een Red Hat linux installatie met zogenaamde RPM softwarepakketten. Tegenwoordig is het nog steeds een van de grootste en meestgebruikte linux-varianten, maar helemaal mijn ding werd het niet, wellicht omdat ik niet zo kon wennen aan de look-and-feel van de desktop omgeving (in dit geval GNOME), daarover later meer. In den beginne had ik echter ook vaak problemen om mijn linux PC goed aan het internet gekoppeld te krijgen, en dan was de lol er snel af en ging de boel terug in de kast. Het enige wat ik me van die periode herinner is een Netscape browser window dat tot vervelens toe meldde dat ik niet verbonden was met het internet.

Later heb ik het met verschillende versies van SuSE (tegenwoordig OpenSuSE) geprobeerd, naast RedHat eveneens een van de grootste en meest gebruikte linux distributies. De KDE desktop omgeving voelde makkelijker aan als ex-Windows gebruiker. Wel had je als beginner steeds het gevoel met SuSE een veeeeeel te zwaar en groot systeem te installeren op je PC. De helft van de configuratiescherm instellingen was abacadabra voor mij destijds, en de distributie kwam op een stuk of zes (!) CDROMS, wel met keurig handboek in de doos. De reden om ook toen nog niet langdurig te gaan werken met linux als besturingssysteem is achteraf gezien denk ik toch dat bepaalde toepassingen nog onvoldoende goed beschikbaar waren, en toch de dualboot met het MS Windows systeem nogal eens vereisten om "even iets in Windows te doen".

Maar de wereld staat niet stil, en die van zowel linux als Microsoft Windows evenmin. Waar de tekortkomingen van linux qua verscheidenheid aan applicaties rap weggewerkt worden (grotendeels al zijn), neemt de logheid en geheugenconsumptie van nieuwere Windows systemen alsmaar toe. Eindeloos duurt het voor je PC of laptop opgestart is, mede omdat er ook nog een zware virusscanner moet draaien om al het virusgeweld tegen te werken. En de kosten? Waar je met allerlei Micorosft licenties en Genuine verification toestanden en activatiecodes e.d. stilaan geirriteerd raakt is linux in honderden smaken gratis beschikbaar en neemt het aantal gebruikers -en daarmee eventueel benodigde hulp in forums en community sites op internet- ras toe.

Hoe het precies gekomen is dat ik nooit aan de hype van de derde grote distributie (Ubuntu) toegekomen ben weet ik niet precies meer, waarschijnlijk omdat het een GNOME distributie van oorsprong is en er veel slechte verhalen circuleerden over de KDE variant Kbunutu. Maar ook kwam dat omdat ik inmiddels (ook dit herinner ik me niet meer langs welke weg) begonnen was met de linux distributie Pardus, om te beginnen Pardus 2007, een systeem met standaard een KDE 3.5 desktop omgeving. Dit systeem beviel direct zo goed na alle vroegere ervaringen, dat ik nooit meer aan Ubuntu begonnen ben, hetgeen natuurlijk niet wil zeggen dat ik Ubuntu niet een interessante linux variant vind. Inmiddels is een enthousiaste nederlandse community van Pardus gebruikers, zie http://forum.pardus-linux.nl.

Via Pardus 2007, Pardus 2008, 2008.1 en 2008.2 ben ik nu aanbeland bij Pardus 2009, de eerste versie met KDE4 als standaard desktop-omgeving.

Telkens ervaar ik weer nieuwe dingen, meevallers maar ook tegenvallers, daarover wil ik wat gaan schrijven in deze blog. Netto zijn het meer mee- dan tegenvallers want sinds twee jaar, dus sinds ik Pardus linux gebruik, doe ik thuis 95% van mijn computer werkzaamehden in dit systeem. Alleen op mijn laptop staat nog een Windows XP versie naast Pardus 2009, en deze XP versie start ik nog maar sporadisch op, eigenlijk kan ik inmiddels wel stellen dat ik me prima kan redden zonder Windows, en dat ik alleen op mijn werk (waar nu eenmaal nog Windows door de netwerkbeheerders wordt geinstalleerd in de grote meerderheid van alle werkgevers) tegenkom.

Over de desktop-omgevingen in linux wil ik binnenkort wat eigen impressies bloggen hier.

Lees meer...