Что такое bluetooth-модуль?

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

Работа с Bluetooth HC-05 и HC-06

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

Лично я использую BT для управления роботами со смартфона. В Google play уже есть несколько приложений с удобным интерфейсом именно для этих целей. Участники нашего хакспейса MakeItLab с помощью Bluetooth управляют удаленно светом и собирают телеметрию с борта квадрокоптеров.

Самыми доступными на сегодня Bluetooth модулями можно назвать HC-05 и HC-06. Отличия между ними в том, что первый может работать как в режиме ведущего (slave), так и в режиме ведомого (master). Второй же является чисто ведомым устройством (но это поправимо!). Другими словами, HC-06 не может сам обнаружить парное устройство и наладить с ним связь, он может лишь подчиниться ведущему.

Компоненты для урока "Настройка bluetooth-модулей HC-05/06" на shop.robotclass.ru

Оба устройства базируются на чипе CSR BC417, который поддерживает Bluetooth версии 2.0 со скоростью до 3 Мбит/сек. Именно об этих модулях далее и пойдет речь.

0

Изменено:

Настройка bluetooth-модулей HC-05/06: 55 комментариев

  1. Все сделал как написано, но ЛЕД на модуле все равно продолжает быстро мигать не переходя в АТ режим… в чем дело?

    0
    • Нужно приконектится с мобилки, Включить прогу «terminal bluetoth», и ей приконектится к модульчику. Тампочка сразу начинает мигать,.. длинный пропуск, короткие два мигания…

      **** А еще, кнопочка «EN», она подает 3,6 вольта через делитель напряжения на платке..
      Выдернув питание, прижав кнопку, и подав питание снова, модуль моргает мЕЕЕдленно. Это похоже и есть тот режим, пронраммирования модуля.
      Я пака свою беду не победил. Есть много подозрений, одна, что уровни 3.6 не видит комп, через микруху (как ее, не помню), котора соединяет МК с RS-232 на МК.
      …воюем дальше.

      0
      • У меня тоже не работало. Во первых поменял подключение каналов зеркально(подключил rx-tx и tx-rx) и перебирая скорости поставил 38400. и сразу заработало.

        0
  2. Модуль на вид HC-05, все ножки в круговую припаяны. есть вход KEY, его и включаю на 3.3В на ардуино.

    0
    • А кнопка есть? Можно попробовать зажать кнопку, подать питание, отпустить кнопку

      1+
  3. А почему в делителе напряжений резисторы на 47к и 10к? Ведь тогда при напряжении 5В с ардуино на блютуз пойдёт 0,8В???

    0
        • Автор будь внимателен , будет время ,поставлю 4.7 k ,про верю отпишусь 😉

          0
          • Леонид, будь уважителен, автор в 100 раз больше пользы сделал на этой странице

            0
  4. Здравствуйте!
    У кого есть этот модуль HC-06, замерьте и подскажите пожалуйста, что это диод или стабилитрон или еще что, который идет от плюсовой ноги (черная) видел на фото на нем было написано «B2», дело в том что пришло мне это чудо, долго не мог понять почему не работает, оказывается не хватает этой детали!
    Кто разбирается подскажите что это и его номинал?
    Спасибо!

    0
    • Если через эту деталь идёт питание, то скорее всего это диод — защита от переплюсовки. Можно поставить любой. В прямом направлении. Или заменить перемычкой

      0
  5. Здравствуйте!
    У меня задача стоит передать MIDI команды без проводов. Это UART со скоростью 31 250 бит в сек. Возможно ли это осуществить на данных модулях? Меня смущает скорость, необходимо передавать именно со скорость 31250.
    Спасибо.

    0
    • Модуль устойчиво работает на скорости 115200, а максимум установлен вообще на уровне 1382400.

      0
  6. сделал всё по аналогии, подключаюсь к hc-06, лед горит непрерывно (статус коннект), но при посылке любых команд ничего не происходит 🙁
    не подскажите, в чем проблема?

    0
    • Команды должны заканчиваться комбинацией 0х13 0х10. Скорее всего нет символа конца строки и он считает что команда не завершена.

      0
  7. скетч:
    #include

    int gLedPin = 13;
    int gRxPin = 10;
    int gTxPin = 11;

    SoftwareSerial BTSerial(gRxPin, gTxPin);

    void setup() {
    BTSerial.begin(9600);
    Serial.begin(9600);
    delay(500);
    }

    void loop() {
    if (BTSerial.available()) {
    Serial.write(BTSerial.read());
    }
    if (Serial.available()) {
    BTSerial.write(Serial.read());
    }
    }

    0
  8. Пробовали ли Вы подключать, например, к HC-5 (в режиме мастер) другие устройства. Например, гарнитуру, или пульсометр?

    0
  9. Доброго времени суток! Вопрос, при отправки команды «АТ» на BT не могу распознать ответ от него, т.к. приходит в формате «xxxx⸮», может кто сталкивался.

    0
    • разобрался, проблема была в разности скоростях «BTSerial.begin» и «Serial.begin».

      0
  10. Спасибо за статью. Остались вопросы:
    1. Зачем кнопка на модуле?
    2. Что выдается на ноге STATE?
    3. Как управлять модулем с ноги EN?
    Спасибо за ответы…

    0
    • Кнопка соединяется к контактом KEY. С помощью неё можно переходить в режим настройки.
      STATE — это контакт, который отвечает за светодиод состояния. Можно подключить STATE к Ардуино и проверять, например, есть ли соединение в данный момент.
      EN переключает модуль в активное состояние. По-умолчанию модуль активен, так что можно не трогать этот контакт.

      2+
      • 1. Кнопку необходимо удерживать, чтобы проходили команды? Или достаточно нажать и отпустить?
        2. А на выводе STATE будет также мигание 2 раза в секунду или 1 раз в две секунды как и светодиод состояния?
        3. Какой уровень надо подать на EN чтобы отключить модуль?
        Извините за въедливость мою… хочу поэкспериментировать и прикинуть где и как это может пригодиться. Спасибо…

        0
        • Кнопка привязана к контакту KEY, так что пользуйтесь ей как описано в статье.
          STATE привязан к светодиоду, соответственно полностью повторяет его поведение.
          Про EN не подскажу, на самом чипе такого пина вообще не предусмотрено. Кто-то пишет, что он вообще может быть никуда не подключен. Вам стоит проверить, подать на него высокий и низкий уровень.

          1+
  11. почему при компиляции скетча из п4 выходит exit status 1
    Ошибка компиляции.?

    0
    • потому что в скетче ошибка. Комментарий в ардуине начинается с //, а не с #

      0
  12. подскажите, пожалуйста, все сделал как надо:подключил на KEY, светодиод моргал раз в две секунди, но команды АТ не принимаются. не знаю что делать дальше. помогите!

    0
    • Проверьте все скорости обмена. Для разных вариантов входа в режим AT команд, будет разная скорость обмена с модулем — 9600 или 38400.
      Если не получается, попробуйте скорость 115200

      0
  13. нужно получать отладочные данные с ком порта приличной кучи ардуин но ноут с 2303 прожигателем таскать не удобно. смотрю на телефон и этот блютус. хочу узнать. этот модуль может передавать данные с ком порта сам если просто подключить рх тх и питание? его можно настраивать с телефона? или нужна еще ардуинка как переходник с юарта нужного устройства на юарт блютуза? вроде как по логике модуль должен передавать все что на него приходит по юарту кроме команд настройки.

    0
    • Если вы умеете с телефона передавать данные по UART, то контроллер не нужен. Максимум, что может потребоваться, это согласовать уровни напряжения 3.3В — 5В. Настройки модуля тоже делаются через UART с помощью AT Команд.

      0
  14. Привет всем. Попался мне тут Bluetooth-модуль BT-20 на чипе BC212 от CSR. Стоит задача поднять на нём виртуальный COM-порт (режим ведомого, чтобы на смарте/ноуте появлялся виртуальный ком-порт при подключении к модулю). Поиск документации на сей модуль и чип особого успеха не принёс. Как я понимаю, конфигурация и общение с модулем со стороны микроконтроллера ведётся с помощью АТ-команд через UART. Хотелось бы понять как его перевести в режим АТ-команд, какие команды воспринимаются модулем и как его необходимо конфигурить, чтобы он работал как виртуальный com-порт? Какова сама процедура приёма/передачи потока данных черех модуль?
    Спасибо!

    0
  15. Друзья, помогите пожалуйста ! Можно ли с помощью hc-5 сделать такое: два модуля при обнаружения друг, друга начинаю т подавать сигнал (включение светодиода) Напишите в whattssapp пожалуйста +79091554056 очень нужно. Или инстаграм @valery_voropaev

    0
    • пропиши им пару как описано в статье и будешь понимать, что есть сопряжение и связь по выходу 32 — bt_link. подключи к этому выходу LED.

      0
  16. Плата arduino nano, при подачи напряжения на модуль HC-06, индикатор моргает в течении 3-5 сек. и перестает моргать. Это что значит, что ему П…Ц?

    0
  17. У меня HC-06 у меня нету пина KEY и нету никакой кнопки? Это чё мне нужно растаять пин KEY?!

    1+
  18. Перейдём в терминальную программу, соединимся с портом и попробуем послать команду AT , на которую нам модуль должен ответить OK

    0
  19. Всем привет!

    Есть модификация модуля HC-05 с 6ногами, (State,RX,TX,GND,VCC,EN), очень популярная сейчас на Алиэкспресс, так вот, для нее не нужно припаивать проводок на 34пин (KEY) и подавать туда 3.3в, чтобы включить работу RX-TX на выводах необходимо подать 3.3в. на разъем EN а не на key, после этого такой модуль начинает работать как положено начинает отвечать на AT команды отправленные с компьютера или ардуины по пинам. С трудом нашел эту информацию в одном описании этого модуля на странице товара на алиекспресс.
    Короче все также как с KEY в этой статье, только 3.3в. подаем на EN! (Enter).
    Привожу описание на англ.

    First, the module parameters:
    1.PCB Dimensions: 37.3mm (length) * 15.5mm (W)
    2 Weight:. 3.5g
    (3) Input voltage: 3.6V—6V, 7V ban over
    4 power anti-reverse, reverse module does not work
    5 leads to 6 feet: EN / VCC / GND / RXD / TXD / STATE (Bluetooth status leads to the foot, is not connected to the output low, after connecting output high)
    6 with the connection status indicator, LED flash means no Bluetooth connection; LED flashing slowly that enter the AT command mode
    7 onboard 3.3V regulator chip, the input voltage DC 3.6V-6V; When unpaired, current of about 30mA (because LED lights flashing, the current state of change); After successful pairing, the current is about 10mA
    8 Interface level 3.3V, you can directly connect a variety of microcontroller (/51/AVR/PIC/ARM/MSP430 etc.), 5V microcontroller can also be directly connected. Directly connected to the microcontroller serial port, not through the MAX232 chip!
    9 open area effective transmission distance of 10 meters, over 10 meters are possible, but do not guarantee the quality of the connection
    10. After successful pairing, can be used as a full-duplex serial port. Do not need to know anything about the Bluetooth protocol, but only supports 8 data bits, 1 stop bit, no parity communication format. This is the most common communication format that does not support other formats!
    11 Press the key to give the Bluetooth module is energized to enter AT mode, set parameters and query information
    12 can be switched master and slave mode via AT commands
    13 modules default baud rate is 9600, the default passkey is 1234, the default name for the HC-05
    14 protection with transparent shrink tube
    Second, wiring methods:
    VCC: positive power supply
    GND: power supply is negative
    RXD: Receive side, the Bluetooth module receives data sent to the other device; TXD terminal normally connected to the other device to send
    TXD: sending end, the Bluetooth module to send data to other devices; RXD terminal normally connected to other devices receiving
    EN: Enable, then you need to enter AT mode 3.3V

    0
    • Павел, у меня как раз такой модуль (с EN-Z), и вот нифига не получается его заставить что-то говорить в ответ.

      0
  20. Да и после подачи 3.3в. на EN модуль начинает работать на скорости 38400, с ним работает вот этот скетч:

    #include
    #include

    //int gLedPin = 13;
    int gRxPin = 10;
    int gTxPin = 11;

    SoftwareSerial BTSerial(gRxPin, gTxPin);

    void setup() {
    //# 38400 — для метода №1, 9600 — для метода №2
    pinMode(LED_BUILTIN, OUTPUT);
    BTSerial.begin(38400);
    Serial.begin(9600);
    delay(500);
    }

    void loop() {
    if (BTSerial.available()) {
    Serial.write(BTSerial.read());
    }
    if (Serial.available()) {
    //digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
    BTSerial.write(Serial.read());
    //digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
    }
    }

    0
  21. Правильный скетч (в прошлом сообщении криво вставился…)

    #include
    #include

    //int gLedPin = 13;
    int gRxPin = 10;
    int gTxPin = 11;

    SoftwareSerial BTSerial(gRxPin, gTxPin);

    void setup() {
    //# 38400 — для метода №1, 9600 — для метода №2
    pinMode(LED_BUILTIN, OUTPUT);
    BTSerial.begin(38400);
    Serial.begin(9600);
    delay(500);
    }

    void loop() {
    if (BTSerial.available()) {
    Serial.write(BTSerial.read());
    }
    if (Serial.available()) {
    //digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
    BTSerial.write(Serial.read());
    //digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
    }
    }

    0
  22. Вот такой интересный вопрос возник. Китайский аналог нс06 — jdy09. Видим не на всех моделях телефонов. Htc one, asus zenfone его видят и нормально работают. А вот шестое яблоко и сяоми шлют его лесом. Может кто сталкивался, в чем может быть проблема?

    0
  23. Доброго времени суток !!! Ребята ! Подскажите пожалуйста, для диагностики гбо ( газо баллонное оборудование ) ,Я купил HC-05 распаял по рекомендациям из интернета , подключил к разъёму гбо и…… Ни какого эффекта . компьютер win10 видит блютуз адаптер , информирует что устройство подключено , и работает нормально. Но!!! Программа диагностики гбо , сообщает что контролер не обнаружен!!! , те, мозги гбо, не отвечают на запрос программы диагностики, ( «косы» заводского исполнения ) на адаптер питание подаётся , подскажите пожалуйста , как мне быть, в этом случае?! Мне кажется что проблемам в HC-05 или Я ошибаюсь? Как мне проверить HC-05 заранее спасибо!!!!!

    0
    • Чтобы проверить HC-05, подключите его к компу напрямую через usb-uart переходник. Затем запустите его в командном режиме, как это описано в статье, а потом передайте пару каких-нибудь AT команд. Если он отвечает, то скорее всего с самим модулем всё ок.

      0
  24. Привет Олег. Спасибо за статью, отчасти помогла. Команды АТ и AT+VERSION работали, а вот имя и скорость передачи данных сменить не смог. Вычитал, что производителем была сменена прошивка, и начиная с VERSION:3.0-20170609 немного видоизменились команды (появился знак = перед значением), и теперь имеют подобный вид:
    AT+NAME=BT GPS 1 смена имени
    AT+UART:57600,0,0 смена скорости передачи данных
    Возможно эта инфа кому-то пригодится.

    0
  25. Как подружить HC-05 с айфоном?
    Как устройство айфон его даже найти не может

    1+
  26. После подачи питания светодиод мигает очень часто. После соединения с Андроидом мигает редко — две вспышки подряд. Передаёт лажу — в основном подряд несколько одинаковых символов, код символа — fd. Что означает мигание два раза подряд с периодом 2 секунды? Возможно это код ошибки. Где взять эти коды?

    0
  27. Тут проблемка возникла.При отправке символа 1 с телефона он выдает в ком порте x?x?x , с другими буквами и цифрами такая же проблема, но символы другие. Что делать? заранее спасибо!

    4+

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

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.