Как перепрошить MLT-BT05, на базе CC2541 в HM-10

Модуль MLT-BT05 Bluetooth Low Energy (BLE) - клон HM-10Поскольку большинство модулей 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 вам необходимо:

  1. Arduino (Arduino UNO, Arduino Pro Mini, Arduino Nano и т. д.);
  2. Преобразователь USB в TTL для подключения Arduino к ПК (в случае Arduino Pro Mini или аналогичного);
  3. Плата CC2541: HM-10, CC41-A, MLT-BT05, AT-09;
  4. Несколько проводков;
  5. Паяльник.

Программные средства

  1. Arduino IDE;
  2. CCLoader Arduino sketch;
  3. Программа CCloader для Windows;
  4. Прошивка HM-10.

Кроме Arduino IDE всё остальное можно скачать одним архивом с github по ссылке https://github.com/RedBearLab/CCLoader.

Как перепрошить MLT-BT05, AT-09 на базе CC2541 в HM-10 - CCLoader

Подготовка CCLoader

После того, как вы скачали архив, вам необходимо распаковать его. Лучше всего это сделать на диске C:\, должно выглядеть так:

Как перепрошить MLT-BT05, AT-09 на базе CC2541 в HM-10 - Распакованный архивВ папке Arduino находится скетч для Arduino (!), в Bin — прошивка, а в Windows — программа CCLoader.

Для того, чтобы не возникли проблемы во время прошивки, нужно скопировать содержимое папок Bin и Windows в одну общую. В моём случае это выглядит следующим образом:

Как перепрошить MLT-BT05, AT-09 на базе CC2541 в HM-10 - Содержимое папки CCLoader-master

Шаги

Прошивка Arduino Uno

Вам необходимо загрузить скетч CCloader (C:\CCLoader-master\Arduino\CCLoader\CCLoader.ino) на свой Arduino, используя Arduino IDE.

  1. Откройте скетч с помощью Arduino IDE;
  2. Проверьте правильность параметров в меню Инструменты: плата, процессор, ком-порт;
  3. Загрузить скетч на Arduino.

Как перепрошить MLT-BT05, AT-09 на базе CC2541 в HM-10 - Прошивка Arduino Uno

Подключение MLT-BT05/AT-09/HM-10 к 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», что значит «низкое напряжение»). Преобразователь, показанный на картинке ниже, может работать с четырьмя каналами.

Двунаправленный преобразователь логического уровня (Logic Level Converter)В моём случае выгладит следующим образом:

Подключение MLT-BT05,AT-09,HM-10 к Arduino всё подключено на прямую, но так делать не рекомендуется.

Прошивка

Теперь все готово, вы можете записать прошивку HM-10 с помощью CCloader.exe или CCLoader_x86_64.exe.

Откройте командную строку и перейдите в папку, где находится CCloader.exe (cd /d C:/CCLoader-master);

Чтобы вывести справочную информацию (о том, как пользоваться), напишите и выполните эту команду в командной строке:

CCLoader.exe

или

CCLoader_x86_64.exe

CC2541 в HM-10 - Справочная информация

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» для выхода! И обратите внимание на:

  1. Связь между компьютером и Arduino;
  2. Связь между Arduino и CC2541;
  3. Является ли используемое вами устройство Leonardo или нет;
  4. Другие неожиданные ошибки.

Результат

Если всё идет по плану, появляется сообщение о том, что контроллер был успешно прошит, а на CC2541 установлена подлинная прошивка HM-10.

CC2541 в HM-10 - Результат прошивки

Проверка

После прошивки нужно проверить работоспособность модуля. Для взаимодействия с ним можно использовать Terminal 1.9b или монитор порта из Arduino IDE. По умолчанию у модуля скорость передачи данных 9600 бод, 8 бит данных, без бита четности (N — Not) с 1 стоп-битом. Если в программе терминал стоит галочка напротив CR & LF или NL & CR (возврат каретки и начало новой строки), то её надо снять, символы в командах указывать не нужно.

Модуль выходит в режим AT-команд сразу после того, как подали на него питание и не соединён с каким-то устройствов.

Для проверки связи с модулем можно использовать тест команду AT, на что модуль должен ответить OK. Получить имя устройства — AT+NAME?, значение по умолчанию: HMSoft.

Как перепрошить MLT-BT05, AT-09 на базе CC2541 в HM-10 - Проверка

Связывание и подключение со смартфоном Android

С телефона находим bluetooth устройство по имени HMSoft.

Связывание и подключение HMSoft, HM-10 со смартфоном Android - Список устройств

Выбираем HMSoft и вводим PIN код «000000»

Связывание и подключение HMSoft, HM-10 со смартфоном Android - Пароль 000000

Через Serial Bluetooth Terminal отправляем сообщение с Android смартфона:

Связывание и подключение HMSoft, HM-10 со смартфоном Android - Отправка сообщений через Terminal

Получаем сообщения на компьютер в Terminal 1.9b:

Связывание и подключение HMSoft, HM-10 со смартфоном Android - Приём сообщений в Terminal

Материалы

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

Похожие записи

Комментарии 13

  • Спасибо. У меня получилось.
    Хочу добавить, что есть нюанс с работой программы 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!
    почему так может быть? схема правильно собрана, все остальное тоже

  • Почему важен рейтинг букмекера
    букмекерские приложения бетера букмекерская контора .

  • Mostbet, sporla ilgilenenler için birçok fırsat sunan popüler bir online bahis platformudur. Mostbet sitesinde futbol, tenis, basketbol ve daha fazlası gibi geniş bir spor etkinlik seçkisi bulacaksınız. Güvenilir çalışma ve kullanıcı dostu arayüzü sayesinde, Mostbet online bahis alanında liderlerden biri olarak tanınmıştır. Hemen linke tıklayın ve oynamaya başlamak için kazançlı bir bonus alın: http://alanyasuaritma.com/

Добавить комментарий для Анна Отменить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *