Sommario:

OldMan e Bluetooth2: 4 passaggi
OldMan e Bluetooth2: 4 passaggi

Video: OldMan e Bluetooth2: 4 passaggi

Video: OldMan e Bluetooth2: 4 passaggi
Video: Wi-Fi адаптер Fenvi (Intel 7260HMW Wlan 2.4/5 Ghz Bluetooth 4.0). Установка и тестирование!) 2024, Luglio
Anonim
OldMan e Bluetooth2
OldMan e Bluetooth2

Quindi questo Lazy Old Geek (L. O. G.) ha finalmente ottenuto un modulo Bluetooth HC05 da AliExpress.com. Ne ho ordinato uno dopo aver scritto questo Instructable:

www.instructables.com/id/OldMan-and-Blueto…

Bene, ho passato diverse ore a cercare di farlo funzionare in modalità di comando senza successo. Ho persino distrutto un modulo HC05 (probabilmente applicando tensioni sbagliate) quindi ho dovuto comprarne un altro.

SUGGERIMENTO: la modalità di comando sta parlando con il modulo HC05 o HC06 stesso. La modalità di comunicazione sta parlando con un altro dispositivo Bluetooth.

Quello che ho trovato sono molte differenze tra HC05 e HC06. L'HC05 può essere master o slave, l'HC06 è solo slave. Fondamentalmente, un master può parlare con uno slave, due slave non possono parlare tra loro. L'HC05 e l'HC06 hanno comandi diversi. L'HC05 deve essere configurato hardware per entrare in modalità di comando, può avere baud rate differenti per la comunicazione e la modalità di comando.

L'HC06 è sempre in modalità di comunicazione e comando. L'impostazione della velocità di trasmissione per uno cambierà l'altro.

SUGGERIMENTO: tieni traccia di questo perché non l'ho fatto e ho avuto alcuni problemi.

SUGGERIMENTO: HC05 e HC06 diversi potrebbero essere diversi da quelli che ho ricevuto.

L'HCO6 eseguirà i comandi, ma non sempre mostra i risultati modificati, ad es. cambio di nome.

Passaggio 1: valutazione/modifica

Valutazione/modifica
Valutazione/modifica
Valutazione/modifica
Valutazione/modifica
Valutazione/modifica
Valutazione/modifica

In allegato c'è uno schema HC05 simile al mio. Due differenze che conosco sono che c'è un resistore da 2,2 K tra PIO11 (34) e il pin EN e il regolatore da 3,3 V è un pacchetto a 3 pin e non ha un pin CE. L'immagine allegata è uno schema marcato di quello che penso di avere.

Ai fini della programmazione, l'importante è che il pin 34 Key sia collegato al pin EN tramite un resistore da 2,2K. (È anche collegato al pulsante, l'altro lato è collegato a 3,3 V)

L'HC05 di serie richiede un'alimentazione di 5 V sebbene funzioni con segnali a 3,3 V, quindi ho modificato il mio HCO5 per utilizzare invece 3,3 V. Ho rimosso il regolatore da 3,3 V e ho eseguito un ponticello dal pin VCC direttamente a 3,3 V. Questo è mostrato sullo schema modificato e sulla mia immagine HC05 modificata.

A proposito, l'allegato HC05 Command Set.pdf contiene alcune preziose informazioni sull'utilizzo dell'HC05, purtroppo non è molto intuitivo.

Fase 2: Programmazione dell'HC05

Programmazione dell'HC05
Programmazione dell'HC05
Programmazione dell'HC05
Programmazione dell'HC05

Ho deciso che il modo più semplice per utilizzare l'HC05 era collegarlo a uno dei miei adattatori seriali CP2102 da 3,3 V come ho fatto in Old Man And Bluetooth Instructable con un HC06. Vedi immagine e schema.

SUGGERIMENTO IMPORTANTE: per alimentare l'HC05 in modalità comando, il pin PIO11 (34) deve essere alto prima di applicare 3,3 V. Il pin EN del mio HC05 è collegato a PIO11 tramite un resistore da 2,2 K, quindi deve solo essere collegato a 3,3 V. Lo schema mostra questo come i pin del programma, ma basta posizionare un ponticello da 3,3 V al pin EN. Assicurati di farlo prima di applicare il potere. Sul mio, puoi dire se sei in modalità di comando perché il LED HC05 lampeggerà lentamente. Se lampeggia velocemente, sei in modalità di associazione e devi riprovare.

SUGGERIMENTO: l'HC05 in modalità di comando parla sempre a 38400 baud rate. Tutti i comandi sono in maiuscolo e devono essere seguiti da CR e LF. (Questo è diverso dall'HC06)

SUGGERIMENTO: il formato del comando è molto rigido. Usa sempre i cappucci. Iniziano tutti con "AT" Seguili esattamente, non puoi aggiungere spazi dove non sono mostrati.

Avvia Arduino. Andare su "Strumenti" "Porta" e selezionare la porta Com a cui è collegato il CP2102.

Apri il monitor seriale. Nella parte inferiore di quella finestra, seleziona "Both NL and CR" e "38400 baud". (NL sta per New Line che è lo stesso di LF che è Line Feed).

Verso l'alto, c'è una casella accanto al pulsante Invia, fai clic su di essa.

Sul tuo PC attiva Blocco maiuscole

Tipo AT

La finestra grande dovrebbe visualizzare "OK".

Stai comunicando in modalità di comando

Alcuni comandi che funzionano sul mio

A

AT+RESET

AT+VERSIONE?

AT+NOME?

AT+ADDR? ADDR:98D3:31:F5CB41

AT+NAME=BT1 Questo cambia il nome in BT1

AT+RUOLO? 0 = Slave 1=Master

Passaggio 3: HC06 rivisitato

HC06 rivisitato
HC06 rivisitato

Una delle principali differenze tra l'HC05 e l'HC06 è che l'HC05 può essere master o slave mentre l'HC06 è solo slave. Ciò significa che puoi parlare tra un HC05 e un HC06. Tuttavia ci sono molte altre differenze.

Anche se avrei potuto usare un Arduino per configurare il mio HC06, ho scelto di utilizzare un CP2102 3.3v. Guarda l'immagine

Connessioni

CP2102 HC06

Gnd Gnd

Vcc Vcc

TXD RXD

RXD TXD

Questo è fondamentalmente lo stesso dell'HC05, tranne che il mio HC06 ha solo quattro pin.

Il mio CP2102 è stato modificato per fornire 3.3V

Il mio HC06 è stato modificato per accettare 3.3V

L'USB CP2102 è collegato al mio PC. Sul mio PC sto usando l'IDE Arduino.

Seleziona la "Porta" corretta e apri il monitor seriale.

Sul mio HC06, il LED rosso lampeggia velocemente, il che indica che è pronto per l'accoppiamento ma può anche ricevere comandi.

Alcune di queste informazioni provengono da Martyn Currey:

www.martyncurrey.com/arduino-and-hc-06-zs-0…

Quindi ogni tipo di HC06 può essere diverso, il mio restituisce la VERSIONE linvorV1.5

Per il mio HC06 (e probabilmente tutti), non esiste una procedura speciale per farlo entrare in modalità comando. Apparentemente se non è abbinato, puoi sempre inviare comandi tramite la porta seriale.

SUGGERIMENTO: non puoi inviare comandi a nessun modulo Bluetooth (che io conosca) tramite Bluetooth.

Apri il monitor seriale

Fare clic sulla prima casella in fondo a Serial Monitor e impostare su "nessuna fine di riga"

Inizialmente, la mia velocità di trasmissione era di 9600 baud

Sul tuo PC imposta Blocco maiuscole su

Nel bauletto tipo AT

Digita Invio o tocca il pulsante "Invia"

Lo schermo dovrebbe visualizzare OK

SUGGERIMENTO: Se non ottieni un OK, potrebbe essere perché la velocità di trasmissione è stata modificata o è diversa. Puoi provarne vari, finché, si spera, non trovi quello corretto.

NOTA: inviando più comandi, i dati di risposta non si spostano alla riga successiva. Verso il basso, puoi fare clic su Cancella output.

Comandi che funzionano per me:

Comando Risposta

AT+VERSIONE OKlinvorV1.5

AT+NAMEFred restituisceOKsetname

(Non ti dice il nome ma se connesso tramite Bluetooth, apparirà.)

NOTA: se cambi il nome, il vecchio nome verrà visualizzato sul tuo smartphone fino a quando non disassoci e riassoci.

AT+PINxxx Non l'ho provato. Il valore predefinito è 1234

AT+BAUD8 Modifica la velocità di trasmissione in 115200

La risposta è la velocità di trasmissione, ad es. 115200

(Dopo aver modificato la velocità di trasmissione, è necessario modificare la velocità di trasmissione del monitor seriale su 115200 per inviare ulteriori comandi.

Opzioni di velocità in baud

1 1200

2 2400

3 4800

4 9600 (predefinito)

5 19200

6 38400

7 57600

8 115200

9 230400

A 460800

B921600

C 1382400

NOTA: non ho provato più di 8 115200. Ho sentito di persone che provano tariffe più alte con risultati scadenti.

Gli altri comandi che dovrebbero funzionare ma non testati:

AT+PN nessun controllo di parità (predefinito)

Controllo parità dispari AT+PO

Controllo di parità pari AT+PE

IMPORTANTE: A questo punto, ti suggerirei di decidere un nome univoco e di inserirlo. Ti suggerirei anche di decidere il baud rate con cui vuoi comunicare, inserirlo e contrassegnarlo con il tuo HC06.

Passaggio 4: configurazione da HC05 a HC06

Ok, questo Instructable mi è stato molto utile:

www.instructables.com/id/How-to-Configure-…

La mia configurazione:

SLAVE trova indirizzo

HC06 con CP2102 (automaticamente in modalità comando)

Collegare il cavo USB CP2102 per alimentare l'HC06.

Il LED HC06 dovrebbe lampeggiare velocemente (modalità di associazione).

Sul tuo smartphone, apri le impostazioni

Vai a Bluetooth

Cerca nuovo dispositivo

Se vedi qualcosa come HC06 o il nome che gli hai dato, seleziona questo.

Molto probabilmente vedrai una stringa di numeri come 00:12:09:27:19:13, probabilmente è così.

Scrivi questo indirizzo. (Il numero è il suo indirizzo univoco)

Selezionalo

Quando ti viene chiesto un Pin, digita 1234.

Il nome dovrebbe essere visualizzato.

Se ancora non disponi dell'indirizzo, in “Dispositivi collegati in precedenza” seleziona il nome.

Fare clic su Informazioni, l'indirizzo dovrebbe essere visualizzato. Scrivilo.

Se non viene visualizzato, esci dalla configurazione e apri l'app Bluetooth Terminal HC-05.

In Dispositivi associati, trova il nome, l'indirizzo dovrebbe essere sotto di esso, annotalo.

Configurazione slave

Se il LED HC06 non lampeggia, spegnere e riaccendere per riportarlo in modalità di associazione.

Avvia Arduino

In "Strumenti" "Porta" selezionare la porta Com corretta

Apri monitor seriale

In fondo a questa finestra

Seleziona "Nessuna fine di riga" e "9600 baud"

MAESTRO

HC05 con CP2102 impostato in modalità comando (ponticello EN alto)

Collegare il cavo USB dal CP2102 al PC

Ho scoperto di poter aprire due Arduino

Sul secondo Arduino, seleziona la porta Com corretta per HC05

Apri monitor seriale

In fondo alla finestra

Seleziona “Entrambi NL&CR” e “38400 baud”

Quanto segue è dal precedente Instructable

Configurazione principale

I comandi AT richiesti per impostare la configurazione:

COMANDO RISPOSTA Cosa fa

AT+RUOLO=1 OK Imposta HC05 come master

AT+CMODE=1 OK Connetti a un indirizzo specifico

NOTA: l'indirizzo HC06 è probabilmente formattato in questo modo 00:12:09:27:19:13

Il comando BIND si aspetta questo 0012, 09, 27193 (togli i due punti, prendi i primi quattro numeri, poi la virgola, i due numeri successivi, poi la virgola, quindi gli ultimi sei numeri)

AT+BIND=0012, 09, 271913 OK Collega/si collega con HC06

(A proposito AT+BIND? risponde con +BIND:12:9:271913)

(Si desidera che la velocità di comunicazione dell'HC05 sia la stessa dell'HC06), ad esempio:

AT+UART=115200, 0, 0 OK Baud rate 115200 (1 bit di stop, nessuna parità)

Per testare le comunicazioni:

Rimuovere il ponticello HC05 EN, spegnere e riaccendere.

Quando i due sono collegati, il LED HC05 lampeggerà due volte ogni pochi secondi, il LED HC06 rimarrà acceso fisso.

Imposta entrambe le porte COM alla stessa velocità di trasmissione (qualunque cosa tu configuri)

Imposta entrambi su "Entrambi NL e CR"

Digita qualcosa su Serial Monitor1, Serial Monitor2 dovrebbe visualizzarlo.

Digitare qualcosa su Serial Monitor2, Serial Monitor1 dovrebbe visualizzarlo.

Congratulazioni, stai comunicando tramite Bluetooth

Ora il precedente Instructable ha alcuni schizzi su come utilizzare i moduli con Arduino. Per questo Instructable, non approfondirò questo aspetto.

Consigliato: