乐鑫技术交流
直播中

摩托罗拉

9年用户 938经验值
私信 关注
[问答]

ESP32为什么无法与SIM900a通信?

我正在使用 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("Starting");
   
  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 配合良好。

更多回帖

发帖
×
20
完善资料,
赚取积分