Innehållsförteckning:

OldMan och Bluetooth2: 4 steg
OldMan och Bluetooth2: 4 steg

Video: OldMan och Bluetooth2: 4 steg

Video: OldMan och Bluetooth2: 4 steg
Video: 💦Blackview BV9200 ЧЕСТНЫЙ ОБЗОР ПРОТИВОУДАРНОГО 2024, Juli
Anonim
OldMan och Bluetooth2
OldMan och Bluetooth2

Så denna Lazy Old Geek (L. O. G.) fick äntligen en Bluetooth HC05 -modul från AliExpress.com. Jag beställde en efter att ha skrivit denna Instructable:

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

Jag spenderade flera timmar på att försöka få det att fungera i kommandoläge utan framgång. Jag förstörde till och med en HC05 -modul (antagligen med fel spänning) så jag var tvungen att köpa en till.

TIPS: Kommandoläget talar till själva HC05- eller HC06 -modulen. Kommunikationsläget pratar med en annan Bluetooth -enhet.

Vad jag hittade är många skillnader mellan HC05 och HC06. HC05 kan vara en master eller slav, HC06 är endast slav. I grund och botten kan en mästare prata med en slav, två slavar kan inte prata med varandra. HC05 och HC06 har olika kommandon. HC05 måste vara maskinvarukonfigurerad för att gå till kommandoläge, den kan ha olika överföringshastigheter för kommunikation och kommandoläge.

HC06 är alltid i kommunikations- och kommandoläge. Om du ställer in överföringshastigheten för den ena ändras den andra.

TIPS: Håll koll på detta eftersom jag inte gjorde det och hade några problem.

TIPS: Olika HC05 och HC06 kan skilja sig från de jag fick.

HCO6 kommer att utföra kommandon, men visar inte alltid ändrade resultat, t.ex. namnbyte.

Steg 1: Utvärdering/modifiering

Utvärdering/modifiering
Utvärdering/modifiering
Utvärdering/modifiering
Utvärdering/modifiering
Utvärdering/modifiering
Utvärdering/modifiering

Bifogad är en HC05 -schema som liknar min. Två skillnader jag vet är att det finns ett 2.2K -motstånd mellan PIO11 (34) och EN -stiftet och 3.3v -regulatorn är ett 3 -stifts paket och inte har ett CE -stift. Den bifogade bilden är en markerad schema för vad jag tror att jag har.

För programmeringsändamål är det viktigt att stift 34 -nyckeln är ansluten till EN -stiftet via ett 2,2K -motstånd. (Den är också ansluten till tryckknappen, den andra sidan är ansluten till 3,3V)

Lager HC05 kräver 5V ström men det fungerar med 3.3V signaler så jag modifierade min HCO5 för att använda 3.3V istället. Jag tog bort 3.3V -regulatorn och körde en bygel från VCC -stiftet direkt till 3.3V. Detta visas på det modifierade schemat och min modifierade HC05 -bild.

Förresten, den bifogade HC05 Command Set.pdf har värdefull information om hur man använder HC05, tyvärr är det inte särskilt användarvänligt.

Steg 2: Programmering av HC05

Programmering av HC05
Programmering av HC05
Programmering av HC05
Programmering av HC05

Jag bestämde mig för att det enklaste sättet att använda HC05 var att ansluta den till en av mina CP2102 3.3V seriella adaptrar som jag gjorde i Old Man And Bluetooth Instructable med en HC06. Se bild och schematisk.

VIKTIGT TIPS: För att starta HC05 i kommandoläge måste PIO11 -stiftet (34) vara högt innan 3,3V appliceras. EN -stiftet på min HC05 är anslutet till PIO11 via ett 2.2K -motstånd, så det behöver bara bindas till 3.3V. Schemat visar detta som programstiften men placera bara en bygel från 3.3V till EN -stift. Se till att du gör detta innan du använder ström. På min kan du berätta om du är i kommandoläge eftersom HC05 -lampan blinkar långsamt. Om det blinkar snabbt är du i parkopplingsläge och måste försöka igen.

TIPS: HC05 i kommandoläge talar alltid med 38400 baudhastighet. Alla kommandon är stora och måste följas av en CR och LF. (Detta är annorlunda än HC06)

TIPS: Kommandoformatet är mycket strikt. Använd alltid lock. De börjar alla med "AT" Följ dem exakt, du kan inte lägga till mellanslag där de inte visas.

Starta Arduino. Gå till "Verktyg" "Port" och välj den Com -port som CP2102 är ansluten till.

Öppna Serial Monitor. Längst ned i fönstret väljer du "Både NL och CR" och "38400 baud". (NL står för New Line som är samma som LF som är Line Feed).

Mot toppen finns det en ruta bredvid knappen Skicka, klicka i den.

Slå på Caps Lock på din dator

Skriv AT

Det stora fönstret ska visa "OK".

Du kommunicerar i kommandoläge

Några kommandon som fungerar på mina

AT+RESET

AT+VERSION?

AT+NAME?

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

AT+NAME = BT1 Detta ändrar namnet till BT1

AT+ROLL? 0 = Slav 1 = Master

Steg 3: HC06 Revisited

HC06 Återbesökt
HC06 Återbesökt

En av de viktigaste skillnaderna mellan HC05 och HC06 är att HC05 kan vara master eller slav medan HC06 bara är slav. Det betyder att du kan prata mellan en HC05 och en HC06. Men det finns många andra skillnader.

Även om jag kunde ha använt en Arduino för att konfigurera min HC06, valde jag att använda en 3.3v CP2102. Se bild

Anslutningar

CP2102 HC06

Gnd Gnd

Vcc Vcc

TXD RXD

RXD TXD

Detta är i princip samma som HC05 förutom att mitt HC06 bara har fyra stift.

Min CP2102 är modifierad för att leverera 3.3V

Min HC06 är modifierad för att acceptera 3,3V

CP2102 USB är ansluten till min dator. På min dator använder jag Arduino IDE.

Välj rätt "Port" och öppna seriemonitorn.

På min HC06 blinkar den röda lysdioden snabbt, vilket indikerar att den är redo att koppla ihop men också kan ta emot kommandon.

En del av denna information kom från Martyn Currey:

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

Så varje typ av HC06 kan vara olika, min returnerar VERSION linvorV1.5

För min HC06 (och förmodligen alla) finns det ingen speciell procedur för att få den till kommandoläge. Tydligen om det inte är parat kan du alltid skicka kommandon via den seriella porten.

TIPS: du kan inte skicka kommandon till någon Bluetooth -modul (som jag känner till) via Bluetooth.

Öppna Serial Monitor

Klicka på den första rutan längst ner på Serial Monitor och ställ in till "ingen rad slutar"

Ursprungligen var min överföringshastighet 9600 baud

Slå på Caps Lock på din dator

Typ AT i den övre lådan

Skriv Enter eller tryck på "Skicka" -knappen

Skärmen ska visa OK

TIPS: Om du inte får ett OK kan det bero på att överföringshastigheten ändrades eller är annorlunda. Du kan prova olika tills du förhoppningsvis hittar rätt.

OBS: Om du skickar flera kommandon flyttas svarsdata inte till nästa rad. Mot botten kan du klicka på Rensa utdata.

Kommandon som fungerar för mig:

Kommandosvar

AT+VERSION OKlinvorV1.5

AT+NAMEFred returnerarOKsetname

(Det berättar inte namnet men om det är anslutet via Bluetooth visas det.)

OBS: om du ändrar namnet visas det gamla namnet på din smartphone tills du avparar och återparar.

AT+PINxxx Har inte provat det. Defaut är 1234

AT+BAUD8 Ändrar överföringshastighet till 115200

Svar är överföringshastighet, t.ex. 115200

(Efter att ha ändrat överföringshastigheten måste du ändra överföringshastigheten för seriell bildskärm till 115200 för att skicka ytterligare kommandon.

Alternativ för överföringshastighet

1 1200

2 2400

3 4800

4 9600 (standard)

5 19200

6 38400

7 57600

8 115200

9 230400

En 460800

B 921600

C 1382400

OBS: Jag har inte provat högre än 8 115200. Jag har hört talas om människor som försöker högre priser med dåliga resultat.

De andra kommandona som ska fungera men inte testas:

AT+PN ingen paritetskontroll (standard)

AT+PO udda paritetskontroll

AT+PE jämnhetskontroll

VIKTIGT: Vid denna tidpunkt skulle jag föreslå att du bestämmer dig för ett unikt namn och lägger in det. Jag föreslår också att du bestämmer vilken överföringshastighet du vill kommunicera med, lägger in den och markerar din HC06 med den.

Steg 4: Konfigurera HC05 till HC06

Ok, den här instruerbara var mest användbar för mig:

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

Min inställning:

SLAVE hitta adress

HC06 med CP2102 (automatiskt i kommandoläge)

Anslut CP2102 USB -kabeln för att driva HC06.

HC06 -LED: n ska blinka snabbt (parningsläge).

Öppna inställningarna på din smartphone

Gå till Bluetooth

Sök efter ny enhet

Om du ser något som HC06 eller namnet du gav det, välj det här.

Du kommer sannolikt att se en rad siffror som 00: 12: 09: 27: 19: 13, det är förmodligen det.

Skriv ner den här adressen. (Numret är dess unika adress)

Välj det

När du blir ombedd att ange en PIN -kod skriver du in 1234.

Namnet ska visas.

Om du fortfarande inte har adressen, välj namnet under "Tidigare anslutna enheter".

Klicka på Info, adressen ska visas. Skriv ner det.

Om det inte visas, gå ur installationen och öppna Bluetooth Terminal HC-05-appen.

Under Parade enheter, hitta namnet, adressen ska vara under det, skriv ner det.

Slavinställning

Om HC06 -lysdioden inte blinkar, slå på strömmen för att återställa den till parkopplingsläge.

Starta Arduino

Under "Verktyg" "Port" Välj rätt Com -port

Öppna Serial Monitor

Längst ner i det här fönstret

Välj "No line ending" och "9600 baud"

BEMÄSTRA

HC05 med CP2102 i kommandoläge (EN jumpered high)

Anslut USB -kabeln från CP2102 till datorn

Jag fick reda på att jag kan öppna två Arduinos

På den andra Arduino väljer du rätt Com -port för HC05

Öppna Serial Monitor

Längst ner i fönstret

Välj "Både NL&CR" och "38400 baud"

Följande är från ovanstående Instructable

Huvudkonfiguration

De nödvändiga AT -kommandona för att ställa in konfigurationen:

KOMMANDO -SVAR Vad den gör

AT+ROLE = 1 OK Ställ in HC05 som master

AT+CMODE = 1 OK Anslut till specifik adress

OBS: HC06 -adressen är förmodligen formaterad så här 00: 12: 09: 27: 19: 13

BIND -kommandot förväntar sig detta 0012, 09, 27193 (du tar ut kolonna, tar de fyra första talen, sedan komma, de två följande talen, sedan kommatecken, sedan de sex sista siffrorna)

AT+BIND = 0012, 09, 271913 OK Ansluter/binder med HC06

(Förresten AT +BIND? Svarar med +BIND: 12: 9: 271913)

(Du vill att HC05 -kommunikationshastigheten ska vara densamma som HC06) till exempel:

AT+UART = 115200, 0, 0 OK Baudhastighet 115200 (1stop bit, ingen paritet)

För att testa kommunikation:

Ta bort HC05 EN bygel, strömcykel.

När de två är anslutna kommer HC05 LED att blinka två gånger med några sekunders mellanrum, HC06 LED kommer att lysa kontinuerligt.

Ställ in båda komportarna till samma överföringshastighet (vad du än ställer in)

Ställ in båda på”Både NL&CR”

Skriv något på Serial Monitor1, Serial Monitor2 ska visa det.

Skriv något på Serial Monitor2, Serial Monitor1 ska visa det.

Grattis, du kommunicerar via Bluetooth

Nu har ovanstående Instructable några skisser om hur man använder modulerna med Arduino. För denna instruerbara kommer jag inte att fördjupa mig i detta.

Rekommenderad: