|
|
|
Accueil > Articles > Zaurus > Navigation GPS avec un Zaurus SL 5500 Navigation GPS avec un Zaurus SL 5500Partie matérielleLe Sharp Zaurus SL-5500 n'est plus a présenter et on peut s'en procurer un modèle d'occasion pour une centaine d'euros. Il s'agit d'un PDA tournant sous Linux et permettant donc de faire moult choses, nous allons nous intéresser ici à la navigation GPS.La première chose à faire est donc de se doter d'un récepteur GPS à greffer sur le slot Compact Flash du Zaurus (on peut aussi en trouver à brancher sur le port série du PDA ou encore fonctionnant en Bluetooth). Voici une liste non exhaustive de périphériques compatibles (provenant de http://qpegps.sourceforge.net/gps_units.html) :
Partie logicielAu niveau logiciel je vous conseille qpeGPS NV téléchargeable ici. Il s'agit d'un logiciel libre fonctionnant avec la Sharp ROM v3, la Cacko ROM, OpenZaurus (mais dans ce cas il faut récupérer le paquet depuis le feed d'OpenZaurus), ... tant que Qtopia / Opie est installé.qpeGPS fonctionne avec des cartes raster (c'est à dire sous forme d'images plates) et non avec des cartes vectorielles, ce qui le rend incapable de faire le moindre calcul d'itinéraire. En outre il faudra, avant toute chose, récupérer ces cartes plates, qpeGPS sait le faire si le Zaurus est connecté à Internet (vous pouvez le connecter en établissant une liason Ethernet via la cable USB (usbnet) puis en installant un proxy (squid par exemple) sur la machine hôte ou encore en jouant avec iptables et route pour rediriger les paquets mais ce n'est pas l'objet de cet article). Calcul d'itinéraireComme je viens de l'écrire dans le paragraphe précédent, qpeGPS est, dans sa version actuelle, incapable d'utiliser des cartes vectorielles et donc de calculer des itinéraires. Mais rien ne nous empêche de faire calculer l'itinéraire par quelqu'un d'autre...Nous allons donc utiliser Google Maps que vous devez très certainement connaître. (On n'utilisera pas Mappy ou Viamichelin car ceux ci ne permettent pas de récupérer facilement la trajectoire sous forme d'un tracklog ou de route avec les coordonnées de chaque point). Nous allons donc créer un fichier QRT (utilisable directement avec qpeGPS NV) à partir d'un itinéraire Google Maps. Pour cela on utilisera GMap2qpeGPSNV (basé sur GMapToGPX). Voici la procédure à suivre pour l'installer sur votre navigateur :
Guidage vocalActuellement le guidage vocal est disponible uniquement en anglais avec flite.ConclusionVous avez là une solution bon marché de navigation GPS avec comme inconvénient majeur la préparation des itinéraires à l'avance. L'équipe de qpeGPS travaille dors et déjà sur l'utilisation de carte vectorielle mais il faudra attendre quelques temps avant que cela fonctionne et surtout, il faudra acheter les cartes.En libre vous pouvez aussi essayer zGPS qui fonctionnera directement sur le Zaurus et gère les cartes vectorielles ou GPSDrive qui requière un serveur X (X/Qt fera très bien l'affaire si vous êtes sous Qtopia / Opie) et GTK+. Pour le guidage vocal il faudra installer festival. Vous pouvez aussi tester qpeGPS classique disponible ici. Annexe : map_fusion.shSi vous organisez vos cartes de manière arborescente comme ceci :maps |_monde |_ france | |_epinal_4000 | |_nancy_4000 | |_saint_joire_4000 | |_france_200000 |_allemagne | |_ berlin_50000 | |_ allemagne_200000 |_monde_1000000 Alors vous pouvez utiliser le script map_fusion.sh téléchargeable ici pour fusionner tout un sous ensemble de cartes. Typiquement, dans un cas comme ci-dessus, vous allez avoir un fichier maps.txt dans chaque dossier du type nom_echelle (là où sont les fichiers images). Donc seuls ces dossiers peuvent êtres sélectionnés dans qpeGPS. Par contre en lançcant map_fusion.sh dans le dossier france par exemple, vous obtenez un fichier maps.txt regroupant les cartes des sous répertoires et donc le dossier france devient utilisable dans qpeGPS comme l'ensemble des cartes d'épinal, de nancy, de saint joire au 4000ième et de france au 200000ième. Exemple d'appel : $ pwd /home/zaurus/gps/maps/france $ ./map_fusion.sh epinal_4000 nancy_4000 saint_joire_4000 france_200000 #simplifiable en ./map_fusion.sh *_* Commentaires sur l'article : [+] |