Передача/прием данных Nodemcu(V3) + модуль Bluetooth HC-05
Я уже довольно давно пытаюсь связаться с модулем Bluetooth HC-05, но безуспешно.
Я использую модуль Nodemcu(V3) ESP8266.
Я подключаю HC-05 к Nodemcu в следующей последовательности:
HC-05 Nodemcu
----- -----------
RX --> Pin 1 (Tx)
TX --> Pin 3 (RX)
Vcc --> +3.3V
GND --> GND
Для начала я хочу проверить, правильно ли мой Nodemcu взаимодействует с моим модулем HC-05.
Я написал следующий код для чтения ответа AT - команд:
#include <SoftwareSerial.h>
SoftwareSerial BTserial(3, 1); // RX | TX
char Bluetooth_Name = ' ';
void setup()
{
// Arduino IDE последовательный монитор
Serial.begin(115200);
// HC-05 последовательная скорость по умолчанию для режима AT составляет 38400
BTserial.begin(38400);
// Дождитесь инициализации оборудования
delay(1000);
// Print отладочная строка
}
void loop()
{
// Продолжайте читать с HC-05 и отправляйте на последовательный монитор Arduino
if (BTserial.available())
{
reading = BTserial.read();
Serial.println(reading);
}
// Продолжайте читать с последовательного монитора Arduino и отправляйте на HC-05
if (Serial.available())
{
reading = Serial.read();
BTserial.write(reading);
}
}
Однако я вообще не получаю ответа ни на одну команду AT. Последовательный монитор просто показывает пустоту.
Заранее спасибо
EDIT:- Я подключил вывод "EN" на HC-05 к Vcc. Теперь светодиод на HC-05 медленно мигает, что означает, что HC-05 настроен в командном режиме. Однако я до сих пор не могу получить ответ ни на одну команду AT. Я также выбрал "Оба NL & CR" в последовательном мониторе, правильно настроил скорость передачи данных в бодах и дважды проверил аппаратные соединения.
Все кажется правильным, за исключением того, что я не получаю ответа на команды AT.
Пожалуйста, помогите!!!
@Sandrocottus, 👍0
Обсуждение2 ответа
Лучший ответ:
Я сменил линию
SoftwareSerial BTserial(3, 1); // RX, TX
Для
SoftwareSerial BTserial(D4, D3); // RX, TX
И заставил его работать!
У меня была точно такая же проблема, и я заставил ее работать, делая эти изменения:
Я должен был добавить это в свою библиотеку include statements
#ifndef D5
#if defined(ESP8266)
#define D5 (14)
#define D6 (12)
#define D7 (13)
#define D8 (15)
#define TX (1)
#endif
#endif
и изменился
SoftwareSerial BTserial(3, 1); // RX, TX
Для
SoftwareSerial BTserial(D5,D6);
Я использовал D5 и D6 на своем esp8266 вместо D1 и D3, но это не имеет значения
- Как заставить 5-вольтовое реле работать с NodeMCU
- ESP8266 не подключается к Wi-Fi
- Разница между этими двумя платами NodeMCU?
- NodeMCU - использовать кнопку flash в качестве входного сигнала в loop()
- Как определить размер Flash?
- Как изменить имя модуля ESP8266-12E по умолчанию
- Простой запрос GET с ESP8266HTTPClient
- В ESP-12E NodeMCU, какой выход PIN A0?
какой результат вы получаете, если таковой имеется, @Jaromanda X
Нет, я не получил никакого вывода на последовательный монитор, @Sandrocottus
Я просто изменил вопрос, чтобы проверить основной шаг, работает ли HC-05 с Nodemcu или нет?, @Sandrocottus