我正在使用 NodeMCU - ESP32 (
https://esphome.io/devices/nodemcu_esp32.html) 和 SIM900a 迷你版本 3.8.2 并尝试通过串行连接它们。但是,我发送的 AT 命令总是返回 -1。
这是我的代码:
代码:
全选
#include "HardwareSerial.h"
HardwareSerial SIMSerial2(2);
unsigned long previousM = 0;
const long resetBurst = 13000;
void setup() {
Serial.begin(9600);
SIMSerial2.begin(9600,SERIAL_8N1, 18,19);
Serial.println("Star
ting");
delay(3000);
ReceiveMode();
}
void loop(){
unsigned long currentMillis = millis();
if(currentMillis - previousM >= resetBurst){
previousM = currentMillis;
Serial.println("Getting in Receive Mode");
ReceiveMode();
}
}
void ReceiveMode() {
Serial.println("Inside Receive Mode");
SIMSerial2.write("AT");
delay(3000);
Serial.print(SIMSerial2.read());
SIMSerial2.write("AT+CGSN");
delay(3000);
Serial.print(SIMSerial2.read());
delay(3000);
}
连接:
SIM900a GND 到 ESP GND
SIM900a 5VT 到 ESP RX
SIM900a 5VR 到 ESP TX
SIM900a 由一个单独的降压转换器供电,提供 4.7V/2A。
使用 Arduino IDE,这就是我在串行监视器中得到的:
开始
进入接收模式
Inside Receive Mode
-1-1Getting in Receive Mode
Inside Receive Mode
-1-1
我也试过SIM900a的3VT和3VR。我在
电路板的另一端尝试了 DB9-2 和 DB9-3 接头,但结果相同。尚未插入 SIM 卡。
SIM900a 与 NodeMCU ESP8266 配合良好。
0