Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SIM900 HTTP 604 и CME ERROR 3
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
turnon
SIM900 раз в минуту делает HTTP GET запрос. Все работает в целом хорошо, но иногда возникает сбой, начинающийся с ответа на HTTPACTION с кодом 604 и далее на все команды идет ответ CME ERROR 3 (operation not allowed). CME ERROR 3 может продолжаться долго.

Код ответа 604 на HTTPACTION означает Stack busy. Как это трактовать и как поступать в этом случае?
Почему после 604 входит в ступор и выдает CME ERROR 3, пока не оклимается?

SIM900 R11.0, 1137B03SIM900R64_ST_ENHANCE_E. Привожу лог взаимодействия.

Нормальный запрос:

Код
10.10.15 04:01:13, httpGet...
10.10.15 04:01:14, "+HTTPINIT"...
10.10.15 04:01:14, OK: "OK" (107 msec)
10.10.15 04:01:14, "+HTTPPARA="CID",1"...
10.10.15 04:01:14, OK: "OK" (106 msec)
10.10.15 04:01:14, "+HTTPPARA="URL","http://www...""...
10.10.15 04:01:14, OK: "OK" (117 msec)
10.10.15 04:01:14, httpAction...
10.10.15 04:01:14, "+HTTPACTION=0"...
10.10.15 04:01:16, OK: "+HTTPACTION:0,200,85" (1607 msec)
10.10.15 04:01:16, OK: httpAction = 1 (1620 msec)
10.10.15 04:01:16, httpRead(expectedDataLen = 85)...
10.10.15 04:01:16, OK:  (107 msec)
10.10.15 04:01:16, "+HTTPTERM"...
10.10.15 04:01:16, OK: "OK" (106 msec)
10.10.15 04:01:16, OK: httpGet done (3110 msec)


Сбойный запрос:

Код
10.10.15 04:02:16, httpGet...
10.10.15 04:02:17, "+HTTPINIT"...
10.10.15 04:02:17, OK: "OK" (107 msec)
10.10.15 04:02:17, "+HTTPPARA="CID",1"...
10.10.15 04:02:17, OK: "OK" (107 msec)
10.10.15 04:02:17, "+HTTPPARA="URL","http://www...""...
10.10.15 04:02:17, OK: "OK" (110 msec)
10.10.15 04:02:18, httpAction...
10.10.15 04:02:18, "+HTTPACTION=0"...
10.10.15 04:02:28, ERR: NO_RESPONSE, "+HTTPACTION:0," not found (10107 msec)
10.10.15 04:02:29, "+HTTPACTION=0"...
10.10.15 04:02:29, OK: "+HTTPACTION:0,604,0" (108 msec)
10.10.15 04:02:29, ERR: httpCode = 604
10.10.15 04:02:29, ERR: httpAction = 0 (11242 msec)
10.10.15 04:02:29, "+HTTPTERM"...
10.10.15 04:02:29, ERR: CME_ERROR: "+CME ERROR: operation not allowed" (107 msec)
10.10.15 04:02:29, ERR: httpGet failed (12615 msec)


После сбойного далее может идти долго ответ CME_ERROR 3 на все команды:

Код
10.10.15 04:02:32, httpGet...
10.10.15 04:02:33, "+HTTPINIT"...
10.10.15 04:02:33, ERR: CME_ERROR: "+CME ERROR: operation not allowed" (106 msec)
10.10.15 04:02:33, "+HTTPTERM"...
10.10.15 04:02:34, ERR: CME_ERROR: "+CME ERROR: operation not allowed" (107 msec)
10.10.15 04:02:35, "+HTTPINIT"...
10.10.15 04:02:35, ERR: CME_ERROR: "+CME ERROR: operation not allowed" (106 msec)
10.10.15 04:02:35, "+HTTPTERM"...
10.10.15 04:02:35, ERR: CME_ERROR: "+CME ERROR: operation not allowed" (106 msec)
10.10.15 04:02:36, "+HTTPINIT"...
10.10.15 04:02:36, ERR: CME_ERROR: "+CME ERROR: operation not allowed" (106 msec)
10.10.15 04:02:36, "+HTTPTERM"...
10.10.15 04:02:36, ERR: CME_ERROR: "+CME ERROR: operation not allowed" (106 msec)
10.10.15 04:02:36, ERR: httpGet failed (4423 msec)


Но этот случай оказался легким, на следующем цикле все восстановилось:

Код
10.10.15 04:02:39, httpGet...
10.10.15 04:02:40, "+HTTPINIT"...
10.10.15 04:02:41, ERR: CME_ERROR: "+CME ERROR: operation not allowed" (106 msec)
10.10.15 04:02:41, "+HTTPTERM"...
10.10.15 04:02:41, OK: "OK" (106 msec)
10.10.15 04:02:42, "+HTTPINIT"...
10.10.15 04:02:42, OK: "OK" (106 msec)
...
smalcom
попробуйте использовать аппаратное управление потоком
turnon
Собственно вопрос сводится к одному - что именно означает код ответа 604 (stack busy) и как поступать при получении такого ответа.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.