J'ai eu l'occasion de mettre la main, pour quelques tests, sur un lecteur de coe barres “baracoda” avec lequel on communique en bluetooth.
Ces gens savent que Linux existe, mais disent explicitement ne pas fournir d'application pour utiliser leur matériel : http://www.baracoda.com/baracoda/support/view-faq-9.html#41
Toutefois, ils fournissent sans qu'il y ait besoin de chercher beaucoup des documentations sur leur site. Par prudence, j'en ai mis une copie ici :
Par défaut, le lecteur utilise un protocole qu'ils définissnet comme propriétaire, et demandant un accusé de réception à chaque envoi d'un code barre (“no data loss mode”, page 8 du programming guide). Après quelques essais, j'ai préféré le mode « pas no data loss » plus simple à utiliser Le code à scanner est le suivant (on le trouve dans le programming guide) :
On va considérer que l'on est équipé d'un récepteur bluetooth que l'on sait déjà faire fonctionner sous Linux.
Comme tous les bidules bluetooth, il faut commencer par montrer patte blanche, en donnant un code PIN. Pour ma part, j'ai utilisé blueman pour vérifier que je voyais bien l'appareil, essayer de s'y connecter, et lui donner le bon code PIN. Il faut bien évidemment qu'il soit allumé Je n'ai pas encore défini si c'était nécessaire, mais je laisse blueman lancé pendant l'utilisation.
Il y a un truc important à repérer à ce niveau là, c'estl'adresse MAC de l'apapreil. A noter, on va en avoir besoin ensuite.
Une fois configuré, on va pouvoir commencer à récupérer des codes, c'est le but, après tout…
Comme souvent, quand on aborde l'utilisation d'un matériel un peu exotique, on est rarement le premier à s'être frotté au problème. Dans mon cas, j'ai trouvé un extrait de code Python qui implémente déjà l'ouverture de socket bluetooth et jette les bases de la communication avec le lecteur : http://www.embeddedlinuxinterfacing.com/trac/wiki/Pencil2BluetoothScanner