Métaphore

Il fait froid dehors

QStarz Q1000x par bluetooth sous Linux

Fut une époque, il m'arrivait de partir en voyage. Il y a longtemps que je suis archiviste compulsif et lors de mes dernières vacances, je surlignais tous les itinéraires sur la carte et j'ai géolocalisé une grosse partie des photos dont j'avais auparavant harmonisé les dates (issues de trois appareils différents : un au bon fuseau horaire mais avec un décalage d'une heure, un au mauvais et un pas réglé du tout. J'ai utilisé deux clichés ou nous étions en train de nous prendre en photo pour les premiers, un zoom sur une montre pour le troisième.)

Avec le recul, je me suis dit que j'aurais bien acheté un enregistreur GPS, histoire d'avoir mes déplacements et de pouvoir localiser mes photos automatiquement. Je me méfie de ce genre de caprice, mais comme au bout d'un an et demi j'en avais toujours envie, ça n'avait pas l'air d'en être un et j'ai fini par me décider : je me suis offert un QStarz Q1000x (J'en voulais un qui soit utilisable sous Linux et je suis parti d'un article chez Kagou. Le modèle dont il parlait ne se vend plus mais le Q1000x en est le successeur, alors hop.)

Bon, c'est pas si simple finalement : je ne sais si c'est parce que le modèle a évolué, mais quand je le branche sur mon PC, il n'est pas reconnu, il manque un bout dans le noyau qui ne sera pas ajouté avant la version 2.6.29, laquelle ne sera sans doute même pas dans la prochaine version d'Ubuntu, et hacker mon noyau sur un utltraportable, euh ... non merci.

Bon ben on va passer par le bluetooth alors. J'imagine que ça présente peu d'intérêt pour un autre que moi, mais sait-on jamais : puisque je veux garder mes notes sous la main, autant le faire en public.

Alors, d'abord, on installe, si ce n'est pas fait, la couche bluetooth :

sudo apt-get install bluez-pin
sudo apt-get install bluez-utils

Ensuite, après redémarrage si nécessaire (je ne crois pas, mais on n'est jamais trop prudent) on regarde ce qu'il y a comme appareils bluetooth dans le coin avec un hcitool scan qui nous renvoie quelque chose comme ça :

Scanning ...
	00:17:83:23:44:D6	WM_xave
	00:1C:88:12:03:AF	Qstarz GPS

Bieng, on a le GPS. On récupère son adresse MAC (ici 00:1C:88:12:03:AF) et on va chercher le canal sur lequel on peut lui causer avec un sdptool browse 00:1C:88:12:03:AF qui va nous donner ça :

Browsing 00:1C:88:12:03:AF ...
Service Name: SPP slave
Service RecHandle: 0x10000
Service Class ID List:
  "Serial Port" (0x1101)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 1
Language Base Attr List:
  code_ISO639: 0x656e
  encoding:    0x6a
  base_offset: 0x100

Le canal nous est donné sur la ligne Channel: 1. Vous avez deviné, c'est 1. Maintenant, on va émuler un port série grâce à rfcomm. On choisit un numéro de port, genre 0 (mais ça peut être 3 ou 12, on s'en fout) le nom complet du port sera alors rfcomm0. La première des deux commandes suivantes le libère s'il est occupé, la seconde l'assigne au GPS sur le canal idoine : rfcomm [nom du port choisi] [adresse MAC du GPS] [numéro du canal].

sudo rfcomm release rfcomm0
sudo rfcomm connect rfcomm0 00:0B:0D:14:8C:AF 1

Et ... Voilà, c'est tout. On peut maintenant communiquer avec le GPS au travers du device /dev/rfcomm0. Par exemple avec mtkbabel (c'est ça dont j'ai besoin pour lire les logs ou modifier la config) ou GPSd.

Merci à ceux qui ont écrit les pages suivantes :

N'empêche que bon, c'est quand même dans des cas comme ça qu'on se dit que Linux, c'est pas prêt pour les PC de bureau (mais c'est tellement drôle...)

-

Commentaires

1. Par martin, le 05/03/2009 à 14:11

Ah, quel poète... J'aime beaucoup le passage sur "L2CAP" (0x0100), je trouve ça très fort.

2. Par Droop, le 05/03/2009 à 19:45

Quel dommage que Windows ne soit pas encore prêt pour les PC de bureau lui aussi...

3. Par Emma, le 05/03/2009 à 22:01

Ah, quel... mal de crâne
(voilà, c'était ma contribution au jeu des anaphores lancé par mes deux prédécesseurs)

Franchement, me faire ça, après des journées de boulot comme les miennes, c'est du terrorisme aggravé.
Je ne parle même pas de la sombre embuscade qui consiste à mettre un incipit prometteur, chantant déjà le dépaysement et l'évasion, puis à assommer à brûle-pourpoint le lecteur primesautier, abandonné, qui clique sur "lire la suite" en toute confiance. T'étais pas du genre à coincer des seaux d'eau au-dessus des portes quand t'étais petit par hasard ?

J'ai rien bité. La prochaine fois que je t'entends me dire que t'es obligé de relire 4 fois mes phrases avant de les comprendre...

4. Par samantdi, le 06/03/2009 à 00:00

Ah comme je suis d'accord avec l'accorte Emma ! C'est bien simple, je croyais sur Twitter en train de lire les passionnantes localisations de Glazou (pourtant mon idole) genre : "coder L:48.8927494,2.0740174"

5. Par Tarlak, le 12/07/2009 à 10:58

Xave merci,

Je n'arrivais pas a communiquer correctement avec mon q1000x également et grâce à toi j'y arrive enfin, magnifique cet été va être très géotagging de photo :)

Ajouter un commentaire

URL de rétrolien : https://xave.org/trackback/2822