PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → Savoir si peripherique Bluetooth connecter/deconencter
Savoir si peripherique Bluetooth connecter/deconencter
Débuté par Baptiste - BLV TECH, 15 déc. 2017 11:01 - 5 réponses
Membre enregistré
258 messages
Popularité : +35 (37 votes)
Posté le 15 décembre 2017 - 11:01
Bonjour,

Je travail avec des terminaux mobile WT6000 + Bague RS6000 (Bluetooth).





Je connais l'adresse l''Adresse MAC et le nom de ma Bague RS6000.
J'aimerais savoir par programmation si la Bague RS6000 est déconnecter de mon WT6000. Et au quel cas, la reconnecter automatiquement sans que l'opérateur n'est a faire l'opération de réappairage par contact NFC.

Des idées ?

Merci !

--
Baptiste CLOART
Freelance
b.cloart@blv-tech.com
06.88.74.80.65
www.linkedin.com/in/cloart
www.blv-tech.com
Posté le 09 janvier 2018 - 03:16
Bonjour Baptiste,

Voilà, je bosse sur un projet perso de gestion de piscine par bluetooth.
Je communique parfaitement dans les deux sens, avec une carte Arduino et comme vous je voudrai maintenant
pouvoir gérer une éventuelle perte de connexion pour tenter une reconnexion ou un abandon.

Je gratte des infos depuis plusieurs jours sans succès, auriez-vous de votre coté réussi à obtenir une info valable?
Je vous en remercie d'avance.

Cordialement
JMF
Membre enregistré
258 messages
Popularité : +35 (37 votes)
Posté le 09 janvier 2018 - 08:34
Bonjour JMF,

Je n'ai rien trouvé pour le moment... Si tu a plus d'info je suis preneur.

--
Baptiste CLOART
Freelance
b.cloart@blv-tech.com
06.88.74.80.65
www.linkedin.com/in/cloart
www.blv-tech.com
Posté le 11 janvier 2018 - 03:51
Bonjour Baptiste,

Je viens de trouver un début de piste: Jouer au Ping / Pong avec l'Arduino. Haha

A interval régulier, l'appli WM envoi un "Ping" à l'Arduino qui à son tour doit envoyer "Pong"
Si le "Pong" n'arrive pas c'est qu'il y a perte de connexion

Sans entrer dans le détail du code voici les principale étapes que j'ai mis en place.

Création d'une variable globale: PongAttendu (booleen)

Au démarrage, l'appli se connecte à l'Arduino par un "SocketConnecteBluetooth"
Si c'est ok alors :

- lancement d'un ThreadExécute("TRReception",threadNormal,ReceptionDataBT)
cette procédure "ReceptionDataBT" tourne en boucle infinie (while vrai)
son but est de lire ce qui est envoyé par l'Arduino au travers d'une socket

- Initalisation de la variable: PongAttendu à Faux (Normal, on n'a pas encore envoyé de "Ping")

- lancement de la Procédure PingPong
C'est un Thead automatique infini espacé de 8 secondes

Voyons d'abord la procédure PingPong

PROCEDURE PingPong()

SI PongAttendu=Faux ALORS (on n'a pas encore envoyé de "Ping")
SI SocketExiste(cSocBT) ALORS
SI SocketEcrit(cSocBT,"Ping") ALORS
PongAttendu=Vrai
ToastAffiche("Ping") // Pour les test
FIN
FIN
SINON
ToastAffiche("Connexion perdue !!!")
(a partir de la là j'aimerai bien proposer une tentative de reconnexion ou un abandon)

//PongAttendu=Faux // Ce qui permettra d' envoyer un ping au prochain tour de PingPong
//Multitâche(-50)

FIN

Maintenant la procédure "ReceptionDataBT"
While vrai
Recu=Socketlit // lecture de la socket
selon Recu
cas blabla1
cas blabla2

cas "Pong"
// On est toujours connecté
PongAttendu=Faux // La procedure pingpong pourra envoyer un "Ping" au prochain tour
ToastAffiche("Pong") // Pour les test
fin
fin

et c'est tout

Tout n'est pas parfait, mais ca marche.

Mon problème n'est pas tout a fait résolu, parceque je n'arrive pas à faire une reconnexion . (message d'erreur et fin de l'appli)
Je pense que cela est dû au thread de reception qui tourne toujours.
Je vais devoir creuser du coté des "signalcree" et compagnie.

J'espère avoir été suffisament clair.
N'hésite pas à me recontacter.

A+
JMF
Membre enregistré
258 messages
Popularité : +35 (37 votes)
Posté le 11 janvier 2018 - 08:55
Hello JMF,

Pas mal du tout.
Malheureusement dans mon cas il n'est pas possible d'implémenté un Arduino...
Mais ton code pourra servir a d'autre Dev'. :merci:

--
Baptiste CLOART
Freelance
b.cloart@blv-tech.com
06.88.74.80.65
www.linkedin.com/in/cloart
www.blv-tech.com
Posté le 15 janvier 2018 - 09:11
Bonjour,

Peut-etre la fonction BTLEEtatConnexion pourrai résoudre votre probleme ?
(personnellement elle ne marche pas pour moi ....)

https://forum.pcsoft.fr/en-US/pcsoft.fr.windevmobile/29666-btle-fonctions-callback-precisions/read.awp

Je sais pas si vous avez essayé ?