[Programmation] Connecter deux modules bluetooth entre eux
Répondre à la discussion
Affichage des résultats 1 à 27 sur 27

Connecter deux modules bluetooth entre eux



  1. #1
    invite416ab5bd

    Connecter deux modules bluetooth entre eux


    ------

    Bonjour !

    Je possède deux modules bluetooth ( http://www.gotronic.fr/art-module-bl...g010-21436.htm ) et deux arduino. Mon but est de connecter les deux modules entre eux pour ensuite envoyer un valeur issue d'un capteur d'une carte à l'autre.

    Pour l'instant mon problème est la connexion des deux modules entre eux. L'un doit être en maitre et l'autre en esclave. Pour cela je dois configurer les modules via les commandes AT.

    D'après la doc technique :

    The default communication baud rate is 9600, matching the password is 0000 or 1234
    Lights blinking when the search, When light means has been connected to the host device.


    AT command:
    Testing Communications
    Send: AT (return OK, one second left and right once)
    Returns: OK

    Bluetooth serial communication baud rate change
    Send: AT + BAUDI
    Returns: OK1200
    Send: AT + BAUD2
    Returns: OK2400

    BAUD1 --------- 1200
    BAUD2 --------- 2400
    BAUD 3 --------- 4800
    BAUD 4 --------- 9600
    BAUD 5 --------- 19200
    BAUD 6 --------- 38400
    BAUD 7 --------- 57600
    BAUD 8 --------- 115200
    BAUD 9 --------- 230400
    BAUD A --------- 460800
    BAUD B --------- 921600
    BAUD C --------- 1382400

    Interference causes system instability is not recommended for use in more than 115,200 baud. rateAfter setting more than 115,200 computer unusable , use in microcontroller programming using this baud rate higher than 115200 in order to
    Re-issue the AT command set low baud
    After the baud rate with AT command set , don’t need re- setting the baud rate the next time .
    It will saved after power off automatically.

    3 Bluetooth name change
    Send : AT + NAMEname
    Returns : OKsetname
    Parameter name: The name of the current to be set , the Bluetooth name is searched . Within 20 characters .

    For example: sending AT + NAMEdagu
    Return OKsetname
    At this time the name of the Bluetooth bill_gates
    Parameters can be powered down to save , simply modify one . PDA client refresh services can be seen after the change of the name of the Bluetooth

    4 Bluetooth pairing password change
    Send : AT + PINxxxx
    Returns : OKsetpin
    Parameter xxxx: pairing password to be set ,4 bytes.
    this command can be used slave or master . Machine is a phone adapter or pop-up window when asked to enter a passcode from the manual input of this parameter can be connected from the machine . Primary Bluetooth module search from the machine, if the password is correct , it is automatically paired , in addition to the main module from the module can be connected to the outer pair other products from the module contains the pair can be connected , for example, a digital camera containing Bluetooth , Bluetooth GPS, Bluetooth serial printers , and the like.

    For example: sending AT + PIN8888
    Return OKsetpin

    Then the Bluetooth passkey is 8888 . Parameters can be powered down to save , simply modify once.

    Cela devrait marcher. Cependant je n'arrive pas à envoyer une commande AT... Sur mon arduino j'ai essayé avec ce code (récupéré sur internet, j'ai juste changé la vitesse de transmission qui serait de 9600 pour mon module même en AT ) :

    Code:
    #include <SoftwareSerial.h>
    
    SoftwareSerial BTSerial(00, 01); // RX | TX
    
    void setup()
    {
      
      Serial.begin(9600);
      Serial.println("Enter AT commands:");
      BTSerial.begin(9600);  
    }
    
    void loop()
    {
    
      if (BTSerial.available())
        Serial.write(BTSerial.read());
    
      
      if (Serial.available())
        BTSerial.write(Serial.read());
    }
    Cependant je n'ai aucun retour dans le Moniteur série quand je rentre une commande...

    Comment résoudre ce problème ? Mon code arduino n'est pas le bon ? Mon câblage est vérifié, j'ai bien croisé tx et rx.

    Pour préciser, je n'ai quasiment aucune connaissance en électronique ou en programmation, merci d'avance pour votre aide !

    -----

  2. #2
    invite1d577638

    Re : Connecter deux modules bluetooth entre eux

    Ton code est un peu étrange... Il utilise une librairie pour créer un port série virtuel.

    Je n'ai pas la doc sous les yeux, mais j'ai l'impression que tu as tenté de créer un port série virtuel sur les mêmes broches que le port hard.

    Si tu veux juste tester des commandes AT, tu peux simplement faire un truc du genre :

    Code:
    void loop()
    {
    
        Serial.write("ATxxxx");
    
        delai une seconde  
    
    }
    Dans un premier temps pour valider le fonctionnement. Après si tu veux pouvoir entrer des commandes depuis un terminal, il faut effectivement rajouter un port série virtuel, mais en lui attribuant d'autres pins...

  3. #3
    invite416ab5bd

    Re : Connecter deux modules bluetooth entre eux

    Citation Envoyé par Yoruk Voir le message
    Ton code est un peu étrange... Il utilise une librairie pour créer un port série virtuel.

    Je n'ai pas la doc sous les yeux, mais j'ai l'impression que tu as tenté de créer un port série virtuel sur les mêmes broches que le port hard.

    Si tu veux juste tester des commandes AT, tu peux simplement faire un truc du genre :

    Code:
    void loop()
    {
    
        Serial.write("ATxxxx");
    
        delai une seconde  
    
    }
    Dans un premier temps pour valider le fonctionnement. Après si tu veux pouvoir entrer des commandes depuis un terminal, il faut effectivement rajouter un port série virtuel, mais en lui attribuant d'autres pins...
    Le problème c'est que je n'ai rien pour vérifier la bonne réception de la commande AT de cette manière alors que via le terminal, un réponse m'est retournée.

    La seule doc que j'ai est celle que j'ai citée dans mon message. Je n'ai pas vraiment compris la remarque à propos de la mise en place d'un port série virtuel. Comment le faire justement ?

    Merci de la réponse !

  4. #4
    invite1d577638

    Re : Connecter deux modules bluetooth entre eux

    Reprend la documentation du port série virtuel et associe-le à d'autres pins...!

  5. A voir en vidéo sur Futura
  6. #5
    invite416ab5bd

    Re : Connecter deux modules bluetooth entre eux

    J'ai donc essayé différents pins, sans résultats, avec ce code :

    Code:
    #include <SoftwareSerial.h>
     
    SoftwareSerial BTSerial(10, 11); // (RX, TX) 
     
    void setup()
    {
       
        Serial.begin(9600);
        Serial.println("Enter AT commands :");
        BTSerial.begin(9600);
    }
     
    void loop()
    {
        if (BTSerial.available()) 
            Serial.write(BTSerial.read());
        
        if (Serial.available()) 
            BTSerial.write(Serial.read());
        
        
    }

  7. #6
    invite1d577638

    Re : Connecter deux modules bluetooth entre eux

    Attention, ce module à l'air de fonctionner en 3v3, pas en TTL !

    Tu es sûr de tes branchements ?

  8. #7
    invite416ab5bd

    Re : Connecter deux modules bluetooth entre eux

    D'après la doc :
    Ce module Bluetooth 4.0 de Dagu permet d'ajouter une liaison Bluetooth sur vos projets à microcontrôleur (communication via série TTL).

    Alimentation: 3,3 à 6 Vcc (régulateur 3 Vcc intégré)
    Mes branchements ont l'air bons, il a que 4 pins, TX, RX, VCC et GND. J'avais testé 3V3 ou 5V, sans différences...

  9. #8
    invite1d577638

    Re : Connecter deux modules bluetooth entre eux

    Tu as bien une led qui clignote dessus ?

    Rassure moi, tu croises bien TX et RX ???

  10. #9
    invite416ab5bd

    Re : Connecter deux modules bluetooth entre eux

    Oui, il y a deux leds l'une est fixe ( témoin d’alimentation ) et l'autre clignote, elle passe au fixe lorsque le module est connecté ! Dans mon cas, elle clignote comme prévu.

    Bien sur, je croise RX et TX

  11. #10
    invite416ab5bd

    Re : Connecter deux modules bluetooth entre eux

    De plus, d'après la doc :
    Recherche et appariement automatiques lors de la mise sous tension
    Or, quand je met sous tension les deux modules ( chacun sur une arduino différente ) ils ne se connectent pas entre eux, il faut surement un programme sur les arduinos, lequel ? Connaissez vous des liens ? J'ai pas mal cherché, sans résultats.

  12. #11
    invite1d577638

    Re : Connecter deux modules bluetooth entre eux

    Il faut envoyer des codes pour régler l'appairage automatique (mot de passe identique, canal...)

    Mais avant ça, il faut réussir à les faire répondre aux sollicitations, si ça ne marche pas, le reste ne fonctionnera pas...!

    J'ai un module similaire, mais qui travaille exclusivement en 3v3. Certes je peux l'alimenter en 5v (il y a un régulateur de tension) mais j'utilise un convertisseur de niveau pour ne pas le flinguer avec des niveaux TTL sur la liaison série.

    Tu utilise quoi comme cartes arduino ?

  13. #12
    invite416ab5bd

    Re : Connecter deux modules bluetooth entre eux

    J'utilise des cartes arduino UNO. Je vais l'alimenter en 3V3 au final de toutes façon.

    J'ai essayé plusieurs pins, 2;3 10;11 etc, sans résultats...

  14. #13
    invite1d577638

    Re : Connecter deux modules bluetooth entre eux

    C'est pas l'alimentation du chip en lui-même, mais bien le niveau de la liaison série qu'il faut baisser. Sur tes UNO, c'est du TTL (niveau 5v). Et sur mon module, ce n'est pas du TTL mais du 3v3 !! Et mettre du 5v sur une broche qui n'en attend que 3.3...?

  15. #14
    invite416ab5bd

    Re : Connecter deux modules bluetooth entre eux

    J'ai essayé en 3V3, cela n'a rien changé.

    Je ne pense pas que le fait de l'avoir branché en 5V au début l'ai endommagé, il est bien indiqué qu'il peut être alimenté jusqu’à 6V, de plus sur le module on peut lire ceci :
    Nom : 7145234(1).jpg
Affichages : 745
Taille : 8,6 Ko

  16. #15
    invite1d577638

    Re : Connecter deux modules bluetooth entre eux

    Encore une fois, la tension d'alimentation est complètement différente de la tension de la liaison série !!!
    Je suppose que tu n'as pas d'adaptateur de niveau ?

    Il y a des leds d'activité de la liaison série sur le module ?

  17. #16
    invite1d577638

    Re : Connecter deux modules bluetooth entre eux

    Solution ultime : connecte ton module bluetooth sur les pins 0 et 1 de la UNO, dont tu auras retiré le 328p.

    Utilise ensuite la console de l'IDE pour envoyer tes commandes AT...!

  18. #17
    invite416ab5bd

    Re : Connecter deux modules bluetooth entre eux

    Alors, je n'ai pas d'adaptateur de niveau (je travaille avec le matériel de mon lycée donc j'ai pas mal de ressources sinon) par contre, avec un voltmètre, on voit bien que la sortie de la liaison série est en 5V, avec un pont diviseur de tension je l'ai abaissée à 3V3, mais aucun résultat...

    J'ai même essaye sans le 328p du coup et même comme ça cela ne marche pas !

    J'ai deux module, et aucune différence entre les deux, donc ça serait étonnant que le problème vienne du module, j'ai essayé avec plusieurs arduino etc, toujours pareil

  19. #18
    invite1d577638

    Re : Connecter deux modules bluetooth entre eux

    Citation Envoyé par Shantorian Voir le message
    par contre, avec un voltmètre, on voit bien que la sortie de la liaison série est en 5V,
    Il est impossible de quantifier le niveau d'une liaison série avec un voltmètre. Il faut un oscillo.

    Tu as placé ton diviseur sur quel signal ?

    Si tu as un oscillo, vérifie que tu as bien du signal sur la ligne Arduino -> Module quand tu envoies une commande. Et vérifie aussi le RX.

  20. #19
    invite416ab5bd

    Re : Connecter deux modules bluetooth entre eux

    J'ai placé le pont diviseur sur RX et TX. Je n'ai pas d'oscilloscope sous la main maintenant.

    Je trouve cela étrange que cela soit aussi difficile de mettre en place un simple module bluetooth. J'y passe des heures

  21. #20
    invite416ab5bd

    Re : Connecter deux modules bluetooth entre eux

    Normalement c'est cette méthode qui devrait être la bonne, car normalement mon module devrait s’appelle Linvor aussi d'après d'autres utilisateurs...

    http://forum.arduino.cc/index.php?topic=107547.0


    Mais seulement non... Je ne comprends pas :')

  22. #21
    invite1d577638

    Re : Connecter deux modules bluetooth entre eux

    Tu as théoriquement besoin d'un pont diviseur uniquement dans le sens Arduino TX -> module RX. Dans l'autre sens, tu balances des niveaux 3v3 alors que la arduino en attends 5, du coup si tu diminues encore, c'est sûr que ça ne va pas marcher.

    Met un coup d'oscillo sur les lignes dès que possible... ça peut être un problème d'impédance.... Et ça permettra d'isoler le problème.

  23. #22
    paulfjujo

    Re : Connecter deux modules bluetooth entre eux

    bonjour,

    J'ai deux module, et aucune différence entre les deux,

    Justement, il devrait y en avoir une !

    Un module MAITRE et un module ESCLAVE .

    exemple ICI

    avec un module BT RN41 et un module BT HC06 (linvor)

    attention au models livrés par RPC (Chine) et PUB mensongere sur le modele presenté (toujours sans doc tech. d'ailleur)
    soit disant MAITRE-ESCLAVE et seulement ESCLAVE en réalité.. car moins cher ?
    Dernière modification par paulfjujo ; 28/03/2016 à 17h23.

  24. #23
    freepicbasic

    Re : Connecter deux modules bluetooth entre eux

    Attention !

    Certains modules ne fonctionnent pas en mode Master malgré les commandes AT .

    Par exemple;
    Le module HC-06 ne fait pas le mode master alors que le HC-05 lui le fait.
    De visu, ils sont identiques ...
    A+, pat

  25. #24
    invite416ab5bd

    Re : Connecter deux modules bluetooth entre eux

    Citation Envoyé par paulfjujo Voir le message
    bonjour,




    Justement, il devrait y en avoir une !

    Un module MAITRE et un module ESCLAVE .

    exemple ICI

    avec un module BT RN41 et un module BT HC06 (linvor)

    attention au models livrés par RPC (Chine) et PUB mensongere sur le modele presenté (toujours sans doc tech. d'ailleur)
    soit disant MAITRE-ESCLAVE et seulement ESCLAVE en réalité.. car moins cher ?
    Attention !

    Certains modules ne fonctionnent pas en mode Master malgré les commandes AT .

    Par exemple;
    Le module HC-06 ne fait pas le mode master alors que le HC-05 lui le fait.
    De visu, ils sont identiques ...

    Merci de vos réponses !

    Certes, cependant quand bien même j'aurais deux esclaves ( j'ai d'autres modules je vais tester dès aujourd'hui ) je devrais quand même pouvoir accéder aux commandes AT or ici, ce n'est pas les cas...

  26. #25
    invite1d577638

    Re : Connecter deux modules bluetooth entre eux

    ...donc oscillo pour lever le doute sur l'origine du problème.

  27. #26
    invite416ab5bd

    Re : Connecter deux modules bluetooth entre eux

    Alors avec oscilloscope, j'ai relié les sorties rx;tx du module et de l'arduino. Je savais pas ce que je devais faire exactement alors je vais expliquer ce que j'ai fais, sans savoir si c'est bon et si ça m'aide.. Si jamais ce n'est pas le cas, quelle est la manip avec l'oscillo ?

    Je travaillais avec ce code sur l'arduino :
    Code:
    #include <SoftwareSerial.h>
     
    SoftwareSerial BTSerial(10, 11); // (RX, TX) 
     
    void setup()
    {
       
        Serial.begin(9600);
        Serial.println("Enter AT commands :");
        BTSerial.begin(9600);
    }
     
    void loop()
    {
        if (BTSerial.available()) 
            Serial.write(BTSerial.read());
        
        if (Serial.available()) 
            BTSerial.write(Serial.read());
        
        
    }
    Ici, "Channel 1" correspond au RX venant du module et "Chanel 2" au TX venant du module. On voit deux tensions différentes.
    526556DS0002.png


    Et là, "Channel 1" correspond au RX (pin10) de l'arduino et "Channel 2" au TX (pin11). ( J'ai la même chose sur les pins 0 et 1 )

    fs2.png

    En abaissant la tension à 3V3 : (Je n'ai aucune idée de pourquoi le premier canal est à 3V et pas à 3V3, j'ai fait le même pont diviseur...

    fs3.png
    Dernière modification par Antoane ; 07/04/2016 à 13h19. Motif: Rapatriement des PJ sur le serveur

  28. #27
    paulfjujo

    Re : Connecter deux modules bluetooth entre eux

    bonjour,


    s'il ne veut pas repondre à une commande AT
    la solution ultime
    déja testé OK personnellement...

Discussions similaires

  1. Compréhension du protocole bluetooth appliqué aux modules bluetooth
    Par invite7808af07 dans le forum Électronique
    Réponses: 13
    Dernier message: 02/03/2015, 14h27
  2. communication entre deux modules XBee
    Par invite0bfac504 dans le forum Électronique
    Réponses: 16
    Dernier message: 29/03/2013, 17h03
  3. Comment connecter deux ordinateurs entre eux?
    Par invitea9f6b401 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 6
    Dernier message: 13/01/2011, 23h17
  4. connecter deux portables entre eux
    Par 436937 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 3
    Dernier message: 20/06/2010, 17h53
  5. Comment connecter deux PC entre eux ??
    Par invite4ea83d95 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 1
    Dernier message: 13/01/2004, 17h18
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...