Buongiorno,
Provo ad inviare dei comandi AT al mio modulo Bluetooth HC-06 utilizzando il seguente sketch:
#include <SoftwareSerial.h>
int times;
int rxPin = 3;
int txPin = 2;
SoftwareSerial hc06(rxPin, txPin);
String message; //string that stores the incoming message
char ch;
void setup()
{
Serial.begin(9600); //set baud rate
hc06.begin(9600); //set baud rate
}
void loop() {
// put your main code here, to run repeatedly:
if(Serial.available())
{
ch = Serial.read();
hc06.write(ch);
Serial.write(ch);
}
if(hc06.available())
{
Serial.write(hc06.read());
}
}
Ma non ricevo mai nessuna risposta ai miei comandi AT.
Ovviamente se provo a rinominare il dispositivo, inviando il comando
AT+NAMESopwithCamel
il dispositivo stesso mi viene visto, ad esempio dal mio smartphone, non più come HC-06 ma,bensì, come 'SopwithCamel'; solo che non ricevo nessuna risposta dal dispositivo stesso; non ricevo per esempio la stringa OK oppure non ricevo nessuna risposta al comando
AT+NAME.
Ho provato lo stesso, identico codice, con un modulo HC-05 e tutto funziona regolarmente.
Come mai ?
Ogni aiuto, suggerimento etc. sarà ampiamente apprezzato.
Rammento a tutti che le modalità di entrata in "Command Mode" (AT) per gli HC-06 e HC-05 sono completamnete diverse ed i baud rate variabili ...
Comniciamo da HC-06:
The way to the AT command mode: supply power to the module, it will enter to the AT mode if it needn’t pair. The interval of command is about 1 second.
Default parameter: Baud rate:9600N81, ID: linvor, Password:1234
Test communication:
Send: AT (please send it every second)
Back: OK
... quindi, appena data l'alimentazione, il HC-06 entra in modalità AT, aspetta un secondo e, se NON riceve "AT ..." esce da detta modalità. Non solo, è chiaramete indicato che per tenerlo in modalità AT occorre continuare a mandare comandi AT entro 1 secondo. La velocità è 9600 di default, ma può essere cambiata con gli appositi comandi.
Passiamo al HC-05:
Way 1:
Step 1: Input low level to PIN34.
Step 2: Supply power to the module.
Step 3: Input high level to the PIN34.
Then the module will enter to AT mode. The baud rate is assame as the communication time, such as 9600 etc.
Way 2:
Step 1: Connect PIN34 to the power supply PIN.
Step 2: Supply power to module (the PIN34 is also supplied with high level since the PIN34 is connected with power supply PIN).
Then the module will enter to AT module. But at this time, the baud rate is 38400. In this way, user should change the baud rate at the AT mode, if they forget the communication baud rate.
How to get to the communication mode:
Step 1: Input low level to PIN34.
Step 2: Supply power to the module. Then the module will enter to communication mode. It can be used for pairing.
Come vedete anche il HC-05 può andate in modalità comandi (AT) a velocità diversa dai fissi 38400 in funzione di come lo si manda in modalità comandi.
ho lo stesso problema di deltaelectronics...come ti spieghi che inviando il comando "AT+NAME" in qualsiasi momento dopo che i modulini hc06 sono alimentati, vengono sempre accettati con risposta "OKsetname"dal modulo a seriale arduino, ma invece non esiste possibilita' di inviare altri comandi AT tramite la seriale di qualsiasi arduino, come per esempio il cambio del pin??...altra cosa strana che non comprendo e' che con 3 moduli simili avviene la stessa cosa...........es: con blynk li individuo come moduli bluetooht (con il nome cambiato) ma non mi accetta la connessione con android?
Grazie per gentile risposta!
Aldo
>rompipelotas: essendo il tuo primo post nella sezione Italiana del forum, nel rispetto del regolamento di detta sezione (… punto 13, primo capoverso), ti chiedo cortesemente di presentartiIN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione il su citato REGOLAMENTO ... Grazie.
ok ....post 7 letto!!... e letto altri 50 post in merito....ora ho capito che gli hc06 non possono essere impiegati al posto degli hc05 , sono solo in modalita' slave. per l'uso con l'app Blynk non funzionano!
grazie ancora Guglielmo!!
rompipelotas:
ok ....post 7 letto!!... e letto altri 50 post in merito....ora ho capito che gli hc06 non possono essere impiegati al posto degli hc05 , sono solo in modalita' slave. per l'uso con l'app Blynk non funzionano!
Difatti NON ho mai capito quelli che comprano gli HC-06 ...
... costano praticamente come gli HC-05, ma ci si precludono un sacco di possibilità :
Perché all'inizio, quando compri il modulo, neanche sai che il bluetooth funziona con un master e degli slave e neanche sai che i moduli HC-06 possono essere solo slave.
Un po' come quelli che iniziano con un modulo ESP-01 invece che un NodeMCU (o Wemos) e hanno un sacco di problemi.
zoomx:
Un po' come quelli che iniziano con un modulo ESP-01 invece che un NodeMCU (o Wemos) e hanno un sacco di problemi.
... beh, non è affatto stessa cosa !
Se ti serve un Arduno con le sue shield, l'ESP-01 è un economico "modulo WiFi" che puoi utilizzare per connetterti con la rete, se invece ti butti su WeMos o NodeMCU, NON usi Arduno, usi delle schede che, come sempre ribadisco, con Arduno NON hanno nulla a che vedere e che, solo per interesse commerciale, hanno SFRUTTATO (... senza alcun ritorno per Arduino.cc) l'IDE per facilitare la programmazione e la vendita delle loro schede !
Io invece ci vedo un ritorno: l'affermazione dell'idea di un set di api comune ad architetture diverse.
Non tutti ma molte board diffuse ormai hanno un core in stile Arduino. Persino la Texas Instruments che però tiene l'IDE Energia separato anche se è praticamente uguale a quello Arduino, e STM. Perfino il RaspberryPI.
Arduino.cc non è invece riuscita a rilanciare una nuova board di successo dopo la UNO. Ma qui posso sbagliarmi, non ho una statistica delle board più usate.