我试图继续以20秒的间隔发送数据,但不是每20秒发送一条记录,而是两条记录一起在40秒内一次发送。请指出这是否是GPRS的常见行为或我们是遗失了什么。
我正在使用的GSM是GL865和arduino uno。请分享您的反馈意见。
有一段时间它会在60秒后发送3个数据。
mySerial.println("AT&K=0");
smart_delay(2000);
mySerial.println("AT+CGDCONT=1,\"IP\",\"www\",\"0.0.0.0\",0,0");
smart_delay(3000);
mySerial.println("AT#GPRS=1");
smart_delay(3000);
mySerial.println("AT+CGPADDR=1");
smart_delay(3000);
mySerial.println("AT#SCFG=1,1,300,90,600,250");
smart_delay(5000);
while(1)
{
mySerial.println("AT+CREG?");
mySerial.println("AT#CGPADDR=1");
smart_delay(4000);
mySerial.println("AT#SGACT=1,1");
mySerial.println("AT#SD=1,0,80,\"XXXXXXXX.com\"");
req = "\r\nGET /?func=updateDeviceLoc¶ms=";
req.print(1);
req+=":";
req.print(flat,6);
req+=":";
req.print(flon,6);
req+=" HTTP/1.1\r\nHost: XXXXXXXXXXXXX.com\r\nConnection:keep-alive\r\n";
mySerial.println(req);
smart_delay(20000);
}
// smart_delay() function .
static void smart_delay(unsigned long ms)
{
int x=0;
char c;
unsigned long start = millis();
do
{
while (mySerial.available())
{
c=mySerial.read();
}
} while (millis() - start < ms);
}