| |
Posté le 18 décembre 2017 - 16:40 |
Bonjour,
Apres multiples essais sur les fonctions BTLEConnecte(<Périphérique> , <Procédure WLangage>) et BTLEEtatConnexion(<Nom de la procédure>), je n'arrive pas à les faire fonctionner correctement, c'est-à-dire, D'abord BTLEConnecte fonctionne bien sans la fonction de callback, par contre si je fais :
BTLEConnecte(Periph,CallbackConnexionBTLE)
Procedure CallbackConnexionBTLE(Periph,Resultat) SI Resultat ALORS ToastAffiche("Connexion réussie") SINON ToastAffiche("Connexion échouée") FIN
Aucune connexion n'est faite, la procédure de callback n'est jamais appellée ... Peut-etre que les toasts ne peuvent pas etre appellé depuis une fonction de callback (modification de l'UI via thread secondaire impossible) ? Quelqu'un a réussi à la faire fonctionner ?
Ensuite, BTLEEtatConnexion, pareil, fonctionne parfaitement sans le callback mais avec :
BTLEEtatConnexion(CallbackEtatConnexion)
(A noter que je ne suis pas sur de à quel moment appeller cette fonction, j'ai essayé avant et apres la connexion, dans les deux cas le résultat est le meme)
Procedure CallbackEtatConnexion(Periph,EtatConnexion) SELON EtatConnexion CAS btleEtatConnecté ToastAffiche("Connecté") CAS btleEtatDéconnecté SI BTLEEtat() = btActif ToastAffiche("Perte de connexion") FIN FIN
Ici, les résultats sont un peu bizarre, des fois la procédure de callback me renvoie un etat connecté alors que le bluetooth est désactivé ???????? Des fois les cas connecté et déconnecté sont inversés ... Peut-etre que je n'appelle pas la fonction au bon moment ?
Merci de vos réponses ! |
| |
| |
| | | |
|
| | |
| |
Posté le 18 décembre 2017 - 17:19 |
Comment est initialisé la variable Periph ? |
| |
| |
| | | |
|
| | |
| |
Posté le 19 décembre 2017 - 08:48 |
BTLEInitialise(InitBTLE)
PROCEDURE INTERNE InitBTLE(nEtat est un entier) SELON nEtat CAS btActif BTLEListePériphérique(ProcDétectePériph,60s) CAS btDésactivé ToastAffiche("Veuillez activer le Bluetooth",toastCourt) FIN FIN PROCEDURE INTERNE ProcDétectePériph(Periph,signal) ... |
| |
| |
| | | |
|
| | |
| |
Posté le 02 janvier 2018 - 10:43 |
Je relance le sujet n'ayant aucune amélioration ...
Personne n'utilise BTLE ? |
| |
| |
| | | |
|
| | |
| |
Posté le 05 février 2018 - 10:48 |
| |
| |
| | | |
|
| | |
| |
Posté le 29 juin 2018 - 15:12 |
Bonjour,
J'ai le même problème. On n'entre jamais dans la procédure de call back, suite à l'utilisation de BTLEconnecte. En fait la connexion réussit , je le vois sur le périphérique, mais on ne va pas activer la call back
Pour moi, c'est un bug.
Une solution a-t-elle été trouvée ?
Laurent |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 27 messages |
|
Posté le 07 août 2019 - 13:30 |
Bonjour,
j'ai le même problème avec une call back de l'exemple "WM Blueotooth4" la procédure de call back CB_ChangementValeur n'est jamais activée
BTLECaractéristiqueChangementValeur(caracteristique,CB_ChangementValeur)
Vous avez pu régler votre problème ?
Cordialement Laurent
-- Laurent |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 603 messages Popularité : +64 (70 votes) |
|
Posté le 09 août 2019 - 08:20 |
Bonjour Laurent,
J'ai un problème similaire avec les balises Beacon sur Android (Bluetooth Low Energy) :
BeaconDétectePrécis(groupeMusée, ProcDétection) PROCÉDURE INTERNE ProcDétection(tabInfo est un tableau de beaconInfoDétection)
Cette procédure interne ne fonctionne pas dans certaines applications complexes mais uniquement sur certaines versions d'Android, alors que le même code dans une application simple fonctionne (déjà signalé dans le forum).
Peux-tu tester ton appli sur un ancien matériel Android version 5? Par contre le code d'A-B plus haut avec deux procédures internes me laisse perplexe.
-- Cordialement François |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 36 messages Popularité : +1 (1 vote) |
|
Posté le 16 septembre 2019 - 17:53 |
Bonjour,
Ca fait 2 mois que je suis sur le même sujet et j'ai une solution. Il faut que les procédures soit GLOBALE et non interne. L'autre problème pour mon cas est que le téléphone ne doit pas être en veille (écran pas éteint) sinon la procédure callback répond de façon aléatoire.
Voilà voilà |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 603 messages Popularité : +64 (70 votes) |
|
Posté le 18 septembre 2019 - 11:43 |
Bonjour Sylvain,
Je vais tester ceci.
Juste une question : est-ce que BTLEConnecte(Periph,CallbackConnexionBTLE) doit être dans une procédure globale ou c'est bien les procédures internes comme PROCEDURE INTERNE InitBTLE(nEtat est un entier) qui doivent être réécrites en procédures globales? Est-ce que cela fonctionne dans ce cas ?
Merci cela fait aussi très longtemps que je n'ai aucune solution. A mon avis ces procédures internes lancent des threads mais qui ne sont pas exploitables dans certains projets pour des raisons inconnues ou non exploitables selon les versions d'Android.
-- Cordialement François |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 603 messages Popularité : +64 (70 votes) |
|
Posté le 20 septembre 2019 - 15:23 |
Bonjour Sylvain,
G E N I A L
Cela fonctionne aussi pour les fonctions Beacon en Bluetooth ! Des mois de recherches, je comprends tout à fait !
PS : j'affiche les valeurs des Beacon Bluetooth par toastaffiche. Lorsque je coupe mon téléphone (écran éteint) et que je le rallume avec mon mot de passe, mes valeurs continuent de s'afficher alors que l'appli n'est plus visible. Mais cela dépend peut-être du matériel ou de la version d'Android. En Android 9, no souci!
-- Cordialement François |
| |
| |
| | | |
|
| | |
| |
Posté le 01 décembre 2020 - 13:37 |
Bonjour François, pour ma part, je n'ai pas abouti. j'ai même dû laisser tomber un temps ce projet à caractère éducatif certes. j'ai mis en procédure globale la call back (et même la procédure d'appel pour le cas où) Cela avait régle mon problème de BTLEConnecte mais pas celui de la call back CB_ChangementValeur de BTLECaractéristiqueChangementValeur(caracteristique,CB_ChangementValeur) qui n'est jamais appelée. Ai-je oublié quelque chose ?
Je suis sur Android 8, j'ai essayé android 6. Rien ne change Laurent |
| |
| |
| | | |
|
| | |
| |
Posté le 14 décembre 2020 - 16:55 |
Bonjour
J'ai ce problème avec BTLECaractéristiqueChangementValeur qui active/désactive les indications/notifications
Le problème n'est pas résolu par une mise en procédure générale de la call back. Vous avez utilisé cette fonction ? Cela fonctionnait ? Cordialement Laurent |
| |
| |
| | | |
|
| | |