Indholdsfortegnelse:

OldMan og Bluetooth2: 4 trin
OldMan og Bluetooth2: 4 trin

Video: OldMan og Bluetooth2: 4 trin

Video: OldMan og Bluetooth2: 4 trin
Video: 😭 Volvo XC60 – "нормальный вариант" или его лучше обходить стороной? Тут все ответы! 2024, Juli
Anonim
OldMan og Bluetooth2
OldMan og Bluetooth2

Så denne Lazy Old Geek (L. O. G.) fik endelig et Bluetooth HC05 -modul fra AliExpress.com. Jeg bestilte en efter at have skrevet denne Instructable:

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

Nå, jeg brugte flere timer på at få dette til at fungere i kommandotilstand uden held. Jeg ødelagde endda et HC05 -modul (anvender sandsynligvis forkerte spændinger), så jeg måtte købe et andet.

TIP: Kommandotilstand taler til selve HC05- eller HC06 -modulet. Kommunikationstilstand taler til en anden Bluetooth -enhed.

Det, jeg fandt, er mange forskelle mellem HC05 og HC06. HC05 kan være en master eller slave, HC06 er kun slave. Grundlæggende kan en mester tale med en slave, to slaver kan ikke tale med hinanden. HC05 og HC06 har forskellige kommandoer. HC05 skal være hardware-konfigureret for at gå i kommandotilstand, den kan have forskellige baudhastigheder for kommunikation og kommandotilstand.

HC06 er altid i kommunikations- og kommandotilstand. Indstilling af baudhastighed for den ene ændrer den anden.

TIP: Hold styr på dette, da jeg ikke havde det og havde nogle problemer.

TIP: Forskellige HC05'er og HC06'er kan være forskellige fra dem, jeg fik.

HCO6 udfører kommandoer, men viser ikke altid ændrede resultater, f.eks. navneændring.

Trin 1: Evaluering/ændring

Evaluering/ændring
Evaluering/ændring
Evaluering/ændring
Evaluering/ændring
Evaluering/ændring
Evaluering/ændring

Vedhæftet er en HC05 skematisk ligner min. To forskelle, jeg ved, er, at der er en 2.2K modstand mellem PIO11 (34) og EN -stiften, og 3.3v -regulatoren er en 3 -polet pakke og ikke har en CE -pin. Det vedhæftede billede er en markeret skematisk oversigt over, hvad jeg tror, jeg har.

Til programmeringsformål er det vigtige, at pin 34 Key er forbundet til EN pin via en 2,2K modstand. (Den er også forbundet til trykknappen, den anden side er forbundet til 3,3V)

Lager HC05 kræver 5V strøm, selvom det fungerer med 3.3V signaler, så jeg ændrede min HCO5 til at bruge 3.3V i stedet. Jeg fjernede 3.3V regulatoren og kørte en jumper fra VCC pin direkte til 3.3V. Dette er vist på det ændrede skematiske og mit ændrede HC05 -billede.

Forresten, det vedhæftede HC05 Command Set.pdf har nogle værdifulde oplysninger om brug af HC05, desværre er det ikke særlig brugervenligt.

Trin 2: Programmering af HC05

Programmering af HC05
Programmering af HC05
Programmering af HC05
Programmering af HC05

Jeg besluttede, at den nemmeste måde at bruge HC05 var at tilslutte den til en af mine CP2102 3.3V serielle adaptere, som jeg gjorde i Old Man And Bluetooth Instructable med en HC06. Se billede og skematisk.

VIGTIGT TIP: For at tænde HC05 i kommandotilstand skal PIO11 -stiften (34) være høj, før 3,3V påføres. EN -stiften på min HC05 er forbundet til PIO11 via en 2,2K modstand, så den skal bare bindes til 3,3V. Skematisk viser dette som Program pins, men placer bare en jumper fra 3.3V til EN pin. Sørg for at gøre dette, før du bruger strøm. På min kan du se, om du er i kommandotilstand, fordi HC05 -LED'en blinker langsomt. Hvis det blinker hurtigt, er du i parringstilstand og skal prøve igen.

TIP: HC05 i kommandotilstand taler altid med 38400 baudhastighed. Alle kommandoer er store og skal følges af en CR og LF. (Dette er anderledes end HC06)

TIP: Kommandoformatet er meget strengt. Brug altid hætter. De starter alle med "AT" Følg dem nøjagtigt, du kan ikke tilføje mellemrum, hvor de ikke vises.

Start Arduino. Gå til "Værktøjer" "Port", og vælg den Com -port, som CP2102 er forbundet til.

Åbn den serielle skærm. Mod bunden af vinduet skal du vælge "Både NL og CR" og "38400 baud". (NL står for New Line, der er det samme som LF, som er Line Feed).

Mod toppen er der en boks ved siden af knappen Send, klik i den.

Tænd Caps Lock på din pc

Skriv AT

Det store vindue skal vise "OK".

Du kommunikerer i kommandotilstand

Nogle kommandoer, der fungerer på min

AT+RESET

AT+VERSION?

AT+NAME?

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

AT+NAME = BT1 Dette ændrer navnet til BT1

AT+ROLLE? 0 = Slave 1 = Master

Trin 3: HC06 revideret

HC06 revideret
HC06 revideret

En af de største forskelle mellem HC05 og HC06 er, at HC05 kan være master eller slave, mens HC06 kun er slave. Det betyder, at du kan tale mellem en HC05 og en HC06. Der er dog mange andre forskelle.

Selvom jeg kunne have brugt en Arduino til at opsætte min HC06, valgte jeg at bruge en 3.3v CP2102. Se billede

Forbindelser

CP2102 HC06

Gnd Gnd

Vcc Vcc

TXD RXD

RXD TXD

Dette er stort set det samme som HC05, undtagen at min HC06 kun har fire ben.

Min CP2102 er ændret til at levere 3,3V

Min HC06 er ændret til at acceptere 3,3V

CP2102 USB er sluttet til min pc. På min pc bruger jeg Arduino IDE.

Vælg den korrekte "Port", og åbn den serielle skærm.

På min HC06 blinker den røde LED hurtigt, hvilket indikerer, at den er parringsklar, men også kan modtage kommandoer.

Nogle af disse oplysninger kom fra Martyn Currey:

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

Så hver type HC06 kan være anderledes, min returnerer VERSION linvorV1.5

For min HC06 (og sandsynligvis dem alle) er der ingen særlig procedure for at få den i kommandotilstand. Tilsyneladende, hvis det ikke er parret, kan du altid sende kommandoer via den serielle port.

TIP: du kan ikke sende kommandoer til noget Bluetooth -modul (som jeg kender) via Bluetooth.

Åbn den serielle skærm

Klik på den første boks nederst på Serial Monitor og indstil til "ingen linie slutter"

Oprindeligt var min baudrate 9600 baud

Slå Caps Lock til på din pc

I den øverste boks, type AT

Skriv Enter, eller tryk på knappen "Send"

Skærmen skal vise OK

TIP: Hvis du ikke får et OK, kan det skyldes, at baudhastigheden blev ændret eller er anderledes. Du kan prøve forskellige, indtil du forhåbentlig finder den rigtige.

BEMÆRK: Ved at sende flere kommandoer flyttes svarsdataene ikke til den næste linje. Mod bunden kan du klikke på Ryd output.

Kommandoer der virker for mig:

Kommandosvar

AT+VERSION OKlinvorV1.5

AT+NAMEFred returnererOKsetname

(Det fortæller dig ikke navnet, men hvis det er forbundet med Bluetooth, vises det.)

BEMÆRK: hvis du ændrer navnet, vises det gamle navn på din smartphone, indtil du fjerner parring og genparring.

AT+PINxxx Har ikke prøvet det. Defauten er 1234

AT+BAUD8 Ændrer baudrate til 115200

Svar er baudrate, f.eks. 115200

(Efter ændring af baudhastigheden skal du ændre Serial Monitor baudrate til 115200 for at sende yderligere kommandoer.

Muligheder for baudrate

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

BEMÆRK: Jeg har ikke prøvet højere end 8 115200. Jeg har hørt om folk, der prøver højere satser med dårlige resultater.

De andre kommandoer, der formodes at fungere, men ikke er testet:

AT+PN ingen paritetskontrol (standard)

AT+PO ulige paritetskontrol

AT+PE endda paritetskontrol

VIGTIGT: På dette tidspunkt vil jeg foreslå, at du beslutter dig for et unikt navn og sætter det i. Jeg vil også foreslå, at du beslutter dig for den baudhastighed, du vil kommunikere med, sætter den ind og markerer din HC06 med den.

Trin 4: Opsætning af HC05 til HC06

Ok, denne instruktør var mest nyttig for mig:

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

Min opsætning:

SLAVE at finde adresse

HC06 med CP2102 (automatisk i kommandotilstand)

Sæt CP2102 USB -kablet i for at forsyne HC06.

HC06 -LED'en skal blinke hurtigt (parringstilstand).

Åbn indstillinger på din smartphone

Gå til Bluetooth

Søg efter ny enhed

Hvis du ser noget som HC06 eller det navn, du gav det, skal du vælge dette.

Du vil højst sandsynligt se en række tal som 00: 12: 09: 27: 19: 13, det er nok det.

Skriv denne adresse ned. (Nummeret er dets unikke adresse)

Vælg det

Når du bliver bedt om en pinkode, skal du indtaste 1234.

Navnet skal vises.

Hvis du stadig ikke har adressen, skal du vælge navnet under "Tidligere tilsluttede enheder".

Klik på Info, adressen skal vises. Skriv det ned.

Hvis det ikke vises, skal du komme ud af opsætningen og åbne Bluetooth Terminal HC-05-appen.

Under Parrede enheder skal du finde navnet, adressen skal være under det, skrive det ned.

Opsætning af slave

Hvis HC06 LED ikke blinker, skal du tænde for strømmen for at få den tilbage i parringstilstand.

Start Arduino

Under "Værktøjer" "Port" Vælg den korrekte Com -port

Åbn seriel skærm

Nederst i dette vindue

Vælg "Ingen linje slutter" og "9600 baud"

MESTRE

HC05 med CP2102 indstillet i kommandotilstand (EN jumpered high)

Sæt USB -kablet fra CP2102 i pc'en

Jeg fandt ud af, at jeg kan åbne to Arduinos

På den anden Arduino skal du vælge den korrekte Com -port til HC05

Åbn seriel skærm

I bunden af vinduet

Vælg "Både NL&CR" og "38400 baud"

Det følgende er fra ovenstående Instructable

Master konfiguration

De nødvendige AT -kommandoer for at indstille konfigurationen:

KOMMANDO -SVAR Hvad den gør

AT+ROLE = 1 OK Indstil HC05 som master

AT+CMODE = 1 OK Opret forbindelse til specifik adresse

BEMÆRK: HC06 -adressen er sandsynligvis formateret således 00: 12: 09: 27: 19: 13

Kommandoen BIND forventer dette 0012, 09, 27193 (du tager kolonerne ud, tager de første fire tal, derefter komma, de næste to tal, derefter komma, derefter de sidste seks tal)

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

(I øvrigt svarer AT +BIND? Med +BIND: 12: 9: 271913)

(Du vil have HC05 -kommunikationshastigheden til at være den samme som HC06) for eksempel:

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

Sådan testes kommunikation:

Fjern HC05 EN -jumper, strømcyklus.

Når de to er tilsluttet, blinker HC05 LED to gange hvert par sekunder, HC06 LED forbliver konstant tændt.

Indstil begge com -porte til den samme baudhastighed (uanset hvad du konfigurerer)

Indstil begge til “Både NL&CR”

Skriv noget på Serial Monitor1, Serial Monitor2 skal vise det.

Skriv noget på Serial Monitor2, Serial Monitor1 skal vise det.

Tillykke, du kommunikerer via Bluetooth

Nu har ovenstående Instructable nogle skitser om, hvordan man bruger modulerne med Arduino. For denne instruktive vil jeg ikke fordybe mig i dette.

Anbefalede: