Не удалось получить ответ на команды BLE AT в Arduino Uno

Я пытаюсь установить соединение между двумя BLE (BT43) с помощью AT-команд от Arduino Uno. Я не получаю никакого ответа от AT-команд. Соединения следующие:

Arduino Tx --> BLE Rx Arduino Rx --> BLE Tx Arduino 3.3v --> BLEVcc Земля Arduino --> Земля BLE

Может ли кто-нибудь помочь мне с этим? Заранее спасибо! это мой код

#include <SoftwareSerial.h>
SoftwareSerial BTserial(6, 7); // Прием | Передача

const long baudRate = 115200; 
char c=' ';
boolean NL = true;

void setup() 
{
    Serial.begin(9600);
    Serial.print("Sketch:   ");   Serial.println(__FILE__);
    Serial.print("Uploaded: ");   Serial.println(__DATE__);
    Serial.println(" ");

    BTserial.begin(baudRate);  
    Serial.print("BTserial started at "); Serial.println(baudRate);
    Serial.println(" ");
}

void loop()
{

    // Чтение из модуля Bluetooth и отправка на серийный монитор Arduino
    if (BTserial.available())
    {
        c = BTserial.read();
        Serial.write(c);
    }


    // Чтение из последовательного монитора и отправка в модуль Bluetooth
    if (Serial.available())
    {
        c = Serial.read();
        BTserial.write(c);   

        // Повторить ввод пользователя в главное окно. ">" символ указывает на введенный пользователем текст.
        if (NL) { Serial.print(">");  NL = false; }
        Serial.write(c);
        if (c==10) { NL = true; }
    }

}

, 👍-1

Обсуждение

Ваша проводка кажется правильной, какую модель Arduino вы используете? Какие именно контакты arduino TX/RX? Как выглядит ваш код?, @mystery

Я использую Arduino Uno, и я подключил ble tx -> 6-й контакт arduino, ble rx pin -> 7-й контакт arduino., @vinitha

Спасибо тайна за ответ. Я добавил код в свой вопрос. Я установил скорость передачи данных на 115200 и не получаю ответа на AT-команды, которые я ввожу в серийный монитор., @vinitha

Uno имеет только 1 интерфейс HW UART (ваш последовательный объект), который подключен к порту USB. Вы не можете подключить к ним модуль bt и обмениваться данными независимо друг от друга. На Uno единственной альтернативой является Software Serial, который используется в вашем коде. Дважды проверьте, не являются ли указанные контакты (6, 7) аппаратными серийными номерами и действительно ли они подключены к модулю bt. Также посмотрите скорость передачи данных по умолчанию для модуля bt (начальное значение 115k кажется довольно высоким)., @mystery

Штыри (6,7) подключены только к моему модулю ble, и что касается скорости передачи данных, 115200 — это скорость передачи данных по умолчанию, которую они указали в документе, и я также пробовал разные скорости передачи данных., @vinitha


3 ответа


0

Поскольку эти модули подключены к своим соответствующим платам Arduino, чтобы дать им возможность BLE, Rx и Tx должны быть подключены к одному и тому же, а не пересекаться.

,

Согласно 2.6 https://www.ampedrftech.com/datasheets/BT43_Datasheet.pdf это неверно, и линии, как обычно, должны пересекаться., @mystery


0

Вам не хватает важной информации на странице 10 таблицы данных, т. е. вы не соединяете CTS и RTS.

Возможно, для связи с этим модулем необходимо рукопожатие. Попробуйте использовать его с какой-нибудь платой с синхронным UART.

Также можно попробовать заземлить CTS. т.е. подключить CTS blue-tooth модулей к 0V.

прочитайте это для большей ясности.

Надеюсь, это решит вашу проблему.

,

Модуль (BT43), который я использую, не имеет маршрутизации для контактов CTS и RTS, поэтому я не подключал CTS и RTS., @vinitha

У меня нет этого модуля, но если вы используете то же, что показано в ссылке на таблицу данных выше, у вас есть 11 RTS и 12-контактный CTS, следуйте таблице данных для распиновки., @Devidas


0

ИЗМЕНИТЬ

Только что нашел*:

На Arduino или Genuino 101 текущая максимальная скорость приема составляет 57600 бит/с *https://www.arduino.cc/en/Reference/SoftwareSerial

Возможно, вы превысили максимальную скорость для Uno.

Что вы используете для отправки данных через Bluetooth? Вы уверены, что данные отправляются на устройство?

Приложение для Android

Вы можете попробовать мое приложение для Android, которое я создал для этого конкретного типа тестирования. Вы можете получить его по адресу: http://raddev.us/btmessenger.apk

Если вы укажете на это свое устройство Android, оно загрузит приложение и спросит, хотите ли вы его установить. Если вы опасаетесь, что это вредоносное ПО, вы можете получить открытый исходный код для простого приложения на GitHub: https://github.com/raddevus. /BTMessenger

Что использовать:

  1. подключить Bluetooth-устройство
  2. Введите сообщение в верхнем поле TextEdit.
  3. Нажмите кнопку [Отправить].

btmessenger

Проблемы со скоростью передачи

Обычно, если вы укажете неверную скорость передачи данных, вы увидите просто мусорные символы. Вот запись, которую я только что сделал по настройке устройств Bluetooth. Это может помочь вам решить некоторые проблемы. https://www.codeproject.com/Articles/1254611/Bluetooth-Messenger

,