- Лоботрясы

Поиск
Перейти к контенту

Главное меню:

Датчики и модули

Читать в Яндекс.Подписках



    Мучаем Bluetooth-модули. Часть 1 - HC-03, HC-04, HC-05, HC-06.
Просмотров: 112588
     Вступление (или оправдание за очччень большой объем предлагаемой ниже информации к размышлению).
     Для чего нужен Bluetooth, я думаю объяснять не надо. Каждый, кто о нём когда-то слышал или сталкивался (а это, наверное, все без исключения) знают, что с его помощью можно осуществить радиосвязь между смартфонами, или смартфоном и адаптером, встроенном в ноутбук или компьютер. Bluetooth-модули часто применяются для передачи данных в принтеры, считывания сигналов с GPS и для работы прочей высокотехнологичной фигни. Для нас же, электронщиков, особый интерес вызывает возможность обеспечения связи двух микроконтроллеров по воздуху, когда один подключается к Bluetooth-мастеру, а другой соединяется с ведомым устройством. Такая связь по Bluetooth соответствует обычному последовательному интерфейсу UART с  RXD и TXD линиями данных. Или же интересна возможность контролирования чего-нибудь, получая информацию об этом на терминальную программу своего карманного гаджета.
     С Bluetooth-модулями познакомиться я хотел уже давно. Вынашивая идею тотальной автоматизации своей среды обитания (то бишь квартиры), одним из путей доступа к системе управления своей берлогой кроме обычных (или необычных – сенсорных) кнопочек я предусматривал и наличие беспроводной связи через смартфон. В большинстве предлагаемых коммерческих системах Вумный дом такая система управления через телефон давно предусмотрена, однако цены на такие блага цивилизации грозят вызвать полную импотенцию. Поэтому, можно рассматривать такое положение вещей как своеобразную мотивацию, к тому же, пытливый человеческий ум всегда стремится к новым знаниям (особо одарённых и почитателей зелёного дракона просьба не беспокоиться).
 
     Завязка.
     Так вот, купив эдак с годик назад пару Bluetooth-модулей, начал собирать про них имеющуюся информацию. Переплачивать за Arduino-совместимые модули (с подключёнными к внешней контактной панельке выводами управления) мне не дала Жаба, поэтому приобрёл чисто одни модули под распайку. Однако, повышенное требование насяльников на работе повысить активность по выполнению по-большей части никому не нужной рабочей хрени (не суть важно где я работаю – все СИСТЕМЫ одинаковы…) заставило меня забыть не только предполагаемые планы по изучению новых для меня электронных ништячков, но даже и сам тип приобретенных модулей, что в конце отразилось на моём подходе к написанию данной статьи и созданию макетных платок для них (to be continued). 
     Единственное, что точно поддалось быстрой идентификации, это то, что мои модули были из версий HC-03...HC-06. Скачав и изучив внимательно даташиты и руководство пользователя по ним, а также приняв во внимание всевозможные грабли и подводные камни, которые попадались другим пионерам в освоении китайских диковинок, решил собрать всю (ну, или почти всю) важную информацию по работе с данными Bluetooth-модулями воедино (только работа! Никаких перепрошивок :-). А банальное любопытство заставило также поинтересоваться особенностями более современных девайсов серий HC-07...HC-09. Тем не менее, акцент в статье я всё же ставлю на модули HC-03...HC-06, пара из которых точно лежат у меня в тумбочке и с которыми планирую побаловаться на практике.

     Кульминация:
     В общем, о чём мне поведали даташиты, руководство пользователя и прочая беллетристика из интернета… (Achtung!!! Слишком много букофф!!! Трижды подумайте – нужно ли вам это читать вообще?!) 
     Так вот, рынок электроники с легкой подачи жителей Поднебесной завален такими типами модулей:
- HC-03, HC-04(HC-04-M, HC-04-S) на чипе BC417143 – для промышленного применения;
- HC-05, HC-06(HC-06-M, HC-06-S) на чипе BC417143 – для коммерческого применения;
- HC-05-D, HC-06-D (с отладочной платой для оценки и тестирования);
- HC-07 – модуль с чипом CSR 41C6, предназначен для замены HC-06 (полностью с ним совместимый);
- HC-08 – модуль с ультранизким энергопотреблением и протоколом Bluetooth 4.0;
- HC-09 – самый новый модуль, предназначенный для замены HC-06 и HC-07.
     Вот эти герои собственной персоной (HC-03…HC-06, HC-07, HC-08 и HC-09 соответственно):
 
 
     Теперь о каждом герое поподробнее…
 
HC-03… HC-06
     Краткие характеристики модулей:
- чип Bluetooth – BC417143 производства CSR company (Cambridge Silicon Radio);
- протокол связи – Bluetooth Specification v2.0+EDR;
- радиус действия – до 10 метров (уровень мощности 2);
- совместимость со всеми Bluetooth-адаптерами, которые поддерживают SPP;
- объем flash-памяти (для хранения прошивки и настроек) – 8 Мбит;
- частота радиосигнала – 2.40 .. 2.48 ГГц;
- хост-интерфейс – USB 1.1/2.0 или UART;
- энергопотребление  ток в течение связи составляет 30-40 мА. Среднее значение тока около 25 мА. После установки связи потребляемый ток 8 мА  Режим сна отсутствует.
 
     Как вы уже наверное поняли, все модули HC-03… HC-06 выполнены на базе одного микроконтроллера BC417143, поэтому их (модулей) функционал отличается только его прошивкой. 
     Bluetooth -модули могут иметь два режима работы – master (ведущий) и slave (ведомый), причём для модулей HC-04 и HC-06 определённый режим уже установлен на заводе-изготовителе и меняться не может, разве что перепрошивкой (например HC-04-M – master или HC-06-S – slave). А вот модули HC-03 и HC-05 позволяют выбрать нужный режим работы с помощью АТ-команд, причём изначально в этих модулях установлен режим slave. Bluetooth-модули HC-04 и HC-06, и, соответственно, HC-03 и HC-05 взаимно совместимы между собой по функциям. HC-04 и HC-06 - это ранние версии модулей, в которых, помимо невозможности изменения режима работы, имеются всего несколько рабочих AT-команд: установка имени Bluetooth-модуля (только для slave), пароля, скорости передачи данных и проверка номера версии. Набор команд в HC-03 и HC-05 является более широким, поэтому они более предпочтительны для радиолюбительского применения.
 
     Распиновка и назначение выводов модулей HC-03… HC-06:
TX, RX, CTS, RTS  линии UART;
PCM CLK, PCM OUT, PCM IN, PCM SYNC  последовательный PCM-интерфейс (импульсно-кодовая модуляциядля передачи цифрового звука;
AIO0AIO1 – линии аналогового входа/выхода;
RESET – линя сброса;
3.3 V – питание, естественно;
GND – земля;
NC – не задействован;
USB D+, USB D- – линии данных интерфейса USB;
CSB, MOSI, MISO, CLK – интерфейс SPI;
PIO0-PIO11 – линии ввода/вывода.

     Правда, большинство из вышеперечисленных выводов в идущих с завода-изготовителя прошивках не работают (да и больно надо!), а для осуществления передачи данных по Bluetooth для пользователя доступны следующие сигналы:
     Для минимума работы с модулем достаточно подключить RXD и TXD выводы микроконтроллера (3.3V) к, соответственно, UART_RXD и UART_TXD выводам Bluetooth-модуля, ну и естественно подключить питание к выводам 3.3V и GND. Для связи между двумя Bluetooth-модулями требуется выполнение как минимум двух условий: 
- соединение должно быть установлено между ведущим и ведомым модулями (само собой разумеющаяся истина…);
- правильность пароля.

     Модули HC-04/HC-06 изначально имеют такие настройки: скорость UART - 9600  (8 бит данных, без бита чётности, стоп бит (8N1)); пароль - 1234. Чаще всего прошивка модуля предполагает его работу в качестве ведомого (slave) устройства.
     Модули HC-03/HC-05 изначально имеют такие настройки: скорость UART - 38400 (8N1) для 1-го режима АТ-команд (модуль входит в этот режим при одновременной подаче питания на модуль и на PIN34) и 9600 (8N1) для 2-го режима АТ-команд  (модуль входит в этот режим подачей ‘1’ на PIN34 после включения питания модуля) и для режима обмена данными; пароль - 1234. 
     В отличие от HC-03/HC-05, где вход в режим АТ-команд осуществляется манипуляциями с выводом PIN34, модули HC-04/HC-06 в режиме АТ-команд находятся до установки связи с другим Bluetooth-устройством (о чём свидетельствует мигающий LED). Непрерывное горение LED будет свидетельствовать о входе в режим передачи данных.

     А теперь ещё страшнее - перечень AT-команд! Для HC-04/HC-06 их ещё немного, а вот для модулей HC-03/HC-05 их целых 36 штук! Естественно, все они вряд ли пригодятся для радиолюбительской деятельности, поэтому я приведу, на мой взгляд, самые заслуживающие внимание. За остальными  в даташит-с, батенька!
     Achtung! Очень важное примечание! Команды в модулях HC-04/HC-06 не имеют окончания, то есть в конце команд не нужно добавлять символы CRLF (они же /r/n, они же 0Dh 0Ah  - возврат каретки и перевод строки)! Допускается отправка только одной АТ-команды в секунду (к тому же, рекомендуется, команда должна быть введена очень быстро)!
     Для модулей HC-03/HC-05 напротив, все команды должны иметь окончание /r/n (0x0D 0x0A).
     Ещё пара нюансов по работе с HC-04/HC-06:
     Пользователь может задать новый пароль для HC-06 командой AT+PINxxxx. Но новый пароль станет активным после полной разрядки модуля (после выключения). Если модуль все еще имеет запасённую энергию, старый пароль еще действует. Для полной разрядки модуля и активации нового пароля, можно соединить вывод 3.3V с GND примерно на 20 секунд после отключения модуля от питания. Как правило, выключение устройства на 30 минут также даёт возможность полного разряда. Так что, выбирайте наиболее понравившийся вам способ (я для себя уже определил, а вы?).
     Если же вас не устраивает функционал имеющегося у вас Bluetooth-модуля, то вот здесь и вот здесь вы можете ознакомиться с нюансами его перепрошивки.
     

     Скачать:

Опубликовано 28.11.2014
© Igoryosha, 2014
 
 
Назад к содержимому | Назад к главному меню