Auto connexion à des appareils Bluetooth Appariés sur Android
Je veux connecter mon Téléphone Android (2.3.6 Samsung Note) pour un intégré à l'appareil Bluetooth (RN-42 BT module UART sur Arduino). Commencé avec BluetoothChat exemple et ont intégré à l'appareil jumelé avec le téléphone. Pour l'instant tout semble bien fonctionner, les périphériques connectés et les données sont transmises à partir d'Android appareil embarqué. Ce que je suis toujours en manque, c'est de rendre les appareils se connectent automatiquement une fois que les deux sont dans la gamme.
De l'utilisation du débogueur je vois le périphérique intégré est "Accueil" ou du terme "Esclave" et le Android étant un client, que l'Android l'émission d'une requête de connexion.
OriginalL'auteur zmashiah | 2012-05-24
Vous devez vous connecter pour publier un commentaire.
J'ai une configuration similaire (Android Galaxy S3 téléphone 4.0 et RN-42 BT connecté à l'Arduino Uno)
Je suis en mesure de coupler l'Android et du bluetooth et de se connecter à partir de l'Android à la RN-42 BT
(Je suis en utilisant le BlueTerm application de test)
Cependant, je suis incapable de vous connecter à partir de la RN-42 BT sur le téléphone Android.
J'ai suivi le innstructions et l'exemple de code dans: http://www.instructables.com/id/Missed-calls-and-SMS-Notifier-Accessory/
J'ai programmé l'42 BT pour servir en tant que client et définissez-la sur Auto en mode de connexion (SR 3).
Dans mon code Android, le BluetoothSerialService (équivalent à la PhoneInfoServer exemple de code) est bloqué dans la AcceptThread sur: socket = mmServerSocket.accept();
Je suis en joignant les pièces suivantes de codes qui sont liées au problème de connexion:
une connexion avec le téléphone Android
connexion
connexion entrante
Dans Google BluetoothChat démo app il y a une option pour rendre le téléphone détectable, de sorte qu'un autre téléphone peut se connecter à elle.
Je suis à la recherche de quelque chose de similaire pour bluetooth connexion série. J'ai regardé pour une application sur Google Play qui permettra de tester ecouter de la réception d'une demande de connexion de bluetooth de série de l'appareil, mais n'ai pas trouvé une telle application.
Quelqu'un sait d'une telle application?
Ce qui concerne,
Avner
Arduino code qui définit le mode de connexion automatique et établit une connexion avec le téléphone Android
Android
BluetoothSerialService AcceptThread
code qui écoute les connexions entranteslogcat des messages qui indiquent que le code est bloqué en attente de connexion entrante
J'ai par la suite découvert que la RN-42 BT est de se en mode de connexion automatique, mais tente de se connecter à un autre non-android LG téléphone à la maison.
J'ai découvert ce à zéro par la RN-42 BT d'usine par défaut.
À l'aide de la BlueTerm application, j'ai réussi à connecter à partir du téléphone Android à la RN-42 BT.
Lorsque j'effectue une enquête d'analyse ($$$I\r) - je obtenir l'adresse mac et le nom du téléphone LG.
Ce téléphone dispose d'une connexion bluetooth avec un autre adresse mac (0026e25d8a91) - je ne sais pas quelles sont les causes de la RN-42 BT à essayer de se connecter avec cet appareil.
Cela signifie que l'auto en mode de connexion ne fonctionne pas mais la connexion est dirigé vers le mauvais téléphone.
Je suis pazzled parce que je suis en précisant l'adresse mac du téléphone Android en utilisant les commandes suivantes (avec des retards entre eux)
Je suis en train de penser que l'initiation d'une connexion à partir de la RN-42 BT est Ok, mais que le BluetoothServerSocket sur l'android code n'est pas correctement configuré.
J'ai essayé le réglage de la BluetoothServerSocket à écouter à l'aide listenUsingInsecureRfcommWithServicerecord et listenUsingRfcommWithServiceRecord.
Je remarque qu'il y a une commande createInsecureRfcommSocketToServicerecord. Dois-je utiliser à la place?
Tout conseil serait grandement apprécié.
Grâce,
Avner
Le PhoneInfo application sur Android a l'option d'affichage de la BT adresse MAC. Juste pour être sûr, vérifiez qu'il. Aussi, j'ai remarqué que vous n'avez PAS le faire C la commande sur le terminal avec le BT module. S'il vous plaît essayer. Aussi loin que je me souviens que le code fonctionne dans la non-communication sécurisée de toute façon (sur le côté Android)
J'ai trouvé une solution de contournement pour le problème du téléphone Android (Galaxy S3 4.0.3) ne pas être en mesure d'agir comme un serveur de connexion automatique. J'ai ajouté une option pour le téléphone Android pour agir en tant que client et lancer l'insécurité RfcommSocket de la RN-42 BT. Remplacement de createRfcommSocketToServiceRecord avec createInsecureRfcommSocketToServicerecord résultats dans un succefull connexion. La RN-42 BT s'allume en vert et l'appareil communique, sans avoir de coup de poing dans le mot de passe (1234).
OriginalL'auteur Avi
Complète le code et les instructions:
http://www.instructables.com/id/Missed-calls-and-SMS-Notifier-Accessory/
Il comprend non seulement le code, mais aussi des explications sur la façon dont il fonctionne et d'assemblage description.
OriginalL'auteur zmashiah
J'ai donc trouvé le "truc". D'abord, le téléphone mobile est configuré pour n'Accepter que les connexions et l'appareil embarqué qui a une ligne d'alimentation à connexion automatique. Le changement a été de définir le périphérique intégré à partir de "l'Hôte" mode "Client" mode de connexion automatique.
Prochain obstacle a été l'Androïde a du Accepter de code dans un service autrement que la connexion ne fonctionne que si la demande a été faite active. Avec la mise à l'Accepter morceau de code dans un service de l'application peut être non-actif et intégré à l'accessoire serait auto connect. Le Code sera partagé en Instructable: entrez description du lien ici
Ainsi, par exemple, savez-vous comment je pourrais faire pour me connecter à mon plus proche de l'appareil Bluetooth avec seulement activing Bluetooth mannually?
OriginalL'auteur zmashiah