J'ai eu l'occasion de mettre la main, pour quelques tests, sur un lecteur de coe barres "[[http://www.baracoda.com/|baracoda]]" avec lequel on communique en bluetooth. == Configurer le bidule == 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 [[http://www.baracoda.com/baracoda/product/p_36.html|leur site]]. Par prudence, j'en ai mis une copie ici : * le "programming guide", qui contient les codes barre spéciaux permettant de configurer l'appareil : {{utile:codebarres:programming-guide-v1-4-for-roadrunners-evolution-1d-and-laser_1871.pdf|}} * le "communication protocol guide", qui contient les infos sur le protocole de communication : {{utile:codebarres:laser_1260.pdf|}} 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) : {{utile:codebarres:disable_nodataloss.png|}} == Se faire les dents bleues == 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é //[[http://blueman-project.org/|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. == Récupérer des codes == 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