2

我正在拼命寻找我的 SIM800l v2 的解决方案。网络 LED 每秒闪烁一次。它不会重新启动,但会一直闪烁并且没有接收到信号。

我尝试使用笔记本电脑的 USB 端口通电,但无法解决问题。我还使用了一个 5V 和 2A 的充电器适配器,但仍然不能解决问题。我也试过换sim卡,但还是没有解决问题。

这是我遵循的接线图:

在此处输入图像描述 学分 miliohm.com

代码:

SoftwareSerial sim(10, 11);
int _timeout;
String _buffer;
String number = "+6281222329xxx"; //-> change with your number

void setup() {
  //delay(7000); //delay for 7 seconds to make sure the modules get the signal
  Serial.begin(9600);
  _buffer.reserve(50);
  Serial.println("Sistem Started...");
  sim.begin(9600);
  delay(1000);
  Serial.println("Type s to send an SMS, r to receive an SMS, and c to make a call");
}

void loop() {
  if (Serial.available() > 0)
    switch (Serial.read()) {
    case 's':
      SendMessage();
      break;
    case 'r':
      RecieveMessage();
      break;
    case 'c':
      callNumber();
      break;
    }

    if (sim.available() > 0)
      Serial.write(sim.read());
}

void SendMessage() {
  //Serial.println ("Sending Message");
  sim.println("AT+CMGF=1");    //Sets the GSM Module in Text Mode
  delay(200);
  //Serial.println ("Set SMS Number");
  sim.println("AT+CMGS=\"" + number + "\"\r"); //Mobile phone number to send message
  delay(200);
  String SMS = "Hello, how are you? greetings from miliohm.com admin";
  sim.println(SMS);
  delay(100);
  sim.println((char)26);// ASCII code of CTRL+Z
  delay(200);
  _buffer = _readSerial();
}

void RecieveMessage() {
  Serial.println ("SIM800L Read an SMS");
  sim.println("AT+CMGF=1");
  delay(200);
  sim.println("AT+CNMI=1,2,0,0,0"); // AT Command to receive a live SMS
  delay(200);
  Serial.write ("Unread Message done");
}

String _readSerial() {
  _timeout = 0;
  while (!sim.available() && _timeout < 12000) {
    delay(13);
    _timeout++;
  }
  if (sim.available()) {
    return sim.readString();
  }
}

void callNumber() {
  sim.print (F("ATD"));
  sim.print (number);
  sim.print (F(";\r\n"));
  _buffer = _readSerial();
  Serial.println(_buffer);
}
4

2 回答 2

0

我也被困在这个问题上很久了。有一个 DC-DC 转换器以确保我有正确的电压。我在 DC-DC 的两侧连接了盖子。我尝试了大多数一切都无济于事。

最后我的问题是面包板和跳线的效率低下。因此,如果您使用的是面包板或跳线,请尽可能缩短它们,例如 2-3cm,以确保可以为 SIM800L 模块提供足够的电流

于 2021-10-04T18:53:19.223 回答
0

尝试在 Vcc 和 GND 之间尽可能靠近地连接一个电容。如果模块在您进入 SIM 引脚后连接到网络,则电流会上升并可能导致电压下降。

于 2021-06-04T13:37:19.640 回答