J'utilise un Raspberry PI 3 sans tête et je veux qu'il accepte automatiquement les appariements de n'importe quel appareil.
J'ai vu cette réponse dans une question identique:
Accepter automatiquement les connexions Bluetooth sur un Pi 3
Mais cela semble un peu dépassé et certaines des commandes utilisées ne semblent pas exister.
J'exécute l' 2016-05-27-raspbian-jessie.img
image du système d'exploitation.
bluetooth-agent
mais je ne suis pas sûr.Réponses:
Étant donné que la
bluetooth-agent
commande n'existe pas sur Jessie, la méthode moderne consiste à diriger les commandes pertinentes versbluetoothctl
. Sur la base de cette question SO , le script suivant devrait permettre le couplage automatique sans entrée manuelle des broches:la source
No agent is registered
, il semble que ladefault-agent
commande s'exécute trop rapidement. Lorsque j'entre les commandes manuellement, il ne donne pas cette erreur, mais une fois que j'ai quitté,bluetoothctl
il désenregistre l'agent et la tentative de connexion échoue. Si je laissebluetoothctl
courir, je reçois une invite me demandant si je dois faire confiance à la connexion, ce qui n'est pas le casNoInputNoOutput
comme vous l'espérez ...NoInputNoOutput
n'est pas tant une politique d'autorisation, mais une partie du protocole Bluetooth pour déterminer quels types de mécanismes d'autorisation (par exemple, une broche peut-elle être utilisée?) Sont disponibles.Je viens d'utiliser une nouvelle installation de
2016-09-23-raspbian-jessie-lite.img
pour l'essayer sans aucune mise à jour supplémentaire. Nonapt-get update
nonapt-get install bluez-utils
ou rien. Cette commande unique rend le Pi détectable et jumelable. Sans agent pour contrôler qui peut se connecter, il permet simplement à n'importe qui:la source
Raspbian - Jessie
xxxxx.sh
la source
J'étais confronté au même problème et j'ai trouvé que cette méthode fonctionnait (RasPi 3, modèle B, Raspbian 9 Stretch)
J'utilise Raspberry Pi en tant qu'appareil IoT EDGE et j'en avais besoin pour accepter les demandes de paires Bluetooth sans intervention. J'ai une application Android qui communique des informations textuelles au Pi via Bluetooth et mon énoncé de problème avait besoin de n'importe quel appareil Android pour se connecter.
Tout d'abord, je n'exécute aucun agent Bluetooth séparé (pas de Blueman, en fait j'ai dû le supprimer)
Modifié le fichier .bashrc à
Ajout de deux commandes à cela à la fin
piscan rend le Raspberry Pi Bluetooth découvrable
sspmode 1 active le «couplage simple sécurisé», qui est le même type de méthode utilisé par vos écouteurs ou haut-parleurs Bluetooth (essentiellement des appareils qui n'ont pas d'écran où vous pouvez confirmer le code PIN). Et puisque ces commandes sont en .bashrc, elles s'exécutent au démarrage.
Exécutez le script Bluetooth. Paire. Bien qu'une fenêtre contextuelle me demande de confirmer, je peux communiquer des messages vers et depuis le Pi avec mon application.
Remarque: hci0 peut ne pas être le même partout, pourrait être hci1, hci2 veuillez vérifier en exécutant hciconfig sur votre CLI
C'est presque comme un engin, et je ne sais pas s'il y a des répercussions inconnues, mais cela fonctionne. Toutes les améliorations sont appréciées
la source
Vous pouvez jeter un œil au code source d' EcoDroidLink . Il accepte les connexions Bluetooth sans avoir besoin de se connecter.
EDIT: À la demande générale, voici des extraits de code du
edl_agent
module qui rend cela possible.la source