Съдържание:

OldMan и Bluetooth2: 4 стъпки
OldMan и Bluetooth2: 4 стъпки

Видео: OldMan и Bluetooth2: 4 стъпки

Видео: OldMan и Bluetooth2: 4 стъпки
Видео: This ancient Egyptian recipe will make an 70-year-old man feel young! 2024, Юли
Anonim
OldMan и Bluetooth2
OldMan и Bluetooth2

Така че този Lazy Old Geek (L. O. G.) най -накрая получи Bluetooth HC05 модул от AliExpress.com. Поръчах една, след като написах тази инструкция:

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

Е, прекарах няколко часа, опитвайки се да накарам това да работи в команден режим без успех. Дори унищожих модул HC05 (вероятно прилагах грешно напрежение), така че трябваше да си купя друг.

СЪВЕТ: Командният режим говори със самия модул HC05 или HC06. Режимът на комуникация говори с друго Bluetooth устройство.

Това, което открих, е много разлики между HC05 и HC06. HC05 може да бъде главен или подчинен, HC06 е само подчинен. По принцип господарят може да говори с роб, двама роби не могат да говорят помежду си. HC05 и HC06 имат различни команди. HC05 трябва да бъде хардуерно конфигуриран, за да премине в команден режим, може да има различни скорости на предаване за комуникация и команден режим.

HC06 винаги е в комуникационен и команден режим. Задаването на скоростта на предаване за едното ще промени другото.

СЪВЕТ: Следете това, тъй като аз не го направих и имах някои проблеми.

СЪВЕТ: Различните HC05 и HC06 могат да се различават от тези, които получих.

HCO6 ще изпълнява команди, но не винаги показва променени резултати, напр. смяна на името.

Стъпка 1: Оценка/промяна

Оценка/модификация
Оценка/модификация
Оценка/модификация
Оценка/модификация
Оценка/модификация
Оценка/модификация

Приложена е схема на HC05, подобна на моята. Две разлики, които знам, са, че има 2.2K резистор между PIO11 (34) и щифта EN, а регулаторът 3.3v е 3 -пинов пакет и няма CE щифт. Приложената снимка е маркирана схема на това, което мисля, че имам.

За целите на програмирането, важното е, че щифт 34 ключ е свързан към EN пина чрез 2.2K резистор. (Той също е свързан с бутона, другата страна е свързана към 3.3V)

Стоковият HC05 изисква 5V захранване, въпреки че работи с 3.3V сигнали, така че промених моя HCO5, за да използва 3.3V вместо това. Премахнах регулатора 3.3V и пуснах джъмпер от щифта VCC директно към 3.3V. Това е показано на модифицираната схема и моята модифицирана HC05 картина.

Между другото, приложеният HC05 Command Set.pdf съдържа ценна информация за използването на HC05, за съжаление не е много удобен за потребителя.

Стъпка 2: Програмиране на HC05

Програмиране на HC05
Програмиране на HC05
Програмиране на HC05
Програмиране на HC05

Реших, че най -лесният начин да използвам HC05 е да го свържа към един от моите CP2102 3.3V серийни адаптери, както направих в Old Man And Bluetooth Instructable с HC06. Вижте снимката и схемата.

ВАЖЕН СЪВЕТ: За да включите HC05 в команден режим, щифтът PIO11 (34) трябва да бъде висок, преди да се приложи 3.3V. EN щифтът на моя HC05 е свързан към PIO11 чрез 2.2K резистор, така че просто трябва да бъде свързан към 3.3V. Схемата показва това като програмни щифтове, но просто поставете джъмпер от 3.3V към EN щифт. Уверете се, че правите това, преди да включите захранването. По моя можете да разберете дали сте в команден режим, защото светодиодът HC05 ще мига бавно. Ако мига бързо, значи сте в режим на сдвояване и трябва да опитате отново.

СЪВЕТ: HC05 в командния режим винаги говори с скорост 38400 бода. Всички команди са с главни букви и трябва да бъдат последвани от CR и LF. (Това е различно от HC06)

СЪВЕТ: Форматът на командата е много строг. Винаги използвайте капачки. Всички те започват с „AT“Следвайте ги точно, не можете да добавяте интервали, където не са показани.

Стартирайте Arduino. Отидете на „Инструменти“„Порт“и изберете Com порт, към който е свързан CP2102.

Отворете серийния монитор. В долната част на този прозорец изберете „И NL, и CR“и „38400 бода“. (NL означава New Line, което е същото като LF, което е Line Feed).

Към върха има поле до бутона Изпращане, щракнете върху него.

На вашия компютър включете Caps Lock

Въведете AT

Големият прозорец трябва да показва „OK“.

Вие комуникирате в команден режим

Някои команди, които работят върху моите

AT

AT+RESET

В+ВЕРСИЯ?

НА+ИМЕ?

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

AT+ИМЕ = BT1 Това променя името на BT1

В+РОЛЯ? 0 = Подчинен 1 = Господар

Стъпка 3: HC06 отново

HC06 Повторно посещение
HC06 Повторно посещение

Една от основните разлики между HC05 и HC06 е, че HC05 може да бъде главен или подчинен, докато HC06 е само подчинен. Това означава, че можете да говорите между HC05 и HC06. Има обаче и много други разлики.

Въпреки че можех да използвам Arduino за настройка на HC06, избрах да използвам 3.3v CP2102. Вижте Снимка

Връзки

CP2102 HC06

Gnd Gnd

Vcc Vcc

TXD RXD

RXD TXD

Това е почти същото като HC05, с изключение на това, че HC06 има само четири пина.

Моят CP2102 е модифициран да захранва 3.3V

Моят HC06 е модифициран да приема 3.3V

CP2102 USB е свързан към моя компютър. На моя компютър използвам Arduino IDE.

Изберете правилния „Порт“и отворете серийния монитор.

На моя HC06 червеният светодиод мига бързо, което показва, че е готов за сдвояване, но също така може да получава команди.

Част от тази информация идва от Мартин Кюри:

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

Така че всеки тип HC06 може да е различен, моят връща VERSION linvorV1.5

За моя HC06 (и вероятно всички от тях) няма специална процедура за превключването му в командния режим. Очевидно, ако не е сдвоен, винаги можете да изпращате команди през серийния порт.

СЪВЕТ: не можете да изпращате команди към който и да е Bluetooth модул (за който знам) чрез Bluetooth.

Отворете серийния монитор

Щракнете върху първото поле в долната част на Serial Monitor и задайте „без завършване на ред“

Първоначално скоростта ми на предаване беше 9600 бода

На вашия компютър включете Caps Lock

В горната кутия въведете AT

Въведете Enter или докоснете бутона „Изпращане“

Екранът трябва да показва OK

СЪВЕТ: Ако не получите ОК, може да се дължи на това, че скоростта на предаване е променена или е различна. Можете да опитате различни, докато, надявам се, не намерите правилния.

ЗАБЕЛЕЖКА: Изпращайки множество команди, данните за отговор не се преместват в следващия ред. Към дъното можете да кликнете върху Изчистване на изхода.

Команди, които работят за мен:

Команден отговор

В+ВЕРСИЯ OKlinvorV1.5

AT+NAMEFred връща OKsetname

(Не ви казва името, но ако е свързано чрез Bluetooth, ще се появи.)

ЗАБЕЛЕЖКА: ако промените името, старото име ще се показва на вашия смартфон, докато не раздвоите и не сдвоите отново.

AT+PINxxx Не съм пробвал. По подразбиране е 1234

AT+BAUD8 Променя скоростта на предаване до 115200

Отговорът е скорост на предаване, напр. 115200

(След като промените скоростта на предаване, трябва да промените скоростта на предаване на Serial Monitor на 115200, за да изпратите допълнителни команди.

Опции за скорост на предаване

1 1200

2 2400

3 4800

4 9600 (по подразбиране)

5 19200

6 38400

7 57600

8 115200

9 230400

А 460800

B 921600

C 1382400

ЗАБЕЛЕЖКА: Не съм опитвал по -високи от 8 115200. Чувал съм за хора, опитващи по -високи проценти с лоши резултати.

Другите команди, които трябва да работят, но не са тествани:

AT+PN без проверка на паритета (по подразбиране)

AT+PO проверка на нечетен паритет

AT+PE проверка за равностойност

ВАЖНО: На този етап бих ви предложил да решите уникално име и да го въведете. Също така бих ви предложил да решите скоростта на предаване, на която искате да комуникирате, да я поставите и да маркирате вашия HC06 с нея.

Стъпка 4: Настройване на HC05 на HC06

Добре, този Instructable беше най -полезен за мен:

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

Моята настройка:

РАБ намира адрес

HC06 с CP2102 (автоматично в команден режим)

Включете USB кабела CP2102 в захранването на HC06.

Светодиодът HC06 трябва да мига бързо (режим на сдвояване).

На вашия смартфон отворете настройките

Отидете на Bluetooth

Търсете ново устройство

Ако видите нещо като HC06 или името, което сте му дали, изберете това.

Най -вероятно ще видите низ от числа като 00: 12: 09: 27: 19: 13, това вероятно е всичко.

Запишете този адрес. (Номерът е неговият уникален адрес)

Изберете го

Когато бъдете помолени за ПИН, въведете 1234.

Името трябва да се покаже.

Ако все още нямате адреса, под „Предишно свързани устройства“изберете името.

Щракнете върху Информация, Адресът трябва да се покаже. Да го напишеш.

Ако не се показва, излезте от настройката и отворете приложението Bluetooth Terminal HC-05.

Под Сдвоени устройства намерете името, адресът трябва да е под него, запишете го.

Slave Setup

Ако светодиодът HC06 не мига, изключете захранването, за да го върнете в режим на сдвояване.

Стартирайте Arduino

Под „Инструменти“„Порт“Изберете правилния Com порт

Отворете Serial Monitor

В долната част на този прозорец

Изберете „Без завършване на ред“и „9600 бода“

МАЙСТЕР

HC05 с CP2102, зададен в команден режим (EN прекъснат високо)

Включете USB кабела от CP2102 в компютър

Разбрах, че мога да отворя два Arduino

На втория Arduino изберете правилния Com порт за HC05

Отворете Serial Monitor

В долната част на прозореца

Изберете „И NL&CR“и „38400 бода“

Следното е от горната инструкция

Главна конфигурация

Необходимите AT команди за задаване на конфигурацията:

КОМАНДА ОТГОВОР Какво прави

AT+ROLE = 1 OK Задайте HC05 като главен

AT+CMODE = 1 OK Свържете се с конкретен адрес

ЗАБЕЛЕЖКА: Адресът на HC06 вероятно е форматиран така 00: 12: 09: 27: 19: 13

Командата BIND очаква това 0012, 09, 27193 (изваждате двоеточията, вземате първите четири числа, след това запетая, следващите две числа, след това запетая, после последните шест числа)

AT+BIND = 0012, 09, 271913 OK Свързва/свързва с HC06

(Между другото AT +BIND? Отговаря с +BIND: 12: 9: 271913)

(Искате скоростта на комуникация HC05 да е същата като HC06) например:

AT+UART = 115200, 0, 0 OK Скорост на предаване 115200 (1стоп бит, без паритет)

За да тествате комуникациите:

Премахнете джъмпера HC05 EN, цикъл на захранване.

Когато двете са свързани, светодиодът HC05 ще мига два пъти на всеки няколко секунди, светодиодът HC06 ще свети непрекъснато.

Задайте двата com порта на една и съща скорост на предаване (каквото и да настроите)

Задайте и двете на „И двете NL&CR“

Въведете нещо на Serial Monitor1, Serial Monitor2 трябва да го покаже.

Въведете нещо на Serial Monitor2, Serial Monitor1 трябва да го покаже.

Поздравления, комуникирате чрез Bluetooth

Сега горният Instructable има някои скици за това как да използвате модулите с Arduino. За този Instructable няма да се задълбочавам в това.

Препоръчано: