Поскольку большинство модулей Bluetooth на базе CC2541 приобретаются в интернет-магазине AliExress, эти модули часто не являются оригинальными HM-10. В лучшем случае — это хорошая копия, которая принципиально не отличается от оригинала. Но в большинстве случаев эти модули полностью отличаются программным обеспечением, несмотря на то, что аппаратное обеспечение идентично. Одним из таких модулей Bluetooth является MLT-BT05.
Часто из-за программного обеспечения эти модули работают не так, как от них ожидают:
- они имеют урезанный функционал;
- AT-команды ограничены, а существующие не всегда работают должным образом;
- но самой большой проблемой, из-за которой написана эта статья, является невозможность подключения со смартфонов Android или IOS.
В этой статье будет описано то, как перепрошить модули на базе CC2541 (MLT-BT05, HM-10, CC41-A, MLT-BT05, AT-09 и т.п.) для последующего беспроблемного использования.
Аппаратные средства
Как правило, вы должны купить «CC отладчик» от TI для прошивки CC2541 чипов, но также можно использовать Arduino в качестве программатора. Для прошивки MLT-BT05, AT-09 на базе CC2541 вам необходимо:
- Arduino (Arduino UNO, Arduino Pro Mini, Arduino Nano и т. д.);
- Преобразователь USB в TTL для подключения Arduino к ПК (в случае Arduino Pro Mini или аналогичного);
- Плата CC2541: HM-10, CC41-A, MLT-BT05, AT-09;
- Несколько проводков;
- Паяльник.
Программные средства
- Arduino IDE;
- CCLoader Arduino sketch;
- Программа CCloader для Windows;
- Прошивка HM-10.
Кроме Arduino IDE всё остальное можно скачать одним архивом с github по ссылке https://github.com/RedBearLab/CCLoader.
Подготовка CCLoader
После того, как вы скачали архив, вам необходимо распаковать его. Лучше всего это сделать на диске C:\, должно выглядеть так:
В папке Arduino находится скетч для Arduino (!), в Bin — прошивка, а в Windows — программа CCLoader.
Для того, чтобы не возникли проблемы во время прошивки, нужно скопировать содержимое папок Bin и Windows в одну общую. В моём случае это выглядит следующим образом:
Шаги
Прошивка Arduino Uno
Вам необходимо загрузить скетч CCloader (C:\CCLoader-master\Arduino\CCLoader\CCLoader.ino) на свой Arduino, используя Arduino IDE.
- Откройте скетч с помощью Arduino IDE;
- Проверьте правильность параметров в меню Инструменты: плата, процессор, ком-порт;
- Загрузить скетч на Arduino.
Подключение MLT-BT05/AT-09/HM-10 к Arduino
Теперь вам нужно подключить плату MLT-BT05/AT-09/HM-10 к Arduino следующим образом:
Имя вывода | CC2541 | Arduino |
---|---|---|
DEBUG_CLOCK | Pin 7 (P2_2) | Pin 5 |
DEBUG_DATA | Pin 8 (P2_1) | Pin 6 |
RESET_N | Pin 11 (RSTB) | Pin 4 |
VCC | 3.3 В | 3.3 В |
GND | GND | GND |
Будьте осторожны, чип CC2541 не толерантен к 5 Вольтам, а напряжение на любом из цифровых выводов не должно превышать 3.9 В.
Если присутствует адаптер ZS-040, что содержит в себе стабилизатор напряжения на 3.3В, можете использовать 5 В Arduino для питания платы. Если вы используете 5 В arduino, вам нужен преобразователь уровней для всех трёх линий (DEBUG_CLOCK, DEBUG_DATA и RESET_N) или использовать модель Arduino на 3.3 В.
Еще один способ с помощью которого можно понизить напряжение — это двунаправленный преобразователь логического уровня LLC (от «logic level converter», что значит «преобразователь логического уровня»). Эти устройства рекомендуется использовать при высокой скорости передачи данных (через последовательный порт, шину I2C и т.д.). Вы просто подключаете входные линии с высоким напряжением к контактам HV (от «high voltage», что значит «высокое напряжение»), а выходные линии с пониженным напряжением – к контактам LV (от «low voltage», что значит «низкое напряжение»). Преобразователь, показанный на картинке ниже, может работать с четырьмя каналами.
В моём случае выгладит следующим образом:
всё подключено на прямую, но так делать не рекомендуется.
Прошивка
Теперь все готово, вы можете записать прошивку HM-10 с помощью CCloader.exe или CCLoader_x86_64.exe.
Откройте командную строку и перейдите в папку, где находится CCloader.exe (cd /d C:/CCLoader-master);
Чтобы вывести справочную информацию (о том, как пользоваться), напишите и выполните эту команду в командной строке:
CCLoader.exe
или
CCLoader_x86_64.exe
Copyright (c) 2013 RedBearLab.com CCLoader_x86_64.exe version 0.5 Invalid parameters. Usage: CCLoader_x86_64.exe <com number> <bin file> <device> Example: CCLoader_x86_64.exe 2 abc.bin 0 <device>: 0 -- Default (e.g. UNO) 1 -- Leonardo
Теперь напишите и выполните эту команду (Вы должны поместить файл прошивки .bin в тот же каталог, что и CCloader.exe):
CCLoader_x86_64.exe <COM-порт> <Firmware.bin> <device>
где:
- CCLoader_x86_64.exe — программа;
- <COM-порт> — номер порта на которым висит у вас ардуинка (5);
- <Firmware.bin> — прошивка (имя файла с расширением: CC2541hm10v540.bin);
- <device> — тип используемой платы (0 — UNO, Pro Mini etc / 1 — Leonardo).
У меня команда выглядит следующим образом:
CCLoader_x86_64.exe 5 CC2541hm10v540.bin 0
Программа CCLoader начнёт запись 512 байт данных. Если в течение 3 секунд нет ответа, нажмите «Ctrl + C» для выхода! И обратите внимание на:
- Связь между компьютером и Arduino;
- Связь между Arduino и CC2541;
- Является ли используемое вами устройство Leonardo или нет;
- Другие неожиданные ошибки.
Результат
Если всё идет по плану, появляется сообщение о том, что контроллер был успешно прошит, а на CC2541 установлена подлинная прошивка HM-10.
Проверка
После прошивки нужно проверить работоспособность модуля. Для взаимодействия с ним можно использовать Terminal 1.9b или монитор порта из Arduino IDE. По умолчанию у модуля скорость передачи данных 9600 бод, 8 бит данных, без бита четности (N — Not) с 1 стоп-битом. Если в программе терминал стоит галочка напротив CR & LF или NL & CR (возврат каретки и начало новой строки), то её надо снять, символы в командах указывать не нужно.
Модуль выходит в режим AT-команд сразу после того, как подали на него питание и не соединён с каким-то устройствов.
Для проверки связи с модулем можно использовать тест команду AT, на что модуль должен ответить OK. Получить имя устройства — AT+NAME?, значение по умолчанию: HMSoft.
Связывание и подключение со смартфоном Android
С телефона находим bluetooth устройство по имени HMSoft.
Выбираем HMSoft и вводим PIN код «000000»
Через Serial Bluetooth Terminal отправляем сообщение с Android смартфона:
Получаем сообщения на компьютер в Terminal 1.9b:
Материалы
How to flash genuine HM10 firmware on CC2541 (make genuine HM10 from CC41)
RedBearLab/CCLoader
Arduino:Хакинг/Как переключиться с 5-вольтовой логики на 3,3-вольтовую
Datasheet cc2541.pdf
JNHuaMao Technology Company Bluetooth4.0 BLE module Datasheet (bluetooth40_en.pdf)
AT-команды, конфигурием модуль BLE4.0 HM 10
Спасибо. У меня получилось.
Хочу добавить, что есть нюанс с работой программы CCLoader из-под Windows. Программа поддерживает номера COM портов только с 1 до 16. Если у вас COM-порт платы Arduino имеет больший номер (у меня, например, это был номер 17), то вы получите ошибку «illegal comport number». Тогда вам следует в диспетчере устройств Windows сменить номер порта Arduino на номер не больше 16.
Спасибо, получилось. Сначала обновил до CC2541hm10v540.bin. А потом уже до v710 взятой с сайта JNHuaMao. При обновлении до этой версии использовал их утилиту. Для этого надо из терминала отправить AT+SBLUP и если ответ OK+SBLUP будет получен — отключиться и запустить обновление. Я как и вы, на свой страх и риск, обновлял без делителей напряжение. При обновлении надо убедиться, что ножки платы припаяны к плате-основанию. Иначе CCLoader не найдет чип.
Обновил до 540 и модуль вообще не дышит.Второй точно также.
В чипе загружена совсем другая прошивка . Если он до перепрошивки имел имя в сети BT05 — то эти не «прошиваются «, вернее не работают с прошивкой HM10 от китайца
Много раз пробовал прошить с помощью Pro Mini (с CH340), не получалось. Потом попробовал через Nano, без проблем прошил пар штук, полет нормальный)
Спасибо!
Тоже не получилось. Если demo.bin залить, при включении break передает, если 540 — молчит. На АТ не откликаются. Выкидывать?
Если demo.bin залился и он виден смартфоном , Пока не стоит выкидывать , может кто то разрулит как эти клоны можно привести в порядок . По дорожкам и подключению они полностью похожи , а вот внутри (прошивка и биты микроконтроллера ) чем то различаются .
Модуль c маркировкой LB-BT05, чип CC22541. До прошивки телефон подключался, на АТ-команды реагировал:
+VERSION=v5.6
+NAME=BT05
Прошивал с Arduino UNO. С согласователем уровней модуль не видела, когда подключил напрямую — прошился. Но больше на AT-команды не реагирует и Bluetooth не работает. Прошивать дает снова, но результата нет.
Вторую прошил с ProMini и резисторами-делителями, и также не живая.
Два кирпича. Больше модулей для таких экспериментов у меня нет.
Привет. Получилось решить проблему?
нет. Забил.
пишет No chip detected!
Upload Failed!
почему так может быть? схема правильно собрана, все остальное тоже
вызвать наркологическую помощь skoraya-narkologicheskaya-pomoshch12.ru .
Как безопасно купить диплом колледжа или ПТУ в России, что важно знать
Быстрая схема покупки диплома старого образца: что важно знать?
бизнес-идеи бизнес-идеи .
Полезная информация как официально купить диплом о высшем образовании
мебельный поролон для матраса porolon-mebelnyj.ru .
Вопросы и ответы: можно ли быстро купить диплом старого образца?
diplomasx24.ru
электрические рулонные шторы электрические рулонные шторы .
электрокарнизы для штор заказать http://www.elektrokarniz2.ru/ .
Добрый день!
Заказать документ о получении высшего образования.
californiarpn2.listbb.ru/viewtopic.php?f=1&t=615
Снять алкогольную интоксикацию на дому [url=https://www.fizioterapijakeskic.com]https://www.fizioterapijakeskic.com[/url] .
story anonymously story anonymously .
Добрый день!
Мы готовы предложить дипломы.
freeboard.com.ua/forum/viewtopic.php?pid=953861#p953861
Приобретение школьного аттестата с официальным упрощенным обучением в Москве