BLE module for arduino not correctly sending and receiving data (JDY-10)

Такого решения в интернете не находил, возможно кому-то будет полезным. Покупал модуль HM-10, но пришел другой JDY-10 V.25 (по крайне мере такое название выдает). Проблема заключалась в том, что с телефона через программу "Serial Bluetooth Terminal" получалось отправлять данные на контроллер, и наоборот. Но вместо введенного текста приходили другие символы. При изменении в "монитора порта" частоты (baud) 115200 проблема решалась, но команда настройки TA+BAUDX (X - число 1-9) перебрасывало на совсем другие частоты, которые не совпадали с мануалом. Для поиска рабочих частот можно воспользоваться таким кодом:

#include <SoftwareSerial.h>
SoftwareSerial mySerial(6, 7); // RX, TX

// В моей ситуации я подключал модуль к обычным портам на arduino.

В setup()

long minBoud = 1000; //Минимальная частота для проверки
long maxBoud = 500000; //Максимальная частота для проверки
long stepBoud = 100; //Шаг частоты

long currentBoud;

for (currentBoud = minBoud; currentBoud < maxBoud;currentBoud = currentBoud + stepBoud) {
Serial.begin(currentBoud);
mySerial.begin(currentBoud);

Serial.write("Testing of msg. +Very long massage with numbers 123\n\n");
mySerial.write("Testing of msg. +Very long massage with numbers 123\n\n");

char buf[16];
long lval = currentBoud;
ltoa(lval, buf, 10);
Serial.println(buf);

Serial.write(buf);
mySerial.write(buf);

Serial.end();
mySerial.end();

}

Подключаемся с телефона к BLE модулю. Индикатор модуля должен с мигающего перейти на постоянный свет, показывая что к модулю подключено устройство. Запускаем код. Занимает время до минуты. Смотрим в терминале телефона на какой частоте сообщение пришло правильно, также смотрим в мониторе порта на пк.

Дальше в коде используем данные частоты, например

void setup(){
Serial.begin(74880); //From computer BOUD
mySerial.begin(14800); //From phone BOUD

mySerial.write("AT");

В моем случае контроллер не отвечает на все команды, но всегда правильно передает и получает информацию, что мне было и необходимо и легче чем заказывать и ждать новый модуль.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.