IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Delphi Discussion :

Programmer une application Bluetooth pour Android et iOS


Sujet :

Delphi

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2016
    Messages : 16
    Par défaut Programmer une application Bluetooth pour Android et iOS
    Bonjour à tous!

    Je me présente, je suis un étudiant en dernière année en automation et dans mon stage je suis amené à utiliser Delphi dans le but de programmer une application Bluetooth pour android et IOS. Cependant, je n'ai que des connaissances en C et C# et mon maitre de stage me laisse gentiment baigner dans la soupe
    Cela fait une semaine que je recherche un peu sur google mais plusieurs problèmes se présentent et je commence à en avoir marre de rien comprendre. J'espère que vous pourrez m'aider!

    Voilà, j'aimerais créer une application fort simple : Envoyer des chaines de caractères par le biais d'un bouton en bluetooth pour que mon module bluetooth connecté a mon arduino puisse les traiter.
    Je bloque sur plusieurs problème...
    - J'ai lu que j'étais obligé d'utilisé le composant BluetoothLE étant donné qu'apple ne nous fournit pas les SDK nécessaire pour utiliser le Classic Bluetooth.
    - Je suis un débutant et je ne trouve nulle part un bon tuto ou on explique clairement comment créer une connexion Bluetooth et l'utiliser pour transférer des données. J'ai jeter un coup d'oeil aux applications exemple Bluetooth mais je ne comprends rien

    J'espère que vous pourrez m'aider à réussir mon stage !

    PS: Comme je suis nouveau, je ne sais pas si je suis dans le bon index, merci de me rediriger si besoin !

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 637
    Billets dans le blog
    65
    Par défaut
    Bonjour et Bienvenue,

    les mots clés delphi bluetooth sample et notre ami google nous propose d'entrée l'exemple proposé avec Delphi (XE8,XE10)

    Comme c'est de l'anglais voici un lien des fonctionnalités du Mardi (à partir de XE7) http://www.la-fonctionnalite-delphi-du-mardi.com/?p=40 Thierry Laborde donne un bon aperçu sur le sujet. Bon visionnage

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2016
    Messages : 16
    Par défaut
    Merci beaucoup pour la réponse !

    Je vais visionner tout cela en espérant résoudre mes problèmes!

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2016
    Messages : 16
    Par défaut
    Voila je viens de visionner la vidéo. Cependant j'aimerais me connecter à un module Bluetooth (module HC-06 connecté à mon arduino). Or en utilisant ce classic bluetooth sample ça ne marche pas. J'arrive à le trouver, à le "pair" mais le send text ne fonctionne pas... Pourquoi?
    - Est ce parce qu'il faut avoir cette application qui tourne sur les deux devices? (récepteur et émetteur)?
    - Problème de "serveur" ou je sais pas quoi?

    Pardonnez moi si je dis des grosses bêtises mais j'ai du mal à comprendre

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 025
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 025
    Par défaut Bluetooth
    Bonjour
    Je n'ai pas bien compris le problème ..
    mais sous Windows pour se connecter a un module HC-06 relié a une carte Arduino il suffit de se connecter sur le port série virtuel crée par le HC-06 lorsqu'il est pairé avec le PC (pour l'associer avec le PC rentrer le code pin du HC-06 : par défaut 1234)
    Pour dialoguer n'importe quel terminal série fera l'affaire et permettra de recevoir des caractères et d'en envoyer. Par exemple "Termite', "Termie" avec sources en c#, "Putty" également avec sources en C.
    Si tu dois développer un terminal Delphi tu peux utiliser le composant Comport (freeware) les exemples fournis sont pratiquement adaptés au problème.

    Après si la connexion entre le HC-06 doit s'effectuer avec un smartphone en Bluetooth et que tu dois développer en Delphi le programme Android ou Ios, pour t'éclaircir les idées tu peux utiliser pour commencer utiliser un des très nombreux terminaux Bluetooth disponibles sur Google Play. Comme il y en a des dizaines et des dizaines je t'en indique deux qui marchent sans problèmes avec le HC-06 et Android :
    "Blueterm" mode console uniquement et "Bluetooth spp pro" mode console et il a quelques boutons que tu peux programmer facilement (intitulé) et caractères envoyer quand tu cliques.
    Cela te permettra de valider le bon fonctionnement du HC-06.
    Ps : tous les logiciels cités sont gratuits.
    Bon courage

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2016
    Messages : 16
    Par défaut
    Merci pour ton aide mais j'avais déjà utilisé Blueterm pour vérifier le bon fonctionnement de mon module HC-06 ainsi que mon programme arduino.
    Cependant je suis obligé de réaliser ma propre application mobile qui devra tourner aussi bien sur IOS que sur Android... Donc je ne peux pas utiliser des logiciels déjà existants dans l'app store/google play store

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2016
    Messages : 16
    Par défaut
    Je vais essayer d'être plus clair.

    J'arrive à créer une application qui recherche les appareils bluetooth disponible et je peux les jumeler. Mais après je suis bloqué, je ne sais pas comment ni quoi coder dans Delphi pour que lorsque j'appuie sur un bouton il envoie "Bonjour": chaîne de caractères que j'aimerais pouvoir récupérer du coté de mon arduino par le biais de mon module bluetooth HC-06.

  8. #8
    Membre Expert

    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 025
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 025
    Par défaut Bluetooth
    Bonjour,

    Pour Delphi je ne peux pas te répondre puisque je n'ai que Delphi XE starter qui ne permetpas de développer pour IOS et Android par contre
    Est ce parce qu'il faut avoir cette application qui tourne sur les deux devices? (récepteur et émetteur)?
    - Problème de "serveur" ou je sais pas quoi?
    Je crois pouvoir te dire que l'application que tu développeras pour Android et IOS ne pourra pas marcher sur Arduino qui n'est qu'un microcontrôleur sans système d'exploitation (et donc sans Android ou IOS). Sur Arduino en reliant le HC-06 aux bornes de la liaison série (1 et 2 pour carte Arduino Uno ou broches de ton choix avec la Library softwareSerial ) coté Arduino tu recevras les caractères émis par le smartphone en Bluetooth sur la liaison série. C'est peut être quelque chose qui ne pose pas de problèmes mais a tout hasard je te mets des extraits de code

    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    #include <SoftwareSerial.h> 
     
    //------------- module BlueTooth
    #define RxD 8    //Pin 8 pour RX 
    #define TxD 9    //Pin 9 pour TX
    SoftwareSerial BTSerie(RxD, TxD); 
    String chaineReception = ""; // declare un objet String vide pour reception chaine liaison serie
     
    void setup()
    {
    ...
     // Configuration du bluetooth
      pinMode(RxD, INPUT);
      pinMode(TxD, OUTPUT);
       BTSerie.begin(9600); 
     
    void loop()
    {  if (BTSerie.available() > 0)
          chaineReceptionBT = BTSerie.readStringUntil('\n');  // '\n'= a newline character (ASCII 10,    '\r'= CR  ASCII 13, or )

    Mais ça c'est pas du Delphi le modérateur va me rappeler à l'ordre c'est du Arduino.
    En esperant que ces quelques informations pourront t'aider

  9. #9
    Membre Expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 55
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Par défaut
    Mais ça c'est pas du Delphi le modérateur va me rappeler à l'ordre c'est du Arduino.
    En esperant que ces quelques informations pourront t'aider
    L'EDI Rad Studio, c'est aussi du C++, on peut donc considérer que tu n'es pas hors-sujet

  10. #10
    Membre Expert

    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 025
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 025
    Par défaut
    @LadyWasky

    Bonjour,
    C'est gentil mais comme j'ai une version "low low -cost" j'ai un peu tendance à l'oublier.

    Merci a Roland Chastaing qui a rajouté les balises de code dans mon précédent messsage
    Promis la prochaine fois je ferai attention.

  11. #11
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2016
    Messages : 16
    Par défaut
    Merci Gaby277 pour tes réponses et ton code! Il est en effet plus optimisé que le mien!

    Mais j'ai déjà créer une application via MIT app inventor pour android qui a super bien fonctionné, donc coté µcontroller et module Bluetooth il n'y a aucun soucis. Cependant MIT app inventor est fort limité et mon maitre de stage m'oblige à utiliser EDI Delphi pour coder mon application

  12. #12
    Membre Expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 55
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Par défaut
    Pour envoyer "bonjour" avec le Bluetooth, tout le code est donné par le lien que ShailLeTroll à indiqué (le premier) : il y a un "Send Text to" qui se ballade sur la page indiqué et donc dans le code à télécharger.
    The Service demo TTabItem provides both server and client functionality for a simple text service
    Donc côté Delphi c'est réglé non ?

    Après, c'est du côté de l'Arduino d'avoir le code ad'hoc pour recevoir ce texte, si il n'y a pas ça côté Arduino, forcément que l'envoie du texte échoue, je sais pas.

  13. #13
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2016
    Messages : 16
    Par défaut
    Bonjour LadyWasky,

    Merci pour ta réponse mais je ne vois pas qui est "ShailLeTroll" ni son lien...?
    Pour la suite je suis désolé mais étant qu'un débutant je n'ai rien compris:
    - Que voulais tu expliquer avec cette phrase "The Service demo TTabItem provides both server and client functionality for a simple text service"?
    - Qu'est ce que c'est le code "ad'hoc"?

    Désolé si mes questions sont débiles

  14. #14
    Membre Expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 55
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Par défaut
    Pardon il s'agissait de SergioMaster, il te disais de regarder ici, ce que visiblement tu n'as pas fait, pas cool :
    http://docwiki.embarcadero.com/CodeE...uetooth_Sample

    Le code "adequat" ou le code "qu va bien" si tu préfères, c'est à dire dans le contexte un bout de code qui est censé recevoir (et afficher) du texte envoyé via Blutooth par ton application.

  15. #15
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2016
    Messages : 16
    Par défaut
    Si je suis allé le voir, j'ai même exécuter la sample "Classic Bluetooth" pour tester l'application. Elle fonctionne, mais toujours le même problème. J'arrive à faire un "Discover Device", a faire un "pair" à afficher ses services sans soucis. Mais dès que je fais "start text service" ou "send text to", ça ne fonctionne pas. J'ai également regardé dans la docwiki d'embarcadero tout ce qui parlait de bluetooth. Je suis aussi allé voir sur youtube des explications du sample "Bluetooth Classic" mais je pense que je n'ai pas les connaissances nécessaires pour comprendre ou alors dans ce que j'ai cherché, je ne trouve pas d'explication clair, nette, précise de comment connecté mon module à mon android device et envoyer un bête "bonjour".
    Je suis désespéré...
    J'ai réussi à créer une application semblable en 1h grace au logiciel MIT app inventor 2 mais malheureusement elle ne supporte pas le Bluetooth LE. Je suis obligé de le faire sous delphi pour mon réussir stage et aussi car il me permet, avec le même code, de compiler sur IOS.

    NB: Je dois utiliser le BluetoothLE et non le classic bluetooth mais je suppose que c'est fort semblable non?

  16. #16
    Membre Expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 55
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Par défaut
    Mais dès que je fais "start text service" ou "send text to", ça ne fonctionne pas.
    oui, mais de l'autre coté il te faut ton Arduino qui aie avant toute chose démarré un service pour réceptionner le texte ! Sinon, tu envoies vers du vide, vers un appareil qui n'a déclaré aucun service de réception de text, du coup ton appli Delphi te dis "bin non, c'est pas possible, mon texte, en face, il en veut pas parce qu'il ne sait pas faire.

    J'ai essayé sur mon casque bluetooth hier, pour voir ( et tu pense bien qu'un casque audio, à par luit envoyer un stream, "Bonjour", il ne connais pas

  17. #17
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 637
    Billets dans le blog
    65
    Par défaut
    Bonjour,
    Citation Envoyé par Ndy_Z Voir le message
    Je dois utiliser le BluetoothLE et non le classic bluetooth mais je suppose que c'est fort semblable non?
    Je n'en suis pas si sûr

    je remarque que la version de Delphi n'a pas été indiquée or Bluetooth LE n'a été implémenté, il me semble, que récemment soit les versions XE7 avec un ? XE8 et XE10 Seattle (c'est sûr pour ce dernier)

    en tout cas c'est faisable avec XE8 si j'en crois ceci

  18. #18
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2016
    Messages : 16
    Par défaut
    C'est bien ce qui me semblait, d'où mon message précédent ou je disais :
    "- Est ce parce qu'il faut avoir cette application qui tourne sur les deux devices? (récepteur et émetteur)?
    - Problème de "serveur" ou je sais pas quoi? "

    Du coté de mon arduino, ce n'est qu'un module bluetooth que je compte utiliser uniquement en récepteur. Comme vous le dites, j'envoie "vers du vide" mais comment créer cette connexion? Comment connecter mon module a mon application car la est le réel problème je pense. Avant de pouvoir envoyer quoique ce soit, je ne suis même pas connecté à mon module (je le sais car il y a une led rouge qui indique si je suis connecté ou non).

    En tout cas merci beaucoup pour le temps que vous me consacrez LadyWasky

  19. #19
    Membre Expert

    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 025
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 025
    Par défaut Delphi <-> Arduino en Bluetooth
    Bonjour,

    Coté Arduino comme je te l'ai indiqué et je me répète (une fois et ce sera la dernière) la réception BT se fait sur la liaison série du Arduino point barre.

    Je t'ai indiqué ce qui est le plus simple (avec un squelette de code c'est pas mon projet c'est le tien ) : envoyer et recevoir des strings, après tu peux travailler avec des char comme ça tu auras le plaisir de gérer les buffer réception et émission, d'utiliser des pointeurs etc.. mais en l'état a mon avis tu devrais attendre un peu ...

    Quel est ton code coté Arduino pour recevoir ?

    Ps : la led du HC-06 clignote lorsque le module est alimenté et passe au fixe quand il est connecté. Donc si la led n'est pas allumé au fixe le HC-06 ne recevra rien.

  20. #20
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2016
    Messages : 16
    Par défaut
    Bonjour Gaby277,

    Je sais que la liaison BT se fait par liaison série et je sais également comment fonctionne la LED de mon module. Mais ce que tu ne comprends pas c'est que mon problème ne vient pas du coté de mon arduino étant donné que mon programme fonctionne parfaitement avec, comme déjà cité plus haut, une application déjà créée grâce à MIT app inventor 2.
    Mon problème est que je n'arrive pas à établir une connexion avec mon module BT càd que ma LED reste clignotante et non stable. J'ai une vidéo pour le prouver mais je ne sais pas comment la joindre.

Discussions similaires

  1. Présentation de vos projets
    Par JEG dans le forum C++Builder
    Réponses: 40
    Dernier message: 26/06/2022, 12h22
  2. Libre parole (présentation et remerciements)
    Par sympatico dans le forum Sondages et Débats
    Réponses: 433
    Dernier message: 19/04/2022, 17h01
  3. Présentation des nouveautés de Java 5.0 Tiger (J2SE 1.5)
    Par christopheJ dans le forum Langage
    Réponses: 43
    Dernier message: 30/09/2007, 17h38
  4. [SWT][MVC] Comment séparer métier et présentation
    Par pyorg dans le forum SWT/JFace
    Réponses: 3
    Dernier message: 27/08/2004, 18h21
  5. Réponses: 2
    Dernier message: 03/10/2002, 17h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo