Étape 7: Soupe vers le haut de votre téléphone
Si vous êtes intéressé à apprendre comment fonctionne l’application, lisez la suite. Lorsque l’application est lancée, il sera immédiatement essayez de vous connecter au canon. Par souci de simplicité, nous avons codé en dur l’adresse MAC de notre modem BlueSmirf au lieu de développer un sélecteur. Cette approche fonctionne, mais cela signifie que vous devrez jumeler avec le modem avant de lancer l’application.
Pour associer le BlueSmirf depuis votre téléphone Android, allez dans Paramètres >> sans fil et réseaux >> paramètres Bluetooth et assurez-vous que Bluetooth est activé. Ensuite, appuyez sur « Rechercher les périphériques » et choisissez le modem BlueSmirf quand il apparaît (nôtre s’appelait RN42-07EA). Par défaut, le code d’accès sera « 1234 » ou « 0000 ».
Maintenant, de retour dans l’appli Android, si la tentative de connexion expire, puis les boutons resteront handicapées. Le bouton menu fait apparaître l’option de tenter de vous reconnecter. Cela est pratique lorsque vous testez la gamme de votre installation. Notez également qu’il est important de s’assurer que toutes les communications Bluetooth se passe dans un thread séparé. Comme la plupart des opérations réseau, communication Bluetooth n’est pas plusieurs garanties de chronométrage. Sur un microcontrôleur typique, vous pouvez garantir habituellement qu’une seule instruction s’exécutera en cycle d’horloge. Toutefois, dans ce cas, la durée de l’établir qu'une connexion et envoyer des données dépendent de plusieurs facteurs, dont les caractéristiques physiques telles que la distance entre l’émetteur et le récepteur, les interférences radio dans la salle (qui le BlueSmirf gère par une technique appelée saut de fréquence )
Pour avoir accès à la SPP interface Android, nous avons dû utiliser une réflexion de Java pour récupérer une fonction membre. On trouvera plus d’informations sur ce hack dans cette conversation détaillée de StackOverflow , dont nous avons bénéficié mais n’a pas participé. Si vous venez avec une meilleure approche en analysant la documentation BluetoothSocket mieux que nous l’avons fait, alors n’hésitez pas à laisser un commentaire pour nous faire savoir ce que vous faisiez.
Une fois la connexion établie, les boutons sont activés. Lorsqu’un bouton est tapé, un octet est tenté d’être envoyées sur le réseau. Le bouton marron envoie un caractère ASCII « 1 » (0 x 31 Si vous regardez les bits individuels), et le bouton orange envoie « 2 » (0 x 32). Cela peut très bien être le protocole plus simple que vous ne verrez jamais dans votre vie. Si jamais un transfert de données échoue, les boutons sont désactivés et l’utilisateur est averti par un message de pain grillé .