С помощью SIM800C отправьте пост-запрос, получите «ОШИБКУ» при установке параметра URL (короткий) - PullRequest
0 голосов
/ 28 мая 2019

Я использую sim800c для отправки пост-запроса, все выглядит хорошо, но я рад, что при установке «URL» я получил сообщение «ERROR», URL-адрес, который я установил, короткий, как «http://procedure.xxxxtech.com:1234".Then it отправит полученное событие в модуле, но получит данные от ошибки модема. Фактически, постданные не были отправлены. Как только это будет выполнено, он не исправит, пока не отключит питание и не подключит agian, затем установит url (я имею в виду исправление холодной перезагрузки, горячая перезагрузка бесполезно).

Эту ситуацию очень трудно воспроизвести, и к настоящему времени она появилась только дважды.

Я изменил URL, он работал хорошо, но вернулся обратно, все равно не получилось.

Я проверяю журнал http-сервера, в журнале не отображаются данные о запросе.

Я попытался пустая ссылка, он возвращает «ОШИБКА», и Lanch получил событие и потерпел неудачу, как моя проблема. Но моя проблема эхо cmd, я написал, то есть URL является правильным.

Я попробовал URL-адрес ошибки, который просто не является URL-адресом ответа, все в порядке.

Что касается формата URL, в первый раз он появился, я использовал формат как http://entry.xxx.com/entry/ObtainRouteUrl, и я изменил его на http://procedure.xxxxtech.com:1234, он успешно отправил запрос, затем я изменил его обратно, все еще не удалось. Во второй раз он появился, Мы использовали формат http://procedure.xxxxtech.com:1234, поэтому, похоже, он не имеет ничего общего с форматом URL.

AT+HTTPTERM
modem recv: AT+HTTPTERM
ERROR

AT+SAPBR=1,1
modem recv: AT+SAPBR=1,1

modem recv: 
OK

AT+HTTPINIT
modem recv: AT+HTTPINITOK

AT+HTTPPARA="CID",1
modem recv: AT+HTTPPARA="CID",1OK

AT+HTTPPARA="REDIR",1
modem recv: AT+HTTPPARA="REDIR",1OK

AT+HTTPPARA="URL","http://procedure.xxxxtech.com:1234"
modem recv: AT+HTTPPARA="URL","http://procedure.xxxxtech.com:1234"
ERROR

AT+HTTPPARA="CONTENT","application/json;charset=utf-8"

modem recv: AT+HTTPPARA="CONTENT","application/json;charset=utf-8"
OK

AT+HTTPPARA="TIMEOUT",50
modem recv: AT+HTTPPARA="TIMEOUT",50
OK

AT+HTTPSSL=0
modem recv: AT+HTTPSSL=0
OK

AT+HTTPDATA=199,100000
modem recv: AT+HTTPDATA=199,100000
DOWNLOAD
post data: {"appId":"306382023969210368","ctVsn":"13.1.18","devTp":"AT-XL3","did":"865209034329046","osTp":"RTOS","osVsn":"Nucleus","ts":"2004-01-01 08:02:31.000 +0800","sig":"08D74DEA267707685A883D40003FE2F8"}
modem recv: 
OK

AT+HTTPACTION=1
modem recv: AT+HTTPACTION=1
ERROR

AT+HTTPREAD
modem recv: AT+HTTPREAD
+HTTPREAD: 199
{"appId":"306382023969210368","ctVsn":"13.1.18","devTp":"AT-XL3","did":"865209034329046","osTp":"RTOS","osVsn":"Nucleus","ts":"2004-01-01 08:02:31.000 +0800","sig":"08D74DEA267707685A883D40003FE2F8"}
OK

AT+HTTPTERM
modem recv: AT+HTTPTERM
OK

AT+SAPBR=0,1
modem recv: AT+SAPBR=0,1
modem recv: 
OK

http должен работать правильно и отправлять данные, но не отправлять данные и их трудно исправить.

1 Ответ

0 голосов
/ 28 мая 2019

Руководство AT-команды описывает «URL» следующим образом:

"http://'server'/'path':'tcpPort'" 

В вашей команде отсутствует «путь»:

AT+HTTPPARA="URL","http://procedure.xxxxtech.com:1234"

Не могли бы вы попытаться добавить путь к вашей странице по умолчанию в URL. Например:

AT+HTTPPARA="URL","http://procedure.xxxxtech.com/index.html:1234"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...