непрерывная интервальная отправка данных с GSM на веб-сервер не работает должным образом.

Я пытаюсь продолжать отправлять данные с интервалом в 20 секунд, но вместо того, чтобы отправлять одну запись в 20 секунд, отправляются одновременно две записи за 40 секунд. Пожалуйста, предложите, если это обычное поведение с GPRS, или мы что-то упустили.

GSM я использую GL865 и Arduino Uno.

Пожалуйста, поделитесь своим мнением.

И через некоторое время он отправляет 3 данных через 60 секунд.

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);

}

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]