【发布时间】:2019-11-26 22:32:18
【问题描述】:
我正在设计一种设备来控制温度并在温度过高或过低时发送短信。 我正在使用 arduino、DHT22 传感器和 DFrobot Gravity UART A6(GSM 模块)。传感器工作正常,但我一直遇到 GSM 问题,因为它停止响应。这是我正在使用的代码,它是来自 DFRobot 的标准代码示例:
#include <SoftwareSerial.h>
SoftwareSerial mySerial(11, 10); // TX-Pin11, RX-Pin10
void updateSerial()
{
delay(2000);
while (Serial.available()) {
mySerial.write(Serial.read());//Forward what Serial received to Software Serial Port
}
while(mySerial.available()) {
Serial.write(mySerial.read());//Forward what Software Serial received to Serial Port
}
}
void setup()
{
Serial.begin(9600);
mySerial.begin(9600);
}
void loop()
{
mySerial.println("AT"); //Once the handshake test is successful, it will back to OK
updateSerial();
mySerial.println("AT+CSQ"); //Signal quality test, value range is 0-31, 31 is the best
updateSerial();
mySerial.println("AT+CCID"); //Read SIM information to confirm whether the SIM is plugged
updateSerial();
mySerial.println("AT+CREG?"); //Check whether it has registered in the network
updateSerial();
mySerial.println("AT+SNFS=0"); //Adjust to earphone mode(AT+SNFS=1 is microphone mode)
updateSerial();
mySerial.println("AT+CRSL=2"); //Adjust volume, volume range is 0-15, maximum:15
updateSerial();
while(1)
{
if(mySerial.available())
{
Serial.write(mySerial.read()); //Forward what Software Serial received to Serial Port
if(Serial.available())
{
mySerial.write(Serial.read()); //Forward what Serial received to Software Serial Port
}
}
}
}
结果,我不断收到“???”。而且我不知道该怎么办了。我今天用 oscyloskope 检查了信号,一切正常。请帮忙:)
【问题讨论】:
标签: arduino prototype arduino-uno gsm