连续间隔从GSM发送数据到网络服务器不能按预期工作。

时间:2015-02-01 14:43:41

标签: php server gsm gprs

我试图继续以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&params=";               
            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);

}

0 个答案:

没有答案