Arduino подключение Bluetooth модуля HC-05 / HC-06 » Ардуино Уроки

Arduino подключение Bluetooth модуля HC-05 / HC-06 » Ардуино Уроки Самолеты

Микросхемы и модули контроллеров, поддерживающие логические протоколы высокого уровня

В настоящее время серийно выпускается только одна микросхема с поддержкой протокола высокого уровня – чип LMX9820 компании National Semiconductors, в то время как модули доступны достаточно широко, например, Multi-Tech, Amber Wireless и др. Кроме того, российские разработчики проявили интерес к разработке этих модулей.

Являясь подразделением компании “Альтоника”, она производит Bluetooth-модули семейства OSA классов мощности I и II. Блок-схемы и внешний вид таких модулей аналогичны показанным ранее, с той лишь разницей, что программирование хранится либо во флэш-памяти модуля, либо во внешнем контроллере.

LMX9820 – Драйвер последовательного порта Bluetooth (SPP-профиль)

Микросхема последовательного порта LMX9820 Bluetooth компании National Semiconductor, выполненная на подложке из низкотемпературной обожженной керамики (LTCC), представляет собой СБИС, состоящую из приемопередатчика, контроллера и памяти.

И С содержит практически все необходимое аппаратное и программное обеспечение, включая его верхние уровни, такие как Generic Access Profile (GAP), Service Discovery Application Profile (SDAP) и Serial Port Profile (SPP), и имеет конфигурируемую базу данных, которая позволяет реализовать в контроллере управления другие профили Bluetooth.

Он основан на 16-разрядном ядре CompactRISCTM компании National Semiconductor® и технологии Digital Smart Radio. Его программное обеспечение представляет собой полный стек Bluetooth стандарта v1.1, включающий профили и функции командного интерпретатора.

И С может использоваться для связи “точка-точка” и “точка-многоточка”, при этом скорость передачи данных RFComm может достигать 704 кбит/с. Одновременно может существовать до трех активных Bluetooth-соединений. Схематически LMX9820 показана на рис. Ниже приведена сводка наиболее важных параметров микросхемы.

Рис. 16

Эл. аппаратура

  • Физический уровень (baseband) и контроллеры каналов (link control).
  • Ядро CompactRISC.
  • Встроенная память:
  • Порт команд/данных UART:
  • Поддерживает скорость передачи данных до 921,6 кбит/с.
  • Поддерживает скорость передачи данных до 921,6 кбит/с.
  • Вспомогательные интерфейсные порты:
  • Статус соединения;
  • Статус приемопередатчика (приемник/передатчик);
  • Управление режимом работы: режим Bluetooth (по умолчанию);
  • Режим внутрисхемного программирования (ISP).
  • Статус соединения;

Часть ПО.

  • Полный программный стек Bluetooth, включая:
  • Управление физическим уровнем (Baseband Manager) и управление каналом связи (Link Manager);
  • Протоколы L2CAP, RFCOMM, SDP;
  • Профили:
  • Поддержка дополнительных профилей на контроллере (Host): DUN (Dial Up Networking); FAX (Facsimile Profile); FTP (File Transfer Protocol); OPP (Object Push Profile); SYNC (Synchronization Profile).
  • Dial Up Networking (DUN);
  • Facsimile Profile (FAX);
  • File Transfer Protocol (FTP);
  • Object Push Profile (OPP);
  • Synchronization Profile (SYNC)
  • Встроенные функции программного обеспечения: командный интерфейс
  • Установление и управление соединениями (включая многоточечные); конфигурация модуля; программирование шлейфа; изменение базы данных поддерживаемых услуг; стандартные соединения; прозрачный режим UART; различные режимы работы: автоматический режим; командный режим.
  • Командный интерфейс:
  • Создание и управление соединениями (включая многоточечные);
  • Конфигурация модуля;
  • Программирование на кристалле;
  • Изменение базы данных поддерживаемых услуг;
  • Стандартные соединения;
  • Прозрачный режим UART;
  • Создание и управление соединениями (включая многоточечные);
  • Конфигурация модуля;

Цифровой трансмиттер

  • Позволяет осуществлять синхронизацию от внешнего резонатора или генератора: частота 12 МГц;
  • Общая погрешность не более 20 ppm для соответствия стандарту Bluetooth.
  • Частота 12 МГц;
  • Общая погрешность не более 20 ppm для соответствия стандарту Bluetooth.
  • Синтезатор: встроенный VCO и петлевой фильтр; обеспечивает необходимые тактовые сигналы для приемопередатчиков и контроллеров.
  • Встроенный ПНЧ (VCO) и петлевой фильтр
  • Обеспечивает необходимые тактовые сигналы для приемопередатчиков и контроллеров.
  • Антенный выход (номинальный импеданс 50 Ом):
  • Встроенные фильтры обеспечивают оптимальную производительность для внеполосных излучений.
  • Встроенные фильтры обеспечивают оптимальные характеристики для излучения за пределами рабочей полосы частот.
  • Встроенный переключатель передачи/приема (полнодуплексная работа на выходе антенны).
  • Встроенные согласующие петли.

Компоненты этого класса де-факто обязаны поддерживать профиль SPP, который включает SDP и RFCOMM в качестве логических протоколов верхнего уровня. Кроме того, все устройства этого класса поддерживают профили GAP и SDAP для использования во время обслуживания.

Некоторые устройства поддерживают и другие профили, такие как DNP (Dial-up Networking Profile), LAP (LAN Access Profile) и т.д., но они не популярны на российском рынке. Профиль SPP позволяет использовать модули Bluetooth для замены существующих проводных соединений через последовательный канал (Serial Cable Replacement) с минимальными изменениями программного обеспечения, а иногда даже без них.

К недостаткам этих устройств можно отнести их высокую стоимость и плохую взаимозаменяемость (пользовательский интерфейс обычно строится на основе AT-команд, но общепринятых стандартов не существует). В дополнение ко второму недостатку, высокая цена этих модулей (от нескольких десятков долларов до нескольких сотен за функционально законченные адаптеры) делает их использование весьма затруднительным в крупном и даже среднем производстве.

Пока их использование можно рекомендовать только в мелкосерийном производстве. Несмотря на это, ситуация очень быстро меняется, и ведущие компании в последнее время обращают свое внимание на поддержку высокоуровневых логических протоколов на своих модулях Bluetooth, что означает, что в будущем они, скорее всего, будут стоить дешевле.

Infineon уже поставляет модуль ROK101004 в двух вариантах, с поддержкой профилей aHCI и SPP. National Semiconductor анонсировала семейство Simply Blue, первый представитель которого, LMX9830, скоро появится в продаже.

Но до “магической” цифры в $5 (с которой, по мнению многих аналитиков, начнется настоящий бум Bluetooth-технологий) еще довольно далеко. Сравнительные характеристики некоторых типов Bluetooth-модулей, поддерживающих протоколы верхнего уровня, доступных на отечественном рынке, приведены в таблице 2, из которой видно, что модули существенно отличаются между собой по скорости передачи данных UART, габаритным размерам и способу монтажа. Помимо интерфейсов, указанных в таблице 2, большинство модулей имеют дополнительные контакты для индикации состояния соединения.

Таблица 2. Сравнительные характеристики некоторых модулей Bluetooth с поддержкой протокола верхнего уровня

Микросхемы радиоканала

Усилия производителей электроники по улучшению технологии и надежности новых разработок привели к тому, что этот тип ИС был в значительной степени заменен ИС более высокого уровня и функционально законченными модулями Bluetooth.

Несмотря на это, некоторые компании продолжают выпускать микросхемы для использования на физическом уровне. В качестве примера компания Atmel предлагает хорошо известную микросхему T7024. Недостатком таких элементных баз является то, что они требуют большого количества внешних приспособлений, а их управление является сложным.

Существует лишь несколько чисто специфических задач, которые можно решить по-другому с помощью этих микросхем, и, пожалуй, это единственное оправданное их применение. Например, отдельные радиопередающие устройства можно объединить, используя общий частотный диапазон.

T7024 – микросхема входной ВЧ цепи (рис. Процессор Band 1 был разработан для использования в диапазоне 2,4-2,5 ГГц. Он состоит из усилителя мощности UM, малошумящего усилителя LNA и антенного коммутатора. Усилитель мощности трехкаскадный, с аналоговым управлением и возможностью перевода усилителя в выключенное состояние.

Усилитель обеспечивает выходную мощность в высокочастотном диапазоне 23 дБм. МШУ представляет собой управляемый двухкаскадный усилитель с типичным коэффициентом шума 2,1 дБ. Схема размещена в небольшом корпусе QFN20. В этой схеме цепи фильтрации, согласования, стабилизации и фильтрации напряжения питания должны быть реализованы на внешних дискретных компонентах. Таким образом, вы видите, что для этого класса ИС трудно получить хорошие параметры заземления и размеров.

Смотрите про коптеры:  Мультикоптеры в СПб, Москве. Цены на мультикоптеры с камерой.

Однако эти детали очень специфичны, поскольку содержат такие микросхемы, как RF2172 от RF Micro Devices, PA2423 от SiGe и CGB240 от TriQuint Semiconductor. Они обычно используются, когда устройству требуется увеличение мощности, например, переход от класса II к классу I, а компонентов высокого уровня для этого класса мощности нет.

Данная микросхема представляет собой высокоэффективный компактный ВЧ усилитель средней мощности (пакет GFN16 4*4*1 мм). Тип управления – аналоговый. Для обеспечения работы усилителя используются микросхемы на подложках GaAs и гетерофункциональные биполярные транзисторы.

В большинстве случаев напряжение питания составляет 3,6 В, а выходная мощность – 23,5 дБм, обеспечивая до 100 мВт на антенном разъеме. При достижении максимальной выходной мощности КПД составляет 45%. Регулировка усиления варьируется от 0 до 28 дБ. Будучи рассчитанным на широкий диапазон частот (902-928 МГц и 2,4-2,5 ГГц), этот усилитель получил широкое распространение не только в приложениях WLAN и Bluetooth, но и в сотовых телефонах. На рис. 3 показана общая принципиальная схема RF2172 для усиления радиочастотных сигналов в диапазоне 2,45 ГГц. 2.

Монолитная интегральная схема (ИС), способная работать в диапазоне 2,4-2,5 ГГц, представляет собой усилитель мощности CGB240. При максимальной выходной мощности 23 дБм обеспечивается КПД 50%, а также возможность цифровой регулировки коэффициента усиления.

В миниатюрном корпусе MSOP-10 размером 3 на 3 на 3 на 1,05 мм размещена микросхема, которая работает от 2,0 до 5,5 В при температуре -20,85°C. На рис. 1 показана схема включения усилителя мощности с использованием согласующих цепей на дискретных компонентах. 3. Из рис. 3 и 4 видно, что обе эти микросхемы требуют большого количества внешних элементов.

Ры. 3.

Таблица 4

Транссивер

Примерами микросхем этого класса являются, например, BCM2002 от Broadcom, LMX3162 от National Semiconductor, SiW1711 от RF Micro Devices, ML7050 от OKI и SGN6010 от Signia. По сравнению с микросхемами радиоканалов, они обладают большей функциональностью, поскольку включают в себя все необходимые компоненты для преобразования радиочастотных сигналов в электрические.

Все вышесказанное справедливо, но в меньшей степени, и для микросхем радиоканалов. в современных разработках они используются довольно редко из-за вытеснения их компонентами с более высокой степенью интеграции. Одним из ярких примеров является однокристальный радиочастотный трансивер Xemics XE1413. Он совместим со спецификацией Bluetooth v1.2.

Благодаря низкому напряжению питания (1,8 В) и низкому энергопотреблению, а также небольшому размеру чипа (размер корпуса TQFN40 6 * 6 * 0,75 мм), чип легко интегрировать в небольшие устройства, использующие питание от батарей, например, телефонные гарнитуры.

Мощность передатчика составляет 3 дБм, а мощность приемника – 85 дБм. Мощность передатчика можно регулировать с шагом 2 дБ. Для управления и связи с приемопередатчиком используется последовательный интерфейс SPI, который не создает никаких проблем при интеграции в модуль.

В чипе используется технология SiGe BiCMOS. Приемопередатчик подходит не только для модулей Bluetooth, но и для медицинского оборудования, мобильных и сотовых телефонов, персональных цифровых помощников и ноутбуков. -От -40 до +100 градусов F. Благодаря возможности работы при высоких температурах (80°C) и долговременной надежности, чип хорошо продается в сегменте электронного оборудования для промышленного и военного использования.

На рис. 1 показана типичная схема подключения. Несмотря на большое количество необходимых внешних компонентов, модуль не должен иметь проблем с размерами при использовании небольших компонентов поверхностного монтажа.

Среди других популярных чипов этого класса – SiW1711, который сочетает в себе приемопередатчик и модем на одном полупроводниковом чипе. По техническим характеристикам чип совместим со спецификациями Bluetooth v1.1 и v1.2.

Приемная часть микросхемы использует прямое преобразование частоты, поэтому внешняя фильтрация не требуется. Приемник трансивера чувствителен к -85 дБм, а передатчик – к 4 дБм (что соответствует классу 2) на высокой частоте.

Микросхема потребляет очень мало энергии, а наличие в ней внутренней схемы стабилизации напряжения питания позволяет использовать источники питания с диапазоном напряжения питания 1,62-3,63 В. Принципиальная схема приемопередатчика и его размещение в модуле Bluetooth показана на рисунке 5.

Ры. 5

S TLC2150 (рис. 1) сможет работать на небольшом расстоянии. Модуль ST Microelectronics Bluetooth Module v1.2 (классы мощности 2 и 3) совместим со спецификацией Bluetooth v1.2. На этом чипе можно реализовать модуль класса мощности 1, используя внешний усилитель мощности РЧ.

Трансивер поддерживает скорость передачи до 432 кбод в симметричном режиме и 721 кбод в асимметричном режиме. Напряжение питания должно составлять от 2,62 до 2,78 В, что в некоторых случаях имеет свои недостатки. Чип размещен в корпусе VQFPN48 размером 7×7×1 мм.

Рик. 6

Радиокот :: bluetooth по-китайски: теория и практика

РадиоКот >Схемы >Цифровые устройства >Примочки к ПК >

Bluetooth в китайском языке: теория и практика.

На этот раз мы рассмотрим Bluetooth-модули HC-04, которые уже достаточно распространены. Благодаря нашим китайским друзьям, низким ценам от Dealextreme и бесплатной доставке от Dealextreme, я полагаю, что не ошибаюсь, думая, что они широко доступны.

Он может быть легко интегрирован в существующие системы с RS232, позволяя отправлять байты на вход, например, радиоканала, и передавать их – фактически система имеет порт радиорасширителя, поэтому все очень просто и легко интегрируется.

Этот тип модуля известен под разными названиями (по крайней мере, разные названия указаны на сайте): HC-04, HC-05, BC04, BC05, BC06, RF-BT0417C, BT0417 и так далее. Однако все они работают на одном и том же микроконтроллере BC417143B от Cambridge Silicon Radio (CSR). BlueCore4 – это решение, используемое здесь, и все модули, построенные на его основе, выглядят довольно похожими, поскольку они, очевидно, основаны на одном и том же эталонном дизайне. Просмотрев довольно много изображений модулей, можно сказать, что различия минимальны: немного другое расположение кварца, немного другой размер, не более того.

Интерфейсы и функции BC417143B достаточно полны:

Arduino подключение Bluetooth модуля HC-05 / HC-06 » Ардуино Уроки

 

Как обычно в этом случае, функциональность модуля основана в первую очередь на его прошивке, что и является причиной кажущегося огромного количества его названий.

Вот что прислала мне компания Dealextreme:

Arduino подключение Bluetooth модуля HC-05 / HC-06 » Ардуино Уроки

Его размеры составляют 27H13 мм, а питание осуществляется от напряжения 3,3 В; он потребляет до 30 мА при подключении и около 8 мА при стабильной работе. Он поддерживает Bluetooth 2.0. Работает в двух режимах: AT-команды (для настроек и управления) и передача данных (простые текстовые сообщения, передаваемые по последовательному интерфейсу), а переключение между режимами – аппаратное (в зависимости от состояния конкретной ножки). Устанавливает стандартную скорость UART от 1200 до 115200 с помощью AT-команд (по умолчанию – 9600 8N1).

Смотрите про коптеры:  Управление освещением со смартфона через блютуз

Назначение контактов следующее:

Arduino подключение Bluetooth модуля HC-05 / HC-06 » Ардуино Уроки

 

А вот и эта чудесная картина:

Arduino подключение Bluetooth модуля HC-05 / HC-06 » Ардуино Уроки

 

Простейшая реализация предполагает подключение выводов Rx-Tx и питания – это все, что вам нужно для связи с устройством.

В режиме AT-команд модуль переключается путем выдергивания контакта питания PIO11 и последующего сброса, но в режиме передачи данных этот контакт заземляется или висит в воздухе.

Поскольку в состоянии по умолчанию этот модуль почти ничего не делает (все команды заканчиваются на 0x0D и 0x0A), то следующие команды ограничены до минимума:

АТ – ответ OK

AT BAUDx, где (x = 1…8, соответствует скоростям 1200…115200) – установка скорости интерфейса, ответ OKxxx, где xxx – заданная скорость.

A T NAMEname – установить имя модуля, ответ: OKname

A T PINxxxxx – установите пин-код для соединения xxxx, ответ – OKxxxxx

Вот и все. В результате модуль не может выступать в роли инициатора соединения, ведущего, он может быть только ведомым. Применение найти можно, но оно почему-то оказывается скучным.

Опции? Прошивка, что же еще. Однако давайте сначала сделаем несколько плат, чтобы нам было удобнее работать с модулем.

Первый вариант

Расположение пластины показано на рисунке:

Arduino подключение Bluetooth модуля HC-05 / HC-06 » Ардуино Уроки

 

Есть линейный регулятор для питания модуля 3.3V, все выводы подключены к пинам, добавлено несколько светодиодов состояния (на момент изготовления платы я не знал, как она будет работать на самом деле, поэтому постарался учесть все элементы управления и индикаторы, которые видел в различных схемных модулях – отсюда и такое изобилие в схеме).

В собранном виде она выглядит следующим образом

Arduino подключение Bluetooth модуля HC-05 / HC-06 » Ардуино Уроки

 

Уже после (забегая вперед) перепрошивки модуля плата была изготовлена по второму варианту:

Arduino подключение Bluetooth модуля HC-05 / HC-06 » Ардуино Уроки

 

Поскольку суть контроллера та же, но для удобства экспериментов есть кнопки для сброса и изменения режима работы модуля. Поскольку у меня не было времени сфотографировать собранный модуль, я сразу вставил его в устройство. Поэтому вот скриншот для наглядности:

Arduino подключение Bluetooth модуля HC-05 / HC-06 » Ардуино Уроки

 

На обратной стороне платы расположены цепи питания и внешнего сброса, а все остальное находится сверху.

Почти идентичная схема была использована для создания варианта №3:

Arduino подключение Bluetooth модуля HC-05 / HC-06 » Ардуино Уроки

 

Здесь важно то, что эта плата предназначена для замены модулей MaxStream Xbee и XbeePro (ZigBee, я иногда использую и их) и она совместима с ними по выводам:

Arduino подключение Bluetooth модуля HC-05 / HC-06 » Ардуино Уроки

 

Как оказалось, серийно выпускаемые платы такого типа уже имеются в продаже.

Теперь о перепрошивке модуля. Наверняка многие читатели заметили, что на всех платах я сохранил SPI-интерфейс модуля: именно там находится прошивка. По сути, вам нужно подключить пять проводов к LPT-порту вашего компьютера, чтобы собрать простой программатор для вашего AVR:

Arduino подключение Bluetooth модуля HC-05 / HC-06 » Ардуино Уроки

 

По сути, это просто согласование уровней между модулем 3,3 В и LPT 5В.

Монтаж осуществляется следующим образом:

Arduino подключение Bluetooth модуля HC-05 / HC-06 » Ардуино Уроки

 

Для удобства подключения установлены разъемы. Для программирования модуля необходим внешний источник питания.

Все манипуляции происходят в Casira BlueSuite или Casira BlueLab. Насколько я понимаю, она разрабатывается непосредственно компанией CSR; раньше они разрешали регистрацию на своем сайте, после чего можно было скачать всевозможные примеры, готовые прошивки и т.п. решения для их продуктов. В настоящее время, однако, это, похоже, не работает (по крайней мере, для России; дайте мне знать, если кто-то может помочь). Тем не менее, многие вещи все еще лежат в Интернете, так что может потребоваться некоторое усилие, чтобы найти их все. На данный момент я не пробовал BlueLab, но это полноценная среда для разработки собственных приложений, с документацией и примерами, так что если вам интересно, там есть чему поучиться. После установки BlueSuite вы получите доступ к ряду утилит, призванных помочь нашим пациентам. Итак, подключите модуль к программатору, программатор к компьютеру, подайте питание на модуль, не забыв убедиться, что заземление подключено. Никогда не знаешь;)

Blue Flash предназначен для прямого использования со вспышкой:

Arduino подключение Bluetooth модуля HC-05 / HC-06 » Ардуино Уроки

 

После запуска программы выберите способ подключения (LPT1) и найдите файл прошивки. Наш план стал ясен: “HC-05” будет прошит.

Как только это будет сделано, нажмите “Stop Processor” (не волнуйтесь, мы говорим о модуле, а не о вашем любимом компьютере), после чего появятся остальные кнопки:

Arduino подключение Bluetooth модуля HC-05 / HC-06 » Ардуино Уроки

Хотя это и не обязательно, в принципе, я рекомендую на всякий случай сохранить существующую прошивку через “Dump”. После этого нажимаем “Download” и через несколько минут у нас совершенно другое устройство. Вы также можете нажать “Verify”, чтобы убедиться, что все в порядке.

Теперь запускаем PSTool.

Для начала необходимо указать, как будет подключаться модуль:

Arduino подключение Bluetooth модуля HC-05 / HC-06 » Ардуино Уроки

 

Открывается главное окно:

Arduino подключение Bluetooth модуля HC-05 / HC-06 » Ардуино Уроки

 

В левой части экрана вы найдете множество параметров, значения которых можно регулировать различными способами. Честно говоря, мне не очень понравились многочисленные настройки и возможность экспериментировать.

Адрес устройства необходимо изменить как можно скорее:

Arduino подключение Bluetooth модуля HC-05 / HC-06 » Ардуино Уроки

 

После прошивки всех устройств процесс подключения одинаков, поэтому после подключения к конкретному модулю может возникнуть некоторая путаница. Поэтому это можно изменить на что-то более или менее значимое (как минимум время и дату перепрошивки) в шестнадцатеричном виде и записать прямо на модуле (прошить биркой или чем-то подобным) – думаю, это будет удобнее.

Для интереса вы можете запустить BlueTest3 прямо сейчас. И снова выберите способ подключения:

Arduino подключение Bluetooth модуля HC-05 / HC-06 » Ардуино Уроки

 

И мы попадаем к главному окну:

Arduino подключение Bluetooth модуля HC-05 / HC-06 » Ардуино Уроки

 

Здесь можно выбрать несколько тестов из списка в левой части окна. Модуль радостно отвечает на пинки, сообщает об успешном выполнении теста, все это записывается в лог внизу окна, все довольны – в общем, можно еще повозиться и посмотреть осциллографом, что будет происходить во время различных тестов на выходах модуля.

Для чего это было нужно. Это привело к значительному расширению набора AT-команд. Эта версия позволяет сканировать эфир, устанавливать доверенные устройства, изменять класс модуля и многое другое. Возможность конфигурировать модуль в режиме мастера – одна из самых полезных его функций. Т.е. теперь, имея два таких модуля, можно сделать полноценный радиомост без участия третьих лиц. Полное описание команд приведено в техническом описании модуля, доступном в конце статьи.

Один момент. После перепрошивки 4 модулей скорость последовательного интерфейса почему-то приняла случайное значение: одна была 9600 Мбит/с, другая 115200 Мбит/с. Я не знаю, почему они изменились, но после настройки их с помощью AT-команд все встало на свои места. Скорость интерфейса в командном режиме составляет 38400.

Общая картина такова: собрали несколько плат, установили соединение, прогнали туда-сюда байты по воздуху – все работало, стабильно, дальность по воздуху до 20 метров, бетонная стена пробивалась, сама квартира работала. Теперь хотелось бы сделать что-то более-менее осмысленное.

Смотрите про коптеры:  Автономный квадрокоптер с нуля: PID и грабли / Блог компании TechnoWorks / Хабр

Давно вынашивал идею сделать некую систему синхронизации времени для нескольких домашних часов в разных комнатах (DS1307, конечно, сам по себе достаточно точен, да и другие чипы RTC тоже, но кварц и другие компоненты часов приводят к некоторому биению на 10-15с/месяц: не критично, но как-то неприемлемо). На таких модулях – почему бы и нет? В каждые часы, которые мы хотим поменять, нужно установить модуль и датчик времени. Компьютер должен быть синхронизирован по времени из Сети (это не атомный стандарт, но и не проблема точной промышленности). Передатчик совместим с несколькими USB-ключами, но я не нашел ни одного (кроме того, я хотел поработать с новым для меня STM32 и проверить некоторые другие решения). Так родилась эта схема:

Arduino подключение Bluetooth модуля HC-05 / HC-06 » Ардуино Уроки

 

Пример: Один из портов UART микроконтроллера STM32F100C4T6 через преобразователь интерфейсов общается с компьютером по USB, а другой – с модулем Bluetooth. Кроме того, имеется куча индикаторных светодиодов и несколько кнопок (не используются). Также можно принудительно сбросить модуль и перевести его в режим команд/данных, подключив соответствующие контакты к микроконтроллеру.

Этот преобразователь USB в RS232 представляет собой Atmega8 с программной поддержкой USB. Буду честен и признаюсь, что не помню, где я взял это решение, но я указал все источники в конце статьи (эта схема давно лежит у меня на компьютере, но я еще не пробовал ее использовать). Хотя это излишне, решение просто заинтриговало. Вам не обязательно использовать именно этот адаптер, вы можете найти другие варианты здесь. Скорость 38400 кбит/с одинакова для компьютера, микроконтроллера и модуля. Мне нравятся STM из-за их гибкости в системе синхронизации: Я ставлю кварц на 4.433619 МГц (я купил 1000 на распродаже, теперь использую его)), тактовая частота ядра 26.601714 МГц, но вы можете использовать практически любые стандартные скорости обмена UART.

Весь комплект заключен в пластиковый футляр BOX-KC01.

Arduino подключение Bluetooth модуля HC-05 / HC-06 » Ардуино Уроки

 

Вот, как выглядит печатная плата в собранном виде:

Arduino подключение Bluetooth модуля HC-05 / HC-06 » Ардуино Уроки

Разъема U SB нет: miniUSB мне не хватает, а кабеля USB-A papa много и бесплатно – я просто припаял кабель длиной около метра на плату.

Однако кнопки не являются полезными. Вот окончательный вид:

Arduino подключение Bluetooth модуля HC-05 / HC-06 » Ардуино Уроки

 

Подключите устройство к компьютеру, и вы увидите новое устройство и получите запрос на установку драйвера в виде inf-файла. В результате в системе появится виртуальный COM-порт, позволяющий работать стандартными средствами. Для ясности будем называть это устройство контроллером.

Таким образом, контроллер также предлагает два режима работы – командный режим и режим передачи данных.

В любом режиме работы все, что появляется на выходе модуля BT (разумеется, имея в виду его последовательный интерфейс), отправляется в компьютер. Когда контроллер находится в режиме данных, все, что передается от компьютера к контроллеру, поступает на вход BT-модуля, а затем в эфир. Контроллер переключается из режима данных в командный режим, когда получает три последовательных символа ” “.

В этом режиме поддерживаются следующие команды (латинскими символами):

При переключении контроллера в режим данных возвращается значение “C0”.

Эта команда сбросит модуль Bluetooth, и он выдаст ответ “BT Reset OK”.

“c2″ – Переключает модуль BT в командный режим, возвращает OK для командного режима BT”.

Переключение в режим передачи данных BT (c3) возвращает сообщение “BT Data Mode OK”.

Метод s4 сбрасывает настройки модуля BT и возвращает сообщение “BT Reinit Completed” (Переинициализация модуля BT завершена).

«с5хххххххххххх» – установка нового адреса ведомого (хххххххххххх – сам адрес), возвращает «Setting New Bind Address Completed»

Светодиодный индикатор состояния на BT-модуле показывает “соединение установлено” или “соединение не установлено”, если установлен параметр “c6”.

Сброс контроллера, возвращая сообщение “MCU Reset. “.

Вот скриншот, показывающий взаимодействие с контроллером:

Arduino подключение Bluetooth модуля HC-05 / HC-06 » Ардуино Уроки

 

При включении контроллера и CT-модуля происходит передача данных. Этот модуль опрашивает контроллер для получения информации о настройках и параметрах системы. Информация отображается на терминале.

Arduino подключение Bluetooth модуля HC-05 / HC-06 » Ардуино Уроки

 

Далее модуль BT устанавливает соединение с устройством, с которым он работал в последний раз перед выключением.

Эти светодиоды показывают данные, проходящие через последовательный интерфейс модуля Bluetooth и соединение с ПК (Rx и Tx), состояние модуля Bluetooth (Stat, см. техническое описание), состояние соединения (Conn) и состояние контроллера (Contr). В командном режиме устройство мигает, а в режиме передачи данных повторяет Conn.

Этот контроллер позволяет управлять BT-модулем совершенно прозрачно с помощью AT-команд, проводя разнообразные эксперименты из любой терминальной программы, использующей модуль.

Для синхронизации времени на часах на HiAsm была разработана простая программа:

Arduino подключение Bluetooth модуля HC-05 / HC-06 » Ардуино Уроки

 

Все очень просто: выберите COM-порт, на котором висит контроллер, затем подключитесь к целевому устройству (OrbitLED (мне пришлось подправить прошивку для работы через UART, см. соответствующую статью) или GreenClock (один из моих довольно старых проектов, который я делал по мере того, как позволяло время в течение нескольких лет, надеюсь скоро выложить его на RadioCot)) и либо нажмите “Sync Time” для синхронизации, либо “Set Time” для установки любого другого времени и даты, заданных в полях “Time and Date Setup” (Настройка времени и даты).

Если посмотреть на их названия, то кнопки в нижней части окна четко указывают, для чего они предназначены. Большинство из них нужны редко и используются только в тестовых целях. В целом, конечно, эту программу нужно переделать так, чтобы синхронизация происходила по расписанию в автоматическом режиме. Таким образом, можно решить проблему одинаковых показаний времени по всей квартире, автоматически запуская ее на домашнем сервере 24/7. Именно это я и собираюсь сделать в ближайшем будущем.

В целом, модули мне понравились, поэтому я могу смело рекомендовать их к использованию. Я нахожу возможность изменения класса модуля довольно интересной: вы можете притвориться любым Bluetooth-устройством. В качестве эксперимента я подключил к нему свой смартфон в качестве гарнитуры. У вас будет самый широкий спектр возможностей, если вы разберетесь, как написать собственную прошивку для модуля. Но это, как обычно, уже другая история.

Файлы:
Исходники для контроллера, Keil
Даташит на модуль
Комплект плат для модулей P-CAD2006
Плата контроллера P-CAD2006
Наклейка на лицевую панель (Corel)
Прошивка HC04 для BT-модуля (дамп исходной)
Прошивка HC05
Проект HiAsm и программа ClockSync
USB-RS232 на Мега8 (AVR Studio)
27.gif

Все вопросы в
Форум.



Кроме того, вот несколько статей, которые могут оказаться вам полезными:

Оцените статью
Радиокоптер.ру
Добавить комментарий

Adblock
detector