所有工作都很好地发送数据到服务器,但30分钟后,我得写像PDP:DEACT,无法发送数据,错误发送数据,我想当PDP:DEACT或无法发送数据,它将setup_kartusim() ; sim900模块本身,代码如何?
void setting_kartusim()
{
sim900.println(F("AT+CREG=1"));
delay(100);
Serial.println(sim900.readString());
sim900.println(F("AT+CGATT=1"));
delay(100);
Serial.println(sim900.readString());
sim900.println(F("AT+CIPSHUT"));
delay(100);
Serial.println(sim900.readString());
sim900.println(F("AT+CIPMUX=0"));
delay(100);
Serial.println(sim900.readString());
sim900.println(F("AT+CSTT=\"internet""\""));
delay(100);
sim900.println(F("AT+CSTT?"));
delay(1000);
Serial.println(sim900.readString());
sim900.println(F("AT+CIICR"));
delay(5000);
Serial.println(sim900.readString());
sim900.println(F("AT+CIFSR"));
delay(1000);
Serial.println(sim900.readString());
}
这段代码发送数据
void koneksi()
{
sim900.println(F("AT+CIPSTART=\"TCP\",\"testtest.com""\",80"));
delay(1000);
Serial.println(sim900.readString());
String link = "GET /test.php?test="+String(test)+"&testt="+String(testt)+"&testtt="+String(testtt)+" HTTP/1.1\r\nHost: testtest.com\r\n\r\n";
sim900.print(F("AT+CIPSEND="));
sim900.println(link.length());
delay(500);
if(sim900.find(">"))
{
sim900.print(link);
if(sim900.find("SEND OK"))
{
delay(100);
while (sim900.available())
{
Serial.println(sim900.readString());
}
sim900.println(F("AT+CIPCLOSE"));
}
else
{
}
}
}
这是错误
+PDP: DEACT
AT+CIPSTART="TCP","teste
5191
AT+CIPSTART="TCP","testes.com",80
ERROR
5234
AT+CIPSTART="TCP","testes.com",80
ERROR
5464
AT+CIPSTART="TCP","testes.com",80
ERROR
5597
AT+CIPSTART="TCP","testes.com",80
ERROR
5734
AT+CIPSTART="TCP","testes.com",80
ERROR
我想要的是代码,这样当PDP:DEACT或发送数据时出错时,它将运行程序setting_kartusim();再次工作,或者如果有,我如何制作PDP:不显示DEACT,以便GPRS模块始终开启?