Bluetooth-UART модуль JDY-23 BLE 5.0

Действительно интересный блютуз-приёмопередатчик, который имеет широкий диапазон применения, ведь энергопотребление его сверхнизкое (BLE - Bluetooth Low Energy) и размеры малы. В статье приведены основные параметры модуля JDY-23, схема подключения, описание основных команд управления, способы использования и испытания в бою (замеры тока и дальности передачи).

Основные параметры

Рабочая частота: 2,4 ГГц
Мощность передатчика: 4 дБ
Чувствительность приёма: -97 дБ
Версия Bluetooth: 5.0 (совместим с BLE 4.0, BLE 4.2)
Дальность: до 60 м
Ток при передачи/приеме данных через UART: <5 мА
Ток при вещании: 800 мкА
Ток покоя (легкий сон): <50 мА
Ток покоя (глубокий сон): 9 мкА
Модуляция: GFSK
Питание: 1.8-3.6 В
Размеры: 19.6 x 14.94 x 1.8 мм
Цена: 1$/шт

Приобрести на Aliexpress


Также существует предыдущая, мало чем отличающаяся версия JDY-19 (может работать как ведущее!, то есть есть возможность передачи данных между двумя модулями):

Цена: 1.05$ + 0.74$ = 1.79$

Что может эта штука

  • Обмен данными между двумя модулями (JDY-23 не может, а вот JDY-19 может!)
  • Обмен данными между модулем (ведомым) и другим Bluetooth-устройством (ведущим)
  • Обмен данными между модулем и телефоном

Элементная база

На странице товара пишут, что используется микроконтроллер CC2541 (здесь вроде как блютуз 4.0), на некоторых фото можно увидеть JY01S512E G101S-32P, но самой плате маркировка уничтожена.

Подключение

Связь между модулем и телефоном через блютуз-соединение

Установим связь между ПК и телефоном. Согласно схеме подключаем USB-TTL преобразователь к модулю, желательно также подключить светодиод к выводу ALED - он будет показывать текущий статус подключения (во время простоя - мигает, в подключенном состоянии - просто светится).
Кроме этого может понадобится задействовать вывод PWRC. Когда связь установлена, то команды не работают, для отправки нужно подключить этот вывод к минусу, отправить АТ-команды и отпустить.

Рекомендуемое программное обеспечение

  • Для компьютера: YAT
  • Для телефона: Bluetooth USB Terminal

 Открываем терминал на ПК. Проверяем некоторые  AT-команды:

Модуль отвечает, а это уже хорошо (но команда выбора мощности AT+POWR не сработала, ну и и ладно).

Заходим в приложение на моб.. Меню слева -> Devices -> BLUETOOTH LE -> SCAN


  • обязательно дать все разрешения и включить геолокацию (GPS)!
  • не пытайтесь добавить модуль в настройках Bluetooth (создать пару) - это сделать не получится (да и не нужно)

Тыкаем по названию (также можно сверить MAC-адрес) и начинается подключение (еще есть кнопка вверху).

Всё! Теперь создана связь между устройствами, отправленное с ПК видно на телефоне, и наоборот ( AT-команды больше не принимаются, чтобы отправить нужно прижать к минусу вывод PWRC).

Связь с телефоном через приложение

В App Invertor 2 можно создавать приложения, которые могут что-то делать используя как раз Bluetooth (нужно загрузить дополнение BluetoothLE) с версией не ниже 20181124.

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

Пример сделанного приложения (скачать можно внизу):

  • Включить Bluetooth и GPS.
  • Дать разрешение на геолокацию самостоятельно.
  • По нажатию на кнопки ON и OFF отправляются числа 48 и 49, что соответствует символам 1 и 0 в кодировке ASCII.
  • Также осуществляется прием байта (0-255) и его отображение на экране.

*это немного измененное приложение на основе:

Список основных команд

Команда Ответ Параметр
Версия AT+VER +VER:JDY-23-V1.2
-
Имя AT+NAME +NAME:JDY-23
Имя
(до 24 байт)
Отключится AT+DISC +OK -
Текущий
статус подключения
AT+STAT +STAT:00
00: не подключен
01: подключен
MAC-адрес AT+MAC +MAC:19093010061F

MAC-адрес
(пример: AT+MAC11223344566)
Скорость UART AT+BAUD +BAUD:4
Параметр: (1-9)
0——*115200
1——57600
2——38400
3——19200
4——9600
5——4800
6——2400
По умолчанию: 4
*исправлено
Сон AT+SLEEP +SLEEP:OK 1: Легкий сон (вещание)
2: Глубокий сон (нет вещания)
Режим работы AT+STARTEN +STARTEN:1
1: Проснутся, управление сном
через AT+SLEEP
2: Начать спать, проснутся
при подключении, при
отключении опять спать
Интервал
вещания
AT+ADVIN +ADVIN:1
Параметр: (0-9)
0——100 мс
1——200 мс
2——300 мс
3——500 мс
4——500 мс
5——600 мс
6——700 мс
7——800 мс
8——900 мс
9——1000 мс
По умолчанию: 0
Вкл./Выкл. светодиод AT+ALED Параметр: (0-1)
0: выключить
1: включить
Сброс настроек AT+RST +OK -

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

Как быть с паролем (совет от китайцев)

JDY-23 не имеет пароля для подключения через Bluetooth, если вам нужно, чтобы другие не могли подключиться, вы можете настроить отправку пароля с подключаемого по блютуз устройства (через приложение) и его дальнейшую проверку средствами микроконтроллера.

Если пароль не получен/неправильный в течение n секунд после подключения, МК должен прижать вывод PWRC к минусу и отправить команду AT+DISC, модуль сразу же отключится.

Потребляемая мощность

Ток во время простоя (не подключено): 1 мА
Ток в подключенном состоянии: 2.2 мА
Ток в подключенном состоянии (глубокий сон, нет вещания): 60-200 мкА
Ток при передачи данных через UART: 2-3 мА

Проверка дальности передачи

Рассчитывать от синезуба огромного расстояния передачи никто не будет, да и не нужно, заявлено до 60 м (ну эт. на открытой местности), на деле же пару стен пробивает, чего вполне достаточно.

Техническая документация и полезные файлы

JDY-23-V2.1_BLE_5.0_Datasheet.pdf Полный документ на
модуль JDY-23
на китайским языке.

JDY-23-PCB.pcb Файл печатной платы
контактных площадок
для модуля.

BLE_(2019-3-28).apk Приложение для связи.
(Я так и не смог подключиться)
JDY-23_Terminal.zip Универсальное ПО для настройки.
Выдает ошибки, но ранее
я запускал его
(нужны дрова какие-то)

byte_rxtx_JDY23.aia  Проект в среде App Invertor 2
Можно посмотреть
как все устроено
и сделать под себя

byte_rxtx_JDY23.apk
Приложение, работающее
с JDY-23.
(Прием и отправка байта)

Видеообзор

Итого

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

По сравнению с известными модулями HC-0xx этот стоит дешевле (в два-три раза!) и при этом имеет меньшие размеры и (возможно) энергопотребление.

1836
RSS
Гавриил
18:18

Спасибо за обзор! Подскажи а можно соединить между собой два JDY-23 для передачи информации от одного устройства другому, или что ещё может быть ведущим устройством (master) JDY-23 кроме смартфона и компьютера?

22:10

Нет, JDY-23 может выступать только ведомым.
Существует также JDY-18 (может выступать как ведомым, так и ведущим), с ним такое возможно провернуть.
Мб. подойдет JDY-40 для связи двух устройств, но это не блютуз.
Планшет, другой МК с блютузом может.

Ares666
00:10

Спасибо, очень полезная инфа. А получится эту игрушку использовать для передачи звукового сигнала с телефона или ПК (на усилитель к примеру)  ? Если да то не подскажите как подключить ?

10:33

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

Вам подойдет вот такая платка VHM-314 (есть разные, эта нафарширована почти по максимуму):

Выход аудиосигнала с разъема 3,5мм можно кинуть хоть на наушники, хоть на усилок.

Также есть куча готовых приемников уже в корпусе, искать на али по запросу: bluetooth audio receiver

Ares666
00:25

Большое спасибо

Роман
11:57

На странице товара пишут, что используется микроконтроллер CC2541 (здесь вроде как блютуз 4.0), на некоторых фото можно увидеть JY01S512E G101S-32P, но самой плате маркировка уничтожена.

Контроллер явно другой. CC2541 нет 32р, только 40р., и 32МГц кварц.

Убил 3 дня так и ничего толкового не нашел. Нарыл документацию на англ.(толку от нее почти что 0) но могу поделиться, кому надо.

Итог: девайс бесполезный, так как даташитов нет.

Все, что удалось… АТ-команды, но смысл от них???

Евгений
08:47

в даташите судя по всему допущена ошибка  -  AT+BAUD(0) — скорость 115200, а не 11520

11:22

Да, скорее всего 115200, китайцы ошиблись, статью подправил.

Загрузка...