从 ESP32 到 Fanstel BC805M (nRF52805M) 的 AT 指令不起作用
AT-Commands from ESP32 to Fanstel BC805M (nRF52805M) not working
我想发送一个简单的 AT 命令,例如:AT\r\n
从 ESP32 到 Fanstel BC805M (nRF52805M) 分线板。我的目标是得到答案。
问题:Esp32 没有从 BC805M 得到应答。
设置
硬件
ESP32 通过 USB 线连接到我的 Mac。
ESP32通过五根线连接BC805M -> 3V3->VDD, GND->GND, Rx->Tx, Tx->Rx, GPIO32(high)->GPIO04(P004 ). ESP32 的 Rx 和 Tx 是 Serial2(不是编程器的 Serial0)。 BC805M 的 P004 引脚设置为高电平以启用“命令模式”。
软件
BC805M 已经预装了 AT 命令代码。
ESP32 由一个简单的 Serial2 write/read arduino 代码闪现:
#include <HardwareSerial.h>
#define RXD2 16
#define TXD2 17
#define CMD_MODE 32
void setup() {
Serial.begin(115200);
Serial2.begin(115200, SERIAL_8N1, RXD2, TXD2);
pinMode(CMD_MODE, OUTPUT);
digitalWrite(CMD_MODE, HIGH);
delay(1000);
Serial.println("start");
}
void loop() {
Serial2.write("AT\r\n");
delay(500);
if(Serial2.available()){
Serial.write(Serial2.read());
}
}
在监视器上,我什么也没收到:Terminal Output
我测试了什么
我将两个 ESP32 Rx 和 Tx Serial2 引脚相互连接,显示器打印 AT AT AT ...(这样就可以了)
我把ESP32和BC805M连接起来不是通过Tx和Rx,而是像:Rx->Rx,Tx->Tx;我收到了消息
BlueNor 200622 started
在我的显示器上。这意味着我读取了 BC805M 的 Rx 引脚的值并将它们写入我的显示器。这条消息不应该在 BC805M 的 Tx 引脚上发送吗?
我通过 Android 应用程序连接到 BC805M,它通过低功耗蓝牙连接到它。我从应用程序向 BC805M 发送了命令。但我没有得到回应。我可以读取我在 BC805M 的 Rx 引脚上发送的命令。
我只将每个 usb 的 BC805M 连接到我的 mac 和 运行 Arduino-IDE 的显示器,显示器完全不打印任何内容并写入 AT-命令也没有结果。
Fanstel 支持刚刚写信给我说 BC805M 评估板未预装 AT-Command 固件。
只有BC805M模块预加载了它。
这就解释了为什么 AT 命令不起作用。
我想发送一个简单的 AT 命令,例如:AT\r\n
从 ESP32 到 Fanstel BC805M (nRF52805M) 分线板。我的目标是得到答案。
问题:Esp32 没有从 BC805M 得到应答。
设置
硬件
ESP32 通过 USB 线连接到我的 Mac。
ESP32通过五根线连接BC805M -> 3V3->VDD, GND->GND, Rx->Tx, Tx->Rx, GPIO32(high)->GPIO04(P004 ). ESP32 的 Rx 和 Tx 是 Serial2(不是编程器的 Serial0)。 BC805M 的 P004 引脚设置为高电平以启用“命令模式”。
软件
BC805M 已经预装了 AT 命令代码。
ESP32 由一个简单的 Serial2 write/read arduino 代码闪现:
#include <HardwareSerial.h>
#define RXD2 16
#define TXD2 17
#define CMD_MODE 32
void setup() {
Serial.begin(115200);
Serial2.begin(115200, SERIAL_8N1, RXD2, TXD2);
pinMode(CMD_MODE, OUTPUT);
digitalWrite(CMD_MODE, HIGH);
delay(1000);
Serial.println("start");
}
void loop() {
Serial2.write("AT\r\n");
delay(500);
if(Serial2.available()){
Serial.write(Serial2.read());
}
}
在监视器上,我什么也没收到:Terminal Output
我测试了什么
我将两个 ESP32 Rx 和 Tx Serial2 引脚相互连接,显示器打印 AT AT AT ...(这样就可以了)
我把ESP32和BC805M连接起来不是通过Tx和Rx,而是像:Rx->Rx,Tx->Tx;我收到了消息
BlueNor 200622 started
在我的显示器上。这意味着我读取了 BC805M 的 Rx 引脚的值并将它们写入我的显示器。这条消息不应该在 BC805M 的 Tx 引脚上发送吗?
我通过 Android 应用程序连接到 BC805M,它通过低功耗蓝牙连接到它。我从应用程序向 BC805M 发送了命令。但我没有得到回应。我可以读取我在 BC805M 的 Rx 引脚上发送的命令。
我只将每个 usb 的 BC805M 连接到我的 mac 和 运行 Arduino-IDE 的显示器,显示器完全不打印任何内容并写入 AT-命令也没有结果。
Fanstel 支持刚刚写信给我说 BC805M 评估板未预装 AT-Command 固件。
只有BC805M模块预加载了它。
这就解释了为什么 AT 命令不起作用。