Existe-t-il un moyen de coupler un appareil sous Linux sans avoir besoin d'une broche (à des fins de test, j'ai donc besoin que cela se fasse sans interaction humaine, en supposant que vous ayez un accès root)?
bluez-simple-agent semble nécessiter une broche, sauf avec certains périphériques simples tels que les souris.
Essayez de définir la sécurité sur aucune dans /etc/bluetooth/hcid.conf
http://linux.die.net/man/5/hcid.conf
Cela ne fonctionnera probablement que pour les périphériques HCI (souris, clavier, boule spatiale, etc.). Si vous avez un autre type d'appareil, il y a probablement un paramètre différent mais similaire à modifier.
La saisie d'un PIN est en fait une méthode de couplage obsolète, maintenant appelée Legacy Pairing . Le mode de couplage simple sécurisé est disponible dans Bluetooth v2.1 et versions ultérieures, qui comprend les plus modernes Périphériques Bluetooth. L'authentification SSPMode est gérée par la pile de protocoles Bluetooth et fonctionne donc sans interaction de l'utilisateur.
Voici comment procéder pour se connecter à un appareil:
# hciconfig hci0 sspmode 1
# hciconfig hci0 sspmode
hci0: Type: BR/EDR Bus: USB
BD Address: AA:BB:CC:DD:EE:FF ACL MTU: 1021:8 SCO MTU: 64:1
Simple Pairing mode: Enabled
# hciconfig hci0 piscan
# sdptool add SP
# hcitool scan
00:11:22:33:44:55 My_Device
# rfcomm connect /dev/rfcomm0 00:11:22:33:44:55 1 &
Connected /dev/rfcomm0 to 00:11:22:33:44:55 on channel 1
Press CTRL-C for hangup
Cela établirait une connexion série à l'appareil.
suivez les étapes (CentOs):
Si vous voulez plus de détails https://www.youtube.com/watch?v=CB1E4Ir3AV4
Cela a fonctionné comme un charme pour moi, bien sûr, cela nécessite des privilèges de super-utilisateur :-)
# hcitool cc <target-bdaddr>; hcitool auth <target-bdaddr>
Pour obtenir <target-bdaddr>
vous pouvez lancer la commande ci-dessous:$ hcitool scan
Remarque: exclure #
& $
car ce sont des invites de ligne de commande.
Pour Ubuntu 14.04 et Android essayez:
hcitool scan #get hardware address
Sudo bluetooth-agent PIN HARDWARE-ADDRESS
La boîte de dialogue PIN apparaît sur Android appareil. Entrez le même PIN.
Remarque: Sudo apt-get install bluez-utils
pourrait être nécessaire.
Remarque 2: Si la boîte de dialogue PIN n'apparaît pas, essayez d'abord l'appairage à partir de Android (échouera en raison d'un code PIN incorrect). Ensuite, essayez à nouveau comme décrit ci-dessus).
~ $ hciconfig noauth
Cela devrait faire l'affaire (j'utilise bluez 5.23 et il n'y a plus de simple-egent et de blue-utils). Cependant, j'essaie de trouver un moyen de rendre les modifications hciconfig permanentes car après la mise hors tension puis sous tension, l'authentification est à nouveau nécessaire. Jusqu'à présent, les changements dans hciconfig restent les mêmes lorsque vous le redémarrez. il ne revient que lorsqu'il est hors tension. Si quelqu'un a trouvé un moyen de rendre hciconfig permanent, faites le moi savoir!