Сервер Sim900 + arduino перестает слушать через некоторое время

Итак, я пытаюсь сделать gprs-сервер arduino + sim900, но через некоторое время сервер перестает отвечать на http-запросы, статус все еще «слушает», но он просто не «обнаруживает» никаких новых запросов. перезапуск соединения устраняет проблему,

ниже приведены команды at и ответы с сервера:

AT+CREG?

+CREG: 0,1
AT+CSCLK=0

OK
AT+CIPMUX=1

OK
AT+CIPMODE=0

+CME ERROR: 3

AT+IFC=2,2

OK
AT+CGATT=1

OK
AT+CIPRXGET=1

OK
AT+CIPCSGP=1,"publicip.net.il","",""

OK
AT+CSTT

OK
AT+CIICR

OK
AT+CIFSR

2.
AT+CSQ

+CSQ: 22,0

OK
AT+CIPSERVER=1,80

OK

SERVER OK


0, REMOTE IP
AT+CIPRXGET=2,0,1024
: 192.163.218.62

+CIPRXGET:1,0

+CIPRXGET:2,0,53,0
GET /get HTTP/1.1
Host: 2.55.73.164
Accept: */*
SEND DATA
SEND_DATA FUNCTION::
AT+CIPSEND=0,221

>
1;1000;2000;0;0;1;2;0;0;0;1;1000;2000;0;0;1;2;0;0;0;1;0;10;0;0;1;2;0;0;0;1;0;10;0;0;1;2;0;0;0;1;0;10;1;0;1;2;0;0;0;1;0;10;1;0;1;2;0;0;0;1;0;10;1;0;1;2;0;0;0;1;0;10;0;0;1;2;0;0;0;0;1;941;0;1003166680;0;0;51;52;20;31;5;2013

0, SEND OK
AT+CIPCLOSE=0,0

0, CLOSE OK

Как я могу это исправить? это сводит меня с ума, sim900 поставляется с gprs-щитом seed studio: www.seeedstudio.com/wiki/GPRS_Shield_V2.0

после некоторых попыток я понял, что отправка нескольких запросов часто вызывает эту проблему, но этот CIPMUX равен 1, поэтому предполагается, что может быть до 10 множественных подключений.


person izzy    schedule 31.05.2014    source источник
comment
У меня такая же проблема! Вы когда-нибудь находили решение??   -  person Enayet Hussain    schedule 23.11.2015
comment
Нет, я поменял роли и сделал sim900 клиентом. он также гораздо менее энергоемкий   -  person izzy    schedule 24.11.2015


Ответы (1)


Я нашел решение, но я не уверен, что оно будет работать для всех. Я обнаружил, что мне нужно отправить разрыв строки после запуска AT+CIPCLOSE, чтобы получить текст из буфера. Например:

SIM900.println((char)26);
SIM900.println("");
SIM900.println("AT+CIPCLOSE");
SIM900.println("");

Также следует отметить, что вам нужно прочитать буфер как можно быстрее, иначе он переполнится, и вы пропустите часть ответа.

person Enayet Hussain    schedule 25.11.2015
comment
Я попробую, когда получу сдачу - person izzy; 03.03.2016