Modalità di comando AT del modulo Bluetooth HC-05 e HC-06

AGGIORNATO il 18 luglio: ora puoi accedere alla modalità AT di HC-05 usando una scheda Arduino, (arduino uno usato in questo tutorial)

AGGIORNATO il 7 luglio: ho avuto l'opportunità di testare un modulo HC06. Questa guida ora copre anche il modulo HC-06. :)

Avere più moduli bluetooth con lo stesso nome può essere fonte di confusione. A volte potrebbe essere necessario modificare le impostazioni predefinite come baud rate o ruolo master / slave del modulo. Questa guida mostra come accedere alla modalità di comando AT del modulo bluetooth HC05 / HC-06 con l'aiuto del convertitore da USB a TTL. In alternativa per HC-05, è possibile utilizzare una scheda arduino.

Requisiti:

1. Modulo Bluetooth HC-05 / HC-06 con scheda breakout.

2. Convertitore da USB a TTL: ho usato il convertitore da USB a ttl PL2303HX. Funzionerà anche qualsiasi altro convertitore da USB a ttl. / SchedaArduino, arduino uno usato in questo tutorial, dovrebbe funzionare anche con altre schede.

3. Arduino IDE / Tera Term: può essere scaricato da qui o se non si desidera scaricare arduino, scaricare Tera Term da qui.

Passaggio 1: identificazione del modulo

La prima cosa che devi fare è identificare il tuo modulo. Può essere HC05 o HC06. Entrambi i moduli hanno la stessa funzionalità tranne la piedinatura. Inoltre HC05 può agire sia come master che come slave mentre HC06 funziona solo come slave. È difficile distinguere tra i due solo vedendo. Un modo probabile sarebbe quello di controllare il retro della scheda di breakout. Se sul retro è scritto "JY-MCU", probabilmente è un HC06. Il mio ha scritto "ZS-040" ed è un HC05. E il modulo HC06 che ho testato aveva un cartello bluetooth dietro con tre impronte di PCB (fare riferimento alla figura 2). Per confermare l'identità del dispositivo, è possibile accendere il modulo, cercare un nuovo dispositivo sul proprio PC o dispositivo mobile e cercare HC05 o HC06 nell'elenco dei dispositivi trovati.

Passaggio 2: Pinout e accesso alla modalità AT

PIN: I pin trovati sulla scheda di breakout sono,

KEY: questo pin deve essere tirato in alto per entrare in modalità AT.
VCC: l'intervallo indicato va da 3, 6 a 6 volt. Per essere più sicuri, è necessario collegarlo a 3, 3 Volt.
GND: terra.
RXD: pin di ingresso seriale.
Pin di uscita seriale TXD.
STATO: può o non può essere collegato a nessun pin. Presumibilmente genera lo stato della connessione Bluetooth. Questo pin non sarà necessario.

Alcune delle schede breakout hanno pin EN o addirittura WAKE UP invece del pin KEY. Nessuno di loro sembra essere collegato a nessun pin del modulo. Ma non importa perché non ne avremmo comunque bisogno.

Una volta identificato il modulo, ora è il momento di accedere alla modalità AT.
Per HC05: collegare il pin Rx del modulo Bluetooth al pin Tx del convertitore da USB a TTL e il pin Tx del pin da Bluetooth a Rx del convertitore. Collega anche la loro terra ma non collegare ancora il Vcc. Per prima cosa dovrai accorciare il pin con il Vcc. Collegare il pin chiave e Vcc insieme sulla breadboard o in qualsiasi altro modo. Dopo aver collegato tutti gli altri pin, collegare Vcc del modulo BT alla USB VCC del convertitore TTL. Ora il led sul modulo lampeggerà ad intervalli di 2 secondi. Ciò significa che è entrato in modalità AT. Se il led lampeggia più velocemente, la modalità AT non è stata inserita. Disconnetti Vcc, controlla il tuo circuito e riprova. Se non funziona, c'è la possibilità che il tuo pin KEY del modulo non sia realmente saldato al KEY del chip principale, ovvero il 34 ° pin. Puoi verificarlo con l'aiuto del multimetro.

Se si utilizza un Arduino Uno, quindi collegare il pin Rx del modulo Bluetooth al pin 11 di Arduino Uno (presumibilmente lo stesso per Arduino Mega) e il pin Tx di Bluetooth al pin 10 di Arduino. Collega anche il pin chiave del modulo al pin 9 di arduino e terra a terra, ma non collegare ancora il Vcc. Devi prima accendere Arduino e quindi collegare Vcc proprio come hai fatto in caso di convertitore da USB a TTL.

Per HC06: basta collegare Rx del modulo a Tx del convertitore usb-ttl e Tx del modulo. Collegare terra e Vcc. Il modulo è in modalità AT. Non l'hai visto arrivare, vero? : P Si scopre che il modulo HC06 è configurato in modo permanente come slave ed è sempre in modalità AT quando non è associato a nessun altro dispositivo. Quindi non vi è alcun LED di conferma che lampeggia che è in modalità AT come ha HC05. Basta accendere il modulo e passare i comandi AT per modificare le impostazioni predefinite.

Panoramica della connessione:

HC05 da USB a TTL Arduino
Vcc Vcc Vcc
Pin Rx Tx 11
Tx Rx pin 10
Gnd Gnd Gnd
chiave Vcc pin 9

HC06 da USB a TTL

Vcc Vcc
Rx Tx
Tx Rx
Gnd Gnd

Passaggio 3: se il pin della chiave non è presente o non è collegato

Solo per HC05 : come affermato in precedenza, alcuni modelli della scheda di breakout non hanno il pin della chiave, invece hanno un pin EN (abilita) o WAKE UP che può o meno essere collegato a qualsiasi pin come il pin STATE. In tal caso dovrai saldare un filo al 34 ° pin del modulo bt. Ho saldato un'intestazione maschio alla mia, ma se non puoi saldare o non vuoi, puoi semplicemente tenere un filo (l'estremità appuntita di un filo da maschio a maschio sarebbe conveniente) mentre collega il Vcc a 5 volt. Una volta che il modulo BT è in modalità AT, è possibile rilasciare il filo.

HC06 non richiede il pin chiave.

Passaggio 4: impostazione della connessione

Per HC05:

Una volta che il modulo è in modalità AT, aprire arduino. Vai a strumenti> porta seriale> seleziona la porta com a cui è collegato il tuo convertitore da USB a TTL (per scoprirlo, vai a Gestione dispositivi del tuo PC> porte (COM e LPT)). Ora apri il monitor seriale. Il modulo bt sta ora comunicando ad una velocità di trasmissione di 38400. Quindi cambia la velocità di trasmissione a 38400 nell'angolo in basso a destra del monitor seriale. Cambia anche "nessuna fine riga" in "sia NL che CR" che si trovano proprio accanto al baud rate.

Se non disponi di Arduino IDE, scarica il termine Tera (che è un eccellente analizzatore di terminali). Termine Tera aperto. Si aprirà una finestra pop-up, selezionare Seriale e scegliere la porta COM a cui è collegato il convertitore da USB a ttl. Premere ok e verrà stabilita una connessione. Ora vai a setup> porta seriale> imposta il baud rate su 38400. Dopo aver impostato il baud rate vai su setup> terminale> cambia la nuova riga in CR + LF dal menu a discesa. Seleziona anche la casella di eco locale sotto newline. Ora l'installazione è completa.

Se usi la scheda arduino (UNO / MEGA), copia e incolla il seguente codice, che è solo una modifica dell'esempio seriale software incluso negli esempi arduino.

////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////

#includere

SoftwareSerial mySerial (10, 11); // RX, TX

void setup () {

Serial.begin (9600);

pinMode (9, OUTPUT); digitalWrite (9, HIGH);

Serial.println ("Immettere i comandi AT:");

mySerial.begin (38400);

}

void loop ()

{

if (mySerial.available ())

Serial.write (mySerial.read ());

if (Serial.available ())

mySerial.write (Serial.read ());

}

////////////////////////////////////////////////// ////////////////////////////////////////////////// /////////////////////

Carica il codice sulla scheda arduino, una volta caricato il codice, apri Monitor seriale, modifica "nessuna fine linea" in "sia NL che CR" in basso, chiudilo e disconnetti la scheda arduino da usb. Ora ricollega nuovamente arduino a usb, collega vcc del modulo bluetooth ad arduino 5volt e apri il monitor seriale. Il led sul modulo dovrebbe lampeggiare a intervalli di 2 secondi. Ciò significa che è entrato in modalità AT. Ora sei pronto per inserire i comandi AT.

Per HC06:

Ora c'è un piccolo inconveniente per HC06, non attende alcun carattere di terminazione per ogni voce di comando AT. Invece, agisce su qualunque personaggio tu abbia inserito dopo un secondo. Pertanto, se non si riesce a completare una voce di comando entro un secondo, questa verrà ignorata. A causa di questo comportamento, può essere estremamente difficile eseguire una configurazione di immissione manuale utilizzando il software Hyper-terminal di Windows. È necessario utilizzare un software terminale che consenta l'invio in batch di più caratteri. Ho scoperto che Arduino funziona benissimo. D'altra parte, se si utilizza il termine Tera, è necessario annotare i comandi AT in un blocco note, quindi copiarlo e incollarlo nel termine Tera. Facendo clic con il tasto destro del mouse sulla console a termine Tera, la riga copiata verrà incollata automaticamente ed eseguita immediatamente.

Quindi una volta che il modulo è collegato al convertitore usb-ttl e acceso, apri arduino, seleziona la porta com usb-ttl, imposta la velocità di trasmissione su 38400. Non è necessario applicare altre impostazioni a differenza di HC05. E per Tera therm, seleziona la porta COM appropriata, vai su configurazione> porta seriale> imposta la velocità di trasmissione su 38400, vai su configurazione> terminale> controlla la casella di eco locale e tutto è impostato.

Passaggio 5: comandi AT

Per HC05: digitare "AT" (senza virgolette) sul monitor seriale e premere Invio. se appare "OK", allora va tutto bene e il modulo è pronto per prendere il comando. Ora puoi cambiare il nome del modulo, recuperare l'indirizzo o la versione o persino ripristinare le impostazioni di fabbrica. Per visualizzare il nome predefinito, digitare AT + NAME. Verrà richiesto il nome, per impostazione predefinita è HC-05 o JY_MCU o qualcosa del genere. Per cambiare il nome basta digitare AT + NAME = il nome desiderato.

Ecco una nota importante, se il pin della chiave non è alto, cioè non collegato a Vcc durante la ricezione dei comandi AT (se non hai saldato il filo e non lo hai rilasciato dopo che il modulo è entrato in modalità AT), non mostrerà il nome predefinito nemmeno dopo aver dato il giusto comando. Ma puoi ancora cambiare il nome con il comando sopra menzionato. Per verificare se il nome è davvero cambiato, cerca il dispositivo dal tuo PC / cellulare. Apparirà il nome modificato. Per modificare la velocità di trasmissione, digitare AT + UART = velocità di trasmissione desiderata. Esci inviando il comando AT + RESET.

I comandi AT più utili sono

AT: verifica la connessione.
AT + NAME: vedere il nome predefinito
AT + ADDR: vedi indirizzo predefinito
VERSIONE AT +: vedi versione
AT + UART: vedi baudrate
AT + RUOLO: vedi ruolo del modulo bt (1 = master / 0 = slave)
AT + RESET: ripristina e esce dalla modalità AT
AT + ORGL: ripristina le impostazioni di fabbrica
AT + PSWD: vedi password predefinita

Comandi AT più dettagliati sono riportati nel 1 ° pdf.

Per HC06: sul monitor seriale arduino digitare "AT" (senza virgolette) e premere Invio, "OK" confermerà la modalità AT. A differenza di HC05, non è possibile visualizzare il nome o la velocità di trasmissione predefiniti. Puoi solo cambiarli. Per modificare il tipo di nome AT + NAME NOMEDESIRED, notare che non deve esserci spazio tra il comando e il nome. Il modulo risponderà OKIl nome impostato. Ad esempio, AT + NAMEPROTOTYPE imposterà il nome su PROTOTYPE. Per modificare la velocità di trasmissione, digitare AT + BAUDX, dove X = da 1 a 9.

1 impostato su 1200 bps
2 impostato su 2400 bps
3 impostato su 4800 bps
4 impostato su 9600 bps (impostazione predefinita)
5 impostato su 19200 bps
6 impostato su 38400bps
7 impostato su 57600bps
8 impostato su 115200bps
quindi l'invio di AT + BAUD4 imposterà la velocità di trasmissione su 9600.

Per Tera Term scrivere i comandi da qualche altra parte e incollarlo sulla console facendo clic con il tasto destro. Non è necessario premere Invio. Il comando verrà eseguito immediatamente e confermato.

I comandi di HC 06 AT sono limitati, tutto quello che ho potuto trovare sono riportati qui.

AT: controlla la connessione
AT + NAME: cambia nome. Nessuno spazio tra nome e comando.
AT + BAUD: modifica la velocità di trasmissione, x è il codice di velocità di trasmissione, nessuno spazio tra comando e codice.
AT + PIN: cambia pin, xxxx è il pin, ancora una volta, nessuno spazio.
AT + VERSIONE

Maggiori dettagli nel 2 ° pdf.

allegati

  • HC-0305 SERAil modulo AT set di dati 201104 revised_2.pdf Download
  • Download del modulo Bluetooth EGBT-045MS-046S rev 1r0.pdf

Articoli Correlati