Le titre est un peu maladroit, je le reconnais volontiers, mais allez résumer en une phrase courte le fait de développer vos programmes en C en utilisant les bibliothèques et donc la partie userland de l'implémentation de la pile Bluetooth, appelée BlueZ, telle qu'elle est développée pour le système GNU/Linux... Ouf ! Ça fait un sacré titre. Car c'est bien de cela qu'il s'agira de traiter dans le présent article. Du C, du Bluetooth et un système open source en logiciel libre qui fait le bonheur des développeurs et bidouilleurs en tous genres.
Pourquoi le C alors qu'il existe des bindings pour les bibliothèques BlueZ pour presque tous les langages (Perl, Python, Ruby, etc.) ? tout simplement, parce qu'on traite ici de systèmes embarqués et d'architecture aux ressources relativement réduites. Or les dépendances de BlueZ sont déjà relativement conséquentes si l'on compte mettre en œuvre une implémentation Bluetooth complète. Jugez plutôt :
% ldd /usr/sbin/bluetoothd
linux-gate.so.1 => (0xf7731000)
libbluetooth.so.3 => /usr/lib/i386-linux-gnu/libbluetooth.so.3 (0xf764b000)
libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0xf7572000)
libdbus-1.so.3 => /lib/libdbus-1.so.3 (0xf7534000)
libpthread.so.0 => /lib/i386-linux-gnu/i686/cmov/libpthread.so.0 (0xf751b000)
libcap-ng.so.0 => /usr/lib/libcap-ng.so.0 (0xf7516000)
libdl.so.2 => /lib/i386-linux-gnu/i686/cmov/libdl.so.2 (0xf7512000)
librt.so.1 => /lib/i386-linux-gnu/i686/cmov/librt.so.1 (0xf7509000)
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première