Go Down

Topic: configuration mode AT hc05  (Read 424 times) previous topic - next topic

moijerem

May 19, 2017, 08:20 pm Last Edit: May 19, 2017, 08:21 pm by moijerem
bonjour , tout d abord je ne m occupe pas de la partis software du projet mais simplement de l électronique
nous avons un arduino pro mini qui a sur c est broche un module hc05
les deux module dialogue via la voie série ftdi

j aimerais connaitre la procédure pour pouvoir modifier les paramètres du hc05 j arrive a le faire en direct si je connecte mon ftdi a un module hc05 en le basculant en mode AT mais j aimerais pouvoir le faire depuis le port ftdi crée sur des broche du pro mini si joint la photo

le but serait via une commande envoyer a l arduino le reset du hc05 en le basculant en mode at  et l envoi de donnée stoker dans le code pour le mots de passe le nom et le borate

dite moi si déjà le câblage vous semble correct ? et fonctionnel
Pour faire simple tout le reste et fonctionnel mais on cherche un moyen de pouvoir configurer le module hc05 a distance pour avoir le possibilité de changer le mots de passe et le nom
Merci a vous car on ne parvient pas a réglé ce problème

trimarco232

Bonjour,

il y a une petite confusion dans ton exposé, en fait :

- ftdi = fabriquant d'une interface permettant de raccorder l'usb à une liaison série :
pc_usb --- ftdi <-> (module quelconque utilisant une) liaison série

- liaison série : liaison dérivant du standart rs232, caractérisée notamment par un fil rx, un fil tx et une vitesse de transmission. Elle permet à 2 modules de communiquer entre eux. Note que le tx d'un module émet vers le rx de l'autre et réciproquement. Il est bien de les repérer sur le schéma des modules


les différents cas de figure (liaison série : <->) :
1) programmation voire utilisation du hc05 depuis le pc :
pc_usb----ftdi <-> hc05
2) programmation voire utilisation de l'arduino  pro mini depuis le pc :
( je crois deviner qu'il s'agit d'un pro mini )
pc_usb----ftdi <-> pro mini
3) ce que je pense que tu veux faire :
pc_usb----ftdi <->  pro mini <-> hc05


le cas des rst (reset) :
dans tous les cas ici les liaisons séries sont complétées par un fil servant au reset du module aval

pc_usb----ftdi <-> micro pro : ici le 3ème fil sert au reset du micro pro, le but étant de le mettre en mode bootloader afin de pouvoir lui téléverser le squetch. Il est pratique que le module de conversion usb---série, ftdi ou autre, comporte ce 3ème fil dédié au reset des micro pro

micro pro <-> hc05 : ici le 3ème fil sert au reset du hc05, le but étant de le mettre en mode AT afin de pouvoir le configurer à sa guise


le cas des liaisons séries du pro mini :
il n'en comporte qu'une. La 2ème doit être réalisée par software serial sur 2 IO quelconques
généralement on garde la liaison série vers l'usb et on créé une liaison série software serial vers le hc05


le cas des gnd :
pour permettre le retour des courants utilisés dans les liaisons séries les gnd des différents modules doivent être interconnectés. Ce raccordement manque au niveau du pro mini



moijerem

#2
May 20, 2017, 11:04 am Last Edit: May 20, 2017, 11:24 am by moijerem
bonjour merci pour cette réponse . Je confirme que l arduino et bien sur la même masse que les autre équipement
 
notre projet actuelle fonctionne quand je me connecte au hc05 avec le BT du pc je dialogue avec le code présent dans l arduino recuperation des info dans le moniteur série  ( je peut uploader le sketch via le BT ) tout cela c est ok par contre ce que l on cherche c est pouvoir modifier les paramètres du hc 05 a distance :/ a tu une idée
quite a rentrée dans cette configuration
pc_usb----ftdi <->  pro mini <-> hc05
Mais le top serait en sans fils
lors du reset de l arduino pour le basculement du hc 05 en mode at broche 5 au niveaux haut .
Vue que tout les équipement reset en même temps je pense ne pas avoir le choix que d utiliser un timer genre ne555 tu en pense quoi ? ou un condo ? pour que le broche reste alimenté le temps du reboot ?

Si tu a une autre idée qui peut me permettre de configurer le module hc05 je suis preneur :)

a distance cela devient complique car le hc05 et en mode at donc plus de dialogue le top serait que l on stock les info dans eeprom de l arduino
sequence de redémarrage basculement du hc05 en mode aT lors du reset puis l arduino envoi les modification puis redémarre le hc05 sans le basculer en mode at
Dans la logique cela peut fonctionné ?

trimarco232



Quote
quand je me connecte au hc05 avec le BT du pc je dialogue avec le code présent dans l'arduino récupération des info dans le moniteur série  ( je peut uploader le sketch via le BT ) tout cela c est ok par contre ce que l on cherche c est pouvoir modifier les paramètres du hc 05 a distance
alors là, 90% du travail est fait (même si je ne vois pas comment tu passes du mode communication vers le mode bootloader)

il faut voir que pour accéder aux commandes AT, le module BT ne doit pas (plus) être couplé avec le PC :
on pourrait toujours faire un reset du module BT, le forçant ainsi à se découpler ...
... mais côté PC la manœuvre risque d'être mal venue ...
-> dans l'hypothèse où le module serait en maître, donc le côté PC en esclave, le module pourrait prendre l'initiative de découpler et coupler à sa guise, mais je suis creux -> sur ce sujet précis






moijerem

#4
May 20, 2017, 11:16 pm Last Edit: May 20, 2017, 11:17 pm by moijerem
alors le mode mode bootloader c est le hc05 qui reset le pro mini lors de l envoi du sketch

en gros je veut crée un port virtuelle ftdi sur l arduino qui me permettre d écrire directement le hc05 comme si il n y avait pas de pro mini entre les deux

le sketch que mon amis a commence a créé qui ne fonctionne pas
bon j avait remarque que le hc05 ne rentre pas en mode at donc j ai directement place 3v3 a la borne 34 lors du redémarrage ( il bascule donc bien en mode at ) ce problème sera réglée avec le ne555 car comme les deux appareil reboot forcement en même temps le hc05 ne peut avoir une tension sur la broche 34 comme c est l arduino qui lui fournit
avant le reboot l arduino envoi une impulsion sur mon ne555 qui lui maintient 3v3 a la broche 34 pendant 8 sec l arduino et le hc05 on bien redémarre ( le hc05 et bien en mode at )
mais lorsque mon ftdi et connecte au port virtuelle crée sur les broche 6 et 7 et que je lance les commande at rien ne ce passe aucune réponse si jamais voici le code :)
encore un grand merci
Code: [Select]
#include <SoftwareSerial.h>

#define bt_power 4
#define bt_key_power 5
#define indication_led 13
#define FTDI_CONNECT 8
#define FTDI_TXD 6
#define FTDI_RXD 7

SoftwareSerial BT(FTDI_RXD, FTDI_TXD); // RX | TX

void setup()
{
  // set the pins to OUTPUT
  pinMode(bt_power, OUTPUT); 
  pinMode(bt_key_power, OUTPUT);
  pinMode(indication_led, OUTPUT);
  pinMode(FTDI_CONNECT, INPUT);
 
  if(digitalRead(FTDI_CONNECT) == HIGH)
  {
    // set the pins to LOW
    digitalWrite(bt_power, LOW);
    digitalWrite(bt_key_power, LOW);
    digitalWrite(indication_led, LOW);
   
    /************************************************
    Setting the pins to low is important because
    in order for us to get into AT mode the key pin
    has to be set to Ground FIRST. Many tutorials out
    there fail to mention this important fact and
    therefore many people have problems with getting
    into the AT mode of the HC-05
    ************************************************/
   
    // make sure the key has been LOW for a bit
    delay(1000);
   
    // set the key pin to High
    digitalWrite(bt_key_power, HIGH);
   
    // small delay
    delay(100);
   
    // now power on the BT
    digitalWrite(bt_power, LOW);
   
    // start our serial so we can send and recieve
    // information from the BT module
    Serial.begin(9600);
    // initiate the BT serial at 38400 which is the default
    // speed at which the BT AT mode operates at
    BT.begin(38400);
   
    // self explanatory
    Serial.write("For a list of commands, visit: \n");
    Serial.write("Type AT commands  \n\n");
   
    // process complete turn on led 13
    digitalWrite(indication_led, HIGH);
   
    // Send an "AT" command to the AT (without quotes)
    // if response is OK, then we are connected
    // and ready to program the BT module
  }
}

void loop()
{

  // listen for a response from the HC-05 and write it to the serial monitor
  if (BT.available())
    Serial.write(BT.read());

  // listen for user input and send it to the HC-05
  if (Serial.available())
    BT.write(Serial.read());
   
}

trimarco232

Quote
alors le mode mode bootloader c est le hc05 qui reset le pro mini lors de l envoi du sketch
c'est avant le téléversement que le reset de l'arduino doit être effectué : quelle méthode utilises-tu pour effectuer ce reset ?

moijerem

ma broche 30 vient reset mon arduino dans l autre code
dans le code que je tes envoyé il et minimaliste c est juste pour la partis configuration du mode AT

trimarco232

Quote
ma broche 30 vient reset mon arduino dans l autre code
Bonjour,
désolé, cela ne me permets pas de comprendre le principe,
peux-tu reprendre l'explication en détaillant un maximum ?
merci !

moijerem

Comme ce n est pas moi qui et crée le code j ai du mal a te l expliquer si tu veut quand tu branche un ftdi
la broche dtr vient reset l arduino puis le ftdi upload le code
dit toi que sur le hc05 la broche 30 fait la même chose que le broche dtr puis le code et televersser via le hc05

ce que je cherche juste c est via un programme arduino

configurer automatiquement le mode at

arduino passe la broche  5 en états hauts  ce qui déclenche un timer grâce a un ne555 qui maintien sur la broche 34 du hc05a 3v3 l arduino reset le hc05 avec la broche 4 qui a pour effet de court circuite l alimentation du régulateur le hc05 redémarre en mode AT

et c est la ou l on bloque

trimarco232

Quote
dis-toi que sur le hc05 la broche 30 fait la même chose que la broche dtr puis le code se téléverse via le hc05
ok, intéressant !

Quote
ce qui déclenche un timer grâce a un ne555
le condensateur de 1µF


Quote
le hc05 redémarre en mode AT, et c'est la où l'on bloque
dans cette situation l'arduino peut envoyer des commandes AT au HC-05
note que l'arduino devra :
- soit alors se débrouiller seul car il sera fatalement coupé de la console à laquelle il est relié par le hc-05
- soit recevoir ses instructions par une autre console via le convertisseur usb-série (ftdi) et les interpréter pour générer les commandes AT correspondantes


est-ce cela ?
peux-tu me donner une description :
- de la console reliée au hc-05 ?
- de la console reliée au ftdi ?

moijerem

#10
May 21, 2017, 11:51 pm Last Edit: May 21, 2017, 11:57 pm by moijerem
Le timer n est pas présent sur ce schéma je te le poste demain :)

Le top serait que notre programme boucle pour le test on peut imaginer que le programme c est un simple blink
On ce connecte au hc05
Le programme blink boucle toujours

Puis on décide de modifier le Bt on envoi donc une commande ( exemple) :
Initatmode
L arduino stop le programme et ce prépare a enregistré les données dans l eeprom
On lui donne le nouveaux nom puis le mots de passe
Il les enregistre puis reboot le hc05 tout en le basculant en le mode at
Donc dans l ordre ce serait
Impulsion d un signal 5v ( durée 3sec ) sur la broche 5 ( effet déclenchement du timer donc maintient d une tension sur la broche permettant au hc05 de passe en mode at )
puis impulsion sur la broche 4 qui reboot le hc05
Résultat le hc05 et en mode at et l arduino
lui envoi les commande tout en vérifiant que tout ce déroulé bien puis il reboot de nouveaux le hc05 sans déclenché le timer
J espère avoir étais précis par contre je peut fournir les commande a envoyé ;)
Merci encore pour ton aide c est sympa

trimarco232

je ne comprends pas l'intérêt de toute ce montage pour effectuer le reset du HC-05 : une impulsion de durée convenable générée directement par l'arduino sur la broche reset du HC-05 suffit !

moijerem

il a le reset de l alimentation mais aussi le basculement en mode at pour cela il faut maintenir la broche 34 avec une alimentation de 3v3

trimarco232

0) ↑ rst HC-05
0) ↓ key HC05 (broche 34)

1) ↓ rst HC-05 : réset
2) ↑ key HC05 (broche 34) : préparation mode AT
3) ↑ rst HC-0 : tu es en mode AT


-> tu génères ces 2 signaux avec l'arduino : pas besoin d'agir sur l'alim ou d'ajouter de composants suplémentaires

moijerem

#14
May 22, 2017, 06:07 pm Last Edit: May 22, 2017, 06:08 pm by moijerem
oui je me suis rendu compte j ai fais la modification électronique :)
reste a generé le code correct :/

et a la fin de la configuration du mode at on reset de nouveaux le hc05 sans alimentation sur la broche 34

Go Up