French Utiliser l'application Android Arduino BlueControl pour gérer des applications B4R

Marc DANIEL

Well-Known Member
Licensed User
L'application ARDUINO BlueControl permet de contrôler des applications B4R fonctionnant avec la carte Bluetooth HC05. Voir les exemples fournis par la plate-forme (attention, il y a eu une inversion entre HC05LightDimmer et HC05DCMotor)

Par exemple le programme HC05LightDimmer.B4R dont le schéma de connexions est le suivant:

Schéma.png

Effectuez les branchements, lancez le programme B4R. La petite LED rouge du module HC05 clignote rapidement en attendant un appairage Bluetooth. Lancez l'application ArduinoControl sur votre Smartphone et effectuez une connexion avec le module (Il apparaîtra en tant que "DSD TECH HC-05"). Dès que l'association aura été effectuée, la petite led rouge du module clignotera plus lentement et votre propre LED rouge associée va s'allumer pendant tout le temps de l'association Bluetooth.

Selection dispositif.png


Screenshot_20210417-145117.PNG



Screenshot_20210417-145138.PNG

Sélectionnez Arrow Keys puis cliquer sur la flèche de droite > et votre LED témoin va s'allumer (jaune sur le schéma)

Dès que vous fermez l'application sur votre Smartphone, la petite led rouge du module recommence à clignoter rapidement.

Personnellement, je vais tenter de travailler avec le programme HC05DCMotor mais c'est une autre aventure !!!
 

Attachments

  • HC05LightDimmer.zip
    1.1 KB · Views: 187

Marc DANIEL

Well-Known Member
Licensed User
LOGO.PNG


Pour information, le logo de cette application est celui-ci. Il existe de multiples autres applications disponibles sur le Google Play Store mais je n'ai testé que celle-ci.​
 

Marc DANIEL

Well-Known Member
Licensed User
Il est bien entendu possible d'associer le module Bluetooth HC-05 avec le système de connexion Bluetooth disponible sur votre Smartphone (Code PIN: 1234) mais cela ne sert à rien car vous ne pourrez effectuer aucune manipulation.
 

klaus

Expert
Licensed User
Longtime User
il y a eu une inversion entre HC05LightDimmer et HC05DCMotor)
C'est une erreur de ma part.
Le programme HC05DCMotor était un test et n'aurait pas dû être inclus dans les codes sources.
Ce programme n'est pas expliqué dans le livret.
 

Marc DANIEL

Well-Known Member
Licensed User
Exact cher Klaus, mais c'est celui qui m'intéresse donc comme je suis un entêté, je vais trouver une solution. Cordialement.
Marc
 

Marc DANIEL

Well-Known Member
Licensed User
Je n'arrive pas à faire fonctionner le programme B4A associé à HC05VariateurDeLumiere pour effectuer l'appairage Bluetooth avec le dispositif HC05LightDimmer.B4R
Pourtant, j'ai rigoureusement respecté les connexions indiquées page 84 du livret B4R Example Projects. Image Fritzing affichée plus haut ici.

Or j'arrive à effectuer cette opération avec l'application Android "Arduino BlueControl" citée plus haut et aussi avec une autre application Android "Arduino Bluetooth" dont le logo représente comme ci-dessous une carte Arduino et un module HC-05

Arduino Bluetooth.PNG

Une fois l'association Bluetooth effectuée (très rapide et même sans le code PIN 1234), je sélectionne le mode "Dimmer" pour allumer la diode jaune

Screenshot_20210417-224627.PNG

Et un écran avec curseur apparaît, un léger déplacement sur la droite provoque l'allumage de la diode jaune. Par contre les variations d'intensité ne sont pas franchement réussies.

Screenshot_20210418-102923.PNG

Finalement, je pense que cette application est plus facile à utiliser que la précédente.

Tout cela ne m'a pas permis de comprendre pourquoi les applications B4A ne me permettent pas de contrôler mon dispositif B4R ...
 

Attachments

  • HC05VariateurDeLumiere.zip
    15.1 KB · Views: 160
  • HC05LightDimmer.zip
    1.1 KB · Views: 166

Marc DANIEL

Well-Known Member
Licensed User
Par contre l'application Bluetooth (de Chat) écrite par Erel en 2018 fonctionne pour la reconnaissance Bluetooth du module HC05. Je pense que le problème venait de "Runtime Permissions" absent sur les applications B4A liées au module HC05. Je vais donc tenter de les modifier en ce sens.
 

Attachments

  • Bluetooth.zip
    12.6 KB · Views: 151

Marc DANIEL

Well-Known Member
Licensed User
Mais en fait, c'est plus compliqué que je le pensais, l'application Bluetooth ci-dessus est composée de modules complémentaires: "BluetoothManager.bas" qui me paraît indispensable et "ChatActivity.bas" dont je n'ai pas besoin puisque moi, je veux gérer des moteurs et non pas chater ...
 

klaus

Expert
Licensed User
Longtime User
J'ai aussi exploré.
Avec les dernières versions d'Android, le autorisations sont nécessaires.
J'ai ajouté:
- AddPermission(android.permission.ACCESS_FINE_LOCATION) à la fin dans le Manifest Editor.
- La bibliothèque RuntimePermissions
- Le code ci-dessous dans Activity_Create.
B4X:
Sub Activity_Create(FirstTime As Boolean)
    Activity.LoadLayout("Main")

    rp.CheckAndRequest(rp.PERMISSION_ACCESS_FINE_LOCATION)
    Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
    If Result = False Then
        ToastMessageShow("No permission...", False)
        Return
    End If
End Sub
- Ajouté la routine:
B4X:
Public Sub Activity_PermissionResult (Permission As String, Result As Boolean)
    
End Sub

L'application B4A trouve le HC 05, cherche à se connecter mais se déconnecte aussi tôt avec ce message:
(IOException) java.io.IOException: read failed, socket might closed or timeout, read ret: -1
En triturant différents réglages ça a fonctionné une fois.
Desappairer les appareils, les appairer à nouveau, recompilé les programmes, pressé le petit bouton sur le HC-05 etc.
Mais, en essayant d'autres programmes avec le HC 05, et revenant à HC05LightDimmer ça ne fonctionne plus, même avec les triturations ci-dessus.

Ci-joint, la nouvelle version, peux-tu s.t.p. l'essayer pour voir si ça fonctionne chez toi?
Je vais investiguer plus loin, aussi pour la commande d'un moteur.
Quel circuit utilises-tu pour alimenter le moteur? Le L293D ou un autre circuit?
 

Attachments

  • HC05LightDimmer.zip
    11.3 KB · Views: 152

Marc DANIEL

Well-Known Member
Licensed User
Trop sympa Klaus !!! comme d'habitude, je vais essayer et je reviens ici

PS - Pour le moteur, j'utilise L293D

J'ai tenté en vain de copier les méthodes utilisées ici >>> Voiture ARDUINO pilotée par Bluetooth
5e01a9_09866a73f9a448d8b110d5790b41e001mv2.jpg

Mais leur schéma est difficilement (volontairement ?) lisible ...

et le programme ARDUINO n'est naturellement pas écrit en B4R
 

Attachments

  • ProgrammeARDUINO_Robot_Bluetooth.pdf
    97.4 KB · Views: 203

Marc DANIEL

Well-Known Member
Licensed User
Et bien hélas, non, pas de connexion réussie même en effectuant toutes les manipulations préconisées. Par contre je m'étonne de ne pas avoir eu l'affichage (lors de la première utilisation) du message suivant :

Screenshot_20210419-142602.PNG

qui s'affiche au minimum une fois lors de la première installation d'un programme B4A

Mais Klaus, ne te prends pas la tête avec mes investigations dans le Bluetooth sinon tu finiras par avoir le Blues à défaut du Bluetooth !!!
En tous cas, merci d'avoir consacré une fois de plus du temps pour mes recherches.
Cordialement,
Marc
 

Marc DANIEL

Well-Known Member
Licensed User
Klaus,

J'ai déplacé le "Runtime Permissions" dans ton projet et rajouté "ELSE" et j'ai obtenu lors de l'installation l'affichage de l'écran ci-dessus "Permettre etc" mais hélas toujours pas de succès pour la connexion du HC-05 !!!
 

Attachments

  • HC05byKlaus.zip
    269.2 KB · Views: 154

Marc DANIEL

Well-Known Member
Licensed User
Klaus, Euréka ! J'ai trouvé le lézard ! C'était le nom indiqué dans Starter.BAS à la ligne 28:

ExtraitCodeStarter.png


et donc, j'ai réussi à me connecter au module qui m'a toutefois demandé le code PIN 1234 ...

Donc, je vais enfin pouvoir retourner dans B4R
Cordialement,
Marc
 

klaus

Expert
Licensed User
Longtime User
Mais Klaus, ne te prends pas la tête avec mes investigations dans le Bluetooth sinon tu finiras par avoir le Blues à défaut du Bluetooth !!!
Ne t'en fais pas, je m'y serais remis de toutes façons. J'avais commencé un projet de petit mobile avec ma petite-fille que nous continuerons sous peu.
Un mobile du style de celui de ton post #10.
Et, en plus, je dois mettre à jour les programmes dans le livret. Donc ça tombe à pic.

Quelle version d'Android à ton appareil ?
et donc, j'ai réussi à me connecter au module qui m'a toutefois demandé le code PIN 1234 ...
Ça c'est normal lors de l'appairage des dispositifs.
Est-ce que le programme B4A affiche Connected ?
Chez moi, je n'arrive toujours pas à connecter les deux. Le smartphone trouve le HC-05, essai de connecter les deux et affiche l'erreur.
(IOException) java.io.IOException: read failed, socket might closed or timeout, read ret: -1
Ce qui est frustrant, c'est que ça a fonctionné une fois aujourd'hui et puis ça déconne de nouveau.
 

klaus

Expert
Licensed User
Longtime User
Tu as de la chance !
Sur le mien, j'ai Android 11.
Et avec toutes les chicaneries administratives de Google ça foire.
As-tu réalisé le montage?
Si oui, est-ce que ça fonctionne ?
Je suppose que oui, puisque le Status est connected.
Donc, avec le bouton tu peux allumer ou éteindre la LED et avec le curseur tu peux ajuster la luminosité.
 

Marc DANIEL

Well-Known Member
Licensed User
Le montage a été bidouillé vite fait sur une breadboard où j'avais branché un moteur avec le L293D

Mais je dois revoir ça parce que la LED témoin pourtant branchée sur la broche 5 ne réagit pas (alors que j'avais réussi à l'allumer avec les deux applications Android citées plus haut)

ConnexionOK.jpg


Par contre la grosse LED rouge s'allume bien si la connexion est OK
(Il n'y a que la partie gauche de la breadboard qui est utilisée)

Screenshot_20210419-174816.PNG


En cours de connexion ...
J'ai également remarqué (comme j'ai 3 modules HC-05) que si je tente d'en connecter un différent du premier qui a été appairé, j'ai des messages d'erreur, il faut que je déconnecte tout, que je relance tout pour que ça fonctionne correctement avec un nouveau module.

Et ceci est vrai aussi avec les applications citées plus haut.

Le module garde donc en mémoire les appairages précédents.

Bonne fin de journée, Klaus et merci de ton assistance. Je t'abandonne ce soir car ma fille et mon petit-fils viennent d'arriver pour 3 jours, voir les "anciens".
Cordialement,
Marc
 

klaus

Expert
Licensed User
Longtime User
Bonne fin de journée, Klaus et merci de ton assistance. Je t'abandonne ce soir car ma fille et mon petit-fils viennent d'arriver pour 3 jours, voir les "anciens".
Profitez-en a 200%, ce sont des moments magiques !!!
 

Marc DANIEL

Well-Known Member
Licensed User
Bon, ils sont tous devant la télé, donc je reviens vers B4R et cette fois-ci, j'ai testé avec le même schéma de connexions DC05LEDOnOff.B4R et j'ai mis une LED bleue sans résistance, elle s'est allumée mais impossible de l'éteindre ensuite via le Bluetooth, et même si je déconnecte mon Smartphone, elle reste allumée contrairement à la LED rouge qui s'éteint dès que je quitte l'application B4A. Seul le bouton RESET de la carte Arduino permet d'éteindre la LED bleue.

LEDbleue.jpg
 

Attachments

  • HC05LedOnOff.zip
    1 KB · Views: 139
Top