Самоделки на микроконтроллерах

авторский проект Александра Писанца

+38 097 8875581
 Skype: alex
Е-mail: im48@yandex.ru

Bluetooth модуль 4.0 ( HM-10 )

Оцените материал
(4 голосов)

В статье речь пойдет о bluetooth модуле версии 4.0, обсудим модель HM-10 . Рассмотрим возможные проблемы, которые могут возникнуть у начинающих как при выборе, так и при работе с bluetooth модулем. Данная информация поможет начинающим понять, на что нужно обратить внимание при покупке bluetooth модуля, а не брать первый попавшийся. Также разберем проблемные моменты, с которыми вы можете столкнуться при работе с модулем. Но давайте все по порядку, начнем с предыстории.

Была поставлена задача: для самоделок реализовать джойстики. Ранее я уже показывал свой реализованный проект, в котором переделал джойстики от игровых приставок. Но данный проект слишком трудозатратный, к тому же я хотел не останавливаться на достигнутом, поэтому приступил к разработке другой модели джойстикa.

Радиоуправление моделями

Я постарался избежать разработки джойстика с нуля, решив воспользоваться каким-то недорогим готовым устройством. В связи с этим на AliExpress были найдены подходящие беспроводные джойстики, работающие по bluetooth для андроид приложения. Цена приятно удивила – всего пару долларов за штуку, учитывая, что джойстик представляет собой завершенное устройство со своим специализированным bluetooth микроконтроллером.

bluetooth джостик

Джойстик может иметь различные формы, но специализированный чип у всех одинаковый – ST17H26. В зависимости от выбранной модели, протокол bluetooth может быть 4.0 либо 3.0.

Джойстик в сети выступает подчиненным устройством, соответственно на микроконтроллер нужно установить bluetooth модуль, выступающий в роли мастера с версией не ниже 4.0. Не сильно заморачиваясь в выборе модуля, я приобрел на алиэкспресс модули HM-10. Данный модуль для проекта подошел бы, если бы не одно существенное «но», на которое не обратил должного внимания при его выборе.

Дело в том, что данные bluetooth модули производят разные китайские фирмы. И, как оказалось, есть, назову их так, оригинальные, а есть – клоны, значительно дешевле, порядка 2$. Bluetooth модули продаются под одним названием и внешне очень похожи.
В оригинальном модуле есть преобразователь уровней 5 вольт в 3.3 вольта для выводов RX и TX, стабилизатор напряжения на 3.3 вольта, два кварцевых резонатора. Насчет резонаторов не разбирался, почему их два, поэтому ничего не скажу по ним.

Блютуз модуль для Arduino

Клоны могут иметь как некоторые внешние отличия, так и полное сходство с оригиналами. Перелопатив кучу информации, в основном различные англоязычные форумы, выяснил, что оригинальные модули производит одна компания Jinan Huamao. Сразу стал вопрос, в чем отличия между оригинальным и клоном.

Bluetooth модуль, будь то оригинальный либо клон, собираются в основном на двух CC2540 или CC2541 чипах. Микросхема CC2541 аналогична CC2540 и совместима с ней по корпусу и большинству характеристик. Из отличий следует отметить отсутствие интерфейса USB, который в большинстве случаев и не нужен. Оба варианта поддерживают USART, по которому и происходит общение с микроконтроллером.

Учитывая, что комплектация модулей может быть одинакова, особое внимание следует oбратить на версию прошивки, залитую в модуль. Зачем нам знать версию прошивки, что это дает?

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

  • Чувствительность к регистру. АТ-команда может восприниматься как заглавными буквами, так и нет.
  • Окончание завершения команд: оригинальный не ожидает отсутствия новой строки или возврата каретки, в то время как не оригинальный ожидает.
  • Различные синтаксисы команд, например, использование '?' для запросов или без использования какого-либо специального символа.

Но все эти проблемы решаемы по сравнению с возможностью прошивки.

Имея оригинальный чип, вы можете самостоятельно обновить прошивку, для этого не нужен никакой программатор, достаточно переходника USB USART. Различные версии прошивок для различных модулей обновляются и находятся в свободном доступе на сайте производителя.
С клонами всё значительно сложнее, не все действующие прошивки позволяют произвести обновление. Из тех восьми штук, что были у меня, – приобретенных у разных поставщиков, ни один не перепрошился, так как не поддерживает возможность перепрошивки посредством АТ-команды AT + SBLUP. В данных моделях не реализован загрузчик.

В моем случае мне нужно было заказать модуль от компании Jinan Huamao с версией прошивки не ниже 5.47. Но оформить заказ в данной компании у меня не получилось, в связи с этим на AliExpress приобрел модуль, позволяющий обновлять прошивку. В итоге прошивку пришлось обновить, установленная на модуле версия 4.3 мне не подошла.

Новая прошивка предоставляла одну важную для меня возможность: cканирование и подключение к сторонним bluetooth модулям.

AT + DISI – сканирование сторонних устройств

Именно из-за этого мне и не удалось подключиться к джойстику, так как в ранее приобретенных модулях данной возможности нет. По этой причине модуль может в режиме мастера подключиться к аналогичному устройству, но не к сторонним. Под аналогичным устройством я подразумеваю возможность подключения к bluetooth модулям версии 4.0. К примеру, к модулю НС-05 вам не удастся подключиться, так как протокол в данных модулях имеет версию 2.0.

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

bluetooth модуль

Изучив внимательно datasheet, можно заметить, что на модуле присутствуют порты, с которыми можно взаимодействовать. В зависимости от версии прошивки, вам будут доступны различные действия с ними или вовсе отсутствовать доступ.

К сожалению, продавец может не указать нужную информацию. Соответственно, не прочитав версию прошивки и название модуля при помощи АТ-команд, вы не поймете, что приобрели. Как я уже говорил, клон может продаваться как HM-10, но при запросе посредством АТ-команд оказаться с другими именами: СС41-A, MLT-BT05, AT-09, JDY-08 (это то, что мне попадалось).

AT команды

Зная имя модуля или версию прошивки, можно найти нужный datasheet. Но опять же, в зависимости от версии прошивки, вам нужно по-разному произвести обращение к модулю. Конечно, можно пообщаться с продавцом и всё выяснить, но для этого нужно задать правильные вопросы. Да и модуль вам, может, достался от третьих лиц, которые понятия не имеют о прошивке.
Подытожив все вышесказанное, можно сделать заключение, что не важно, оригинальный bluetooth модуль или нет вы будете использовать для своих проектов. Исходя из ваших задач, особое внимание нужно уделить версии прошивки, а точнее, ее возможностям.

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

datasheet bluetooth модуль HM-10

Прочитано 10469 раз

Комментарии   

0 # Roman 04.05.2018 07:05
День добрый. Хотелось бы немного помочь, я тоже покупал hm-10 на Али за пару доларов, не оригинал, в сети есть статьи как прошить его с помощью Arduino, далее обновляете с оффициального сайта у меня получилось обновит до версии 603. Я так же как и Вы пытаюсь привязать сторонее устройство itag метку, тут есть сложности, я связался с производителем он посоветовал использовать функцию Self-Learning (обучение модуля) у них есть конфигуратор команд HMConfigAssistant, а еще я нашёл что есть команда AT+LN в версии 605 которая позволяет общаться напрямую с устройством. Пока я не добился результатов( Если найдете решение будем рады))
Ответить | Ответить с цитатой | Цитировать

Добавить комментарий


Защитный код
Обновить