Блютуз модуль jdy 31

Arduino и Bluetooth JDY-31

В наборе GyverKIT обеих комплектаций есть Bluetooth модуль JDY-31 (аналог популярного HC-06). Данный модуль обеспечивает беспроводную связь UART – COM порт, что позволяет использовать его для удобного обмена данными между Arduino и приложением на смартфоне или программой на компьютере. Основные характеристики:

  • Рабочая частота: 2.4 GHz
  • Интерфейс: UART
  • Напряжение питания: 3.6.. 6V
  • Ток потребления: 5 мА в режиме поиска, ~8 мА в режиме передачи
  • Логический уровень: 3.3V, но вроде как не боится 5V
  • Дальность связи: 30м
  • Версия Bluetooth: 3.0 SPP
  • Чувствительность антенны: -97dbm
  • Скорость UART: 9600.. 128000

Официальную документацию на JDY-31 можно открыть по ссылке .

Индикация состояния подключения:

  • Ожидание
    • Светодиод мигает
    • Пин STATE: LOW
    • Светодиод горит постоянно
    • Пин STATE: HIGH

    Подключение

    Модуль подключается к питанию и цифровым пинам МК:

    • JDY-31 > Arduino
    • GND > GND
    • VCC > 5V
    • RX > Serial TX
    • TX > Serial RX
    • Опционально можно подключить EN на любой цифровой пин для отслеживания состояния подключения.

    На левой схеме я подключил JDY-31 к аппаратным выводам UART напрямую, на правой – через делитель напряжения, образованный тремя резисторами по 10 кОм (есть в наборе GyverKIT). Такой делитель 2:1 обеспечит около 3.1V на вход RX модуля. Правая схема предпочтительнее, но от прямого подключения модуль ещё ни у кого не выходил из строя, насколько я знаю.

    • Модуль будет мешать загрузке прошивки (она загружается по RX TX), на момент загрузки нужно отключить провода от пинов RX и TX Arduino
    • С модулем можно общаться при помощи штатного Serial, фактически он будет дублировать монитор COM порта

    На следующих двух схемах я подключил модуль к любым двум цифровым пинам Arduino:

    При таком подключении модуль ничему не мешает, но для работы с ним придётся использовать стандартную библиотеку программного Serial – SoftwareSerial.

    Подключение к Bluetooth

    Windows

    Для работы на компьютере у вас должен быть Bluetooth адаптер. Заходим в панель управления, добавляем Bluetooth устройство, вводим пин 1234 для сопряжения:

    После этого в Arduino IDE появится ещё один COM порт. Загрузим следующий пример, который просто выводит в порт строчку со счётчиком. Модуль подключен к аппаратному UART.

    Откроем Bluetooth порт и увидим вывод:

    Точно таким же образом можно подключиться к Arduino из своей программы, написанной например на Processing или Python. У меня есть уроки по этой теме:


    Android

    Для теста на Android я использую приложение Serial Bluetooth Terminal. Сопрягаемся с паролем 1234, заходим в программу, открываем настройки слева, Devices, выбираем JDY-31 и подключаемся (кнопка со штекером в левом правом углу экрана. Модуль подключен к аппаратному Serial, на Arduino прошит код, отправляющий принятые данные обратно в Serial (эхо):

    Пишем в терминал – модуль нам отвечает. Своё приложение с Bluetooth можно сделать в MIT App Inventor, этим мы займёмся в будущих уроках.

    SoftwareSerial

    В качестве примера подключим модуль по второй схеме (на пины D2 и D3) и загрузим простую программу, которая будет пересылать данные с программного Serial (на пинах D2 и D3, Bluetooth) на аппаратный (который мы можем смотреть через монитор порта в Arduino IDE):

    #include SoftwareSerial mySerial(3, 2); // RX, TX void setup() < Serial.begin(9600); mySerial.begin(9600); >void loop() < if (mySerial.available()) < Serial.write(mySerial.read()); >if (Serial.available()) < mySerial.write(Serial.read()); >>

    Откроем терминал и монитор порта и можем общаться с компьютером, Arduino выступает в роли посредника и перекидывает данные с Bluetooth на USB и наоборот:

    Точно так же можно использовать SoftwareSerial для программ и приложений, если аппаратный UART на Arduino нужен для других целей.

    Настройка JDY-31, AT команды

    Рассмотрим также настройку самого JDY-31, делается это при помощи AT-команд:

    • Чтобы модуль отвечал на команды, он должен находиться в режиме ожидания подключения (светодиод мигает)
    • Загружаем в Arduino пустую программу (Файл/Новый). Либо любую другую, в которой не задействован Serial. Либо подключаем пин RST к GND, чтобы микроконтроллер не запустился и нам не мешал
    • Подключаем JDY-31 на RX TX Arduino (аппаратный Serial) наоборот: TX > TX, RX > RX
    • Открываем монитор порта, ставим текущую скорость модуля (по умолчанию 9600 бод), конец строки NL & CR

    Отправляем команду AT+VERSION . Если всё сделано правильно – модуль ответит +VERSION=JDY-31-V1.35,Bluetooth V3.0

    Какие ещё есть команды? Полный список есть в документации, давайте разберём:

    Домашнее задание

    Источник

    Arduino.ru

    модуль как модуль. вроде бы должно быть всё просто. хотел подключить газовые мозги авто через этот модуль к смартфону и мониторить данные по газу. НО, что-то пошло не так. модуль отказывается отвечать на АТ команды. не с компа, не с телефона. соответственно не могу задать нужную скорость. Вроде всё правильно подключил. Rx-Tx и местами менял. и резисторы поставил для согласования уровней 5 в и 3.3 И с BlueTooth терминалом на смартфоне тоже печаль. модуль отвечает не как положено а как ему угодно.

    но если закоротить Rx и Tx то всё слушается как положено

    помогите пожалуйста разобраться.

    DetSimen аватар

    почитай куда надо подключать EN и куда STATE, и для чего.

    почитай куда надо подключать EN и куда STATE, и для чего.

    эти пины не имеют отношения к работе в режиме AT-команд

    у него по умолчанию скорость 9600. а какая у тебя в терминале — не ясно. Выстави 9600 и пробуй

    у него по умолчанию скорость 9600. а какая у тебя в терминале — не ясно. Выстави 9600 и пробуй

    как раз мне и нужна 9600 для работы с газовыми мозгами. но по какой то причине он отказывается считывать данные у гбо. хотя как раз там тоже 9600 скорость

    если на компе ставлю 9600 идёт соединение и ничего не происходит.

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

    и только при скорости 9600. если выбрать другую скорость уже приходят иероглифы.

    в общем я в тупике. он вроде и живой, но не работает как должен.

    ты для начала мозги газовые отложи, подключи БТ к ардуине, а ардуину — к монитору порта на компе. И далее подключись смартфоном к модулю и попробуй попосылать разные команды туда сюда

    находил похожие модели, на каких то надо подавать — на определённую ногу и слать команду, потом снимать —

    на каких то надо +подавать на 34 ногу

    но тут по даташиту ничего нет такого.

    ардуино уже нет. к сожалению

    я выше писал шлю туда сюда команды они приходят со смарфона на ком при скорости 9600

    но это как текст проходит. модуль ничего не отвечает

    кстати. смотрю на твои картинки — и что-то не пойму. ты АТ-команды черех Блютус подаешь. что ли?

    На многих таких модулях АТ отрабатывается только со стороны пинов RX TX

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

    в общем
    нужна связь по Rx Tx
    но её к сожалению нет. скорости все перепробовал
    CP2102 тоже 100% рабочий. я через него к ГБО мозгам соединяюсь для изменения параметров.
    либо есть какой то нюанс в этом JDY-31-SPP, либо он просто неисправен

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

    Удалось заставить его отвечать на АТ? Такая же ситуация.

    Нет. Купил нормальный модуль.

    Хороший модуль, такой штукой по АТ управляется.

    Такой же модуль, тоже не отвечает в терминале. Штука для управления такая же =). Надо ли в этом модуле какой-нибудь пин подтягивать к +3,3 ? На EN подавал +, никак не реагирует.

    Ему до лампы 3 или 5 Вольт по питанию и по сигналам, но для успокоения можно евоный Rx через делитель подключить. Он воспринимает AT команды сразу без всяких кнопок и EN, если не сопряжён ни с кем 🙂

    Надо взять модуль как на картинке, подключиться к Ардуино ИДЕ через ПК и в «монитор порте» записать нужные команды. они кстати свои у него.

    Мне нужно скорость задать и сменить имя и пароль модуля. Я через терминал (putty) пробовал посылать АТ команды (скорость ставил 9600/38400/57600 ) модуль не отвечает на них. К модулю в это время никто не подключен. Или же в ide особый монитор порта и только с ним взлетит ? Под своими командами понимается что стандартные АТ (как у HC05/06) не проходят ?

    Мне нужно скорость задать и сменить имя и пароль модуля. Я через терминал (putty) пробовал посылать АТ команды (скорость ставил 9600/38400/57600 ) модуль не отвечает на них. К модулю в это время никто не подключен. Или же в ide особый монитор порта и только с ним взлетит ? Под своими командами понимается что стандартные АТ (как у HC05/06) не проходят ?

    Конечно у него написание команд другое.

    Как «физически модуль соединён с терминалом»?

    Физически — 25см свитого провода к адаптеру на CH340. Питание с отдельного линейного стабилизатора (на модуле написанно 3,6v-6v , фактически подаю 3.9). осцилом на обе линии вставал — импульсы идут в моменты передачи, да и переходник рабочий точно.

    Что выяснил — поставил блютус терминал на телефон с него данные идут в окно терминала на ПК. Выяснил установленную скорость — 9600. Проверил что в ide что в putty все работает одинаково. Спасибо за доку — по ней получается как минимум команда AT+VERSION есть как и у других модулей, но я её шлю в ответ в терминале молчок. Может надо как у других модулей какую ногу подтягивать к + чтобы он начал отвечать ?

    Модуль кстати на чипе BK3231

    А с чем телефона модуль связан? Если в том числе и с блютуз модулем, то команды проходить не будут.

    У модуля HC-05 есть кнопка и выводы никуда тянуть не надо, нажимаем кнопку и включаем питание — модуль входит в режим АТ (меняется частота миганий светодиода сигнального). У JDY-31 тоже есть сигналка — включите его одного и посмотрите как мигает, а потом свои терминалы на телефоне, если частота миганий сменилась, значит модуль связался с чем то, а этого быть не должно.

    Подключал только проверить связь с адаптером, так конечно отключен. Индикатор мигает когда свободен и горит когда есть соединение по блютус. В момент соединения в терминал выдает +DISC:SUCCESS +CONNECTING

    В команды пробовал добавлять /r/n вконце,ничего не дало.

    Вопрос кстати — а если просто набирать символы в терминале на ПК — в терминале на телефоне через бт я же их не должен видеть ? Или должен ?

    Вопрос кстати — а если просто набирать символы в терминале на ПК — в терминале на телефоне через бт я же их не должен видеть ? Или должен ?

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

    АТ команды я слал с терминала ПК по проводу, телефон в это время с модулем не сопряжен.

    Но общими усилиями — победили. Связь есть. Действительно модуль когда не подключен готов к приему АТ команд, только вот почитав форумы наткнулся на упоминание что тайминги для команд у него оочень жесткие. В итоге у меня не с ide ни с putty(команду не набирал а отправлял копипастом) не пошло. Скачал terminal 1.9b — все работает, на команды отвечает. Вот такая петрушка, здорово что победили, но теперь возникают опасения как такой модуль с software serial будет работать с ардуиной. Кстати может полезно для итстории модуль себя так опознает +VERSION=JDY-31-V1.35,Bluetooth V3.0

    Вывод EN никуда не подключал (попробовал и так и так) — но я так понимаю его в итоге к + подтягивать надо для работы ?

    У меня он работает при подключение 3,4 выводов — два,три других гордо висят в воздухе. Я пробовал на 3 модулях от разных продавцов через «иде» с набором команд вручную — нигде осечек не было.

    Про тайминги не читал, использую аппаратный serial, дистанционно заливаю скетчи в поделки с модулями — сбои бывают редко.

    Источник

    Блютуз модуль jdy 31

    Arduino Pro Mini 5V ATmega168

    Bluetooth модуль HC-06

    WiFi модуль ESP8266 ESP-07/ESP-07S

    Bluetooth модуль HC-05

    Bluetooth модуль HM-10 BLE v4.0 (MLT-BT05)

    Bluetooth-модуль SPP-C

    Bluetooth-модуль JDY-33

    Категории

    Новые товары

    Датчик дыма MQ-2

    Датчик расстояния Sharp 0A51SK

    Драйвер для светодиодов 1-36Вт

    Нагрузочный тестер цифровой FX35

    Список новинок

    © 2015-2023 Интернет магазин «Электроник74» Не является публичной офертой.

    Источник

    Читайте также:  Звук bluetooth через hdmi
Оцените статью
Adblock
detector