отправка данных Json на сервер с помощью AT-команд

У меня есть веб-сайт, который принимает данные json с помощью почтового метода. Он отлично работает, когда я пытаюсь отправить запрос от клиента POSTMAN. Когда я пытаюсь сделать то же самое с помощью AT-команд, это не удается.

введите здесь описание изображения

Это последовательность AT, которую я пробовал

AT
AT+CREG? 
AT+CGATT?
AT+CIPSHUT
AT+CIPSTATUS
AT+CIPMUX=0 
AT+CGDCONT=1,"IP","airtelgprs.com"
AT+CSTT="airtelgprs.com"
AT+CIICR
AT+CIFSR
AT+CIPSTATUS
AT+CIPSTART= "TCP","obdsam.herokuapp.com","80"
AT+CIPSEND
>
POST /newtasks HTTP/1.1 (Ctrl+M + Ctrl+J)
HOST: obdsam.herokuapp.com" (Ctrl+M + Ctrl+J)
Accept: application/json (Ctrl+M + Ctrl+J)
Content-Type: application/json (Ctrl+M + Ctrl+J)
{"RPM":"41","ECT":"20"} (Ctrl+M + Ctrl+J)
(ctrl+j)(ctrl+z)

В чем может быть проблема?

Это ответ от серийного терминала

введите здесь описание изображения


person ganeshredcobra    schedule 25.11.2015    source источник


Ответы (2)


Решил проблему. После AT+CIPSEND сообщение должно быть таким >

POST /newtasks HTTP/1.1 (Ctrl+M + Ctrl+J)
HOST: obdsam.herokuapp.com (Ctrl+M + Ctrl+J)
Accept: application/json (Ctrl+M + Ctrl+J)
Content-Type: application/json(Ctrl+M + Ctrl+J)
Content-Length: 23 (Ctrl+M + Ctrl+J) (Ctrl+M + Ctrl+J)
{"RPM":"55","ECT":"55"} (Ctrl+M + Ctrl+J)(ctrl+j)(ctrl+z)
person ganeshredcobra    schedule 01.12.2015
comment
что такое Ctrl+M Ctrl+J и т.д.? Мне это нужно? - person Amir; 05.03.2019
comment
@Amir, это CR и LF, вам нужно отправить это, см. asciitable для комбинаций. - person ganeshredcobra; 07.03.2019

Я лично наблюдал распространенные ошибки при пропуске (ctrl+m)(ctrl+j) комбинаций. В приведенном выше сообщении первые пять строк принадлежат HTTP header, а шестая строка — HTTP body. Обратите внимание, что пятая строка должна заканчиваться двумя наборами carriage return и line feed, чтобы указать конец HTTP header.

Кроме того, подождите, пока CIPSTART не вернет CONNECT OK, и подождите, пока > appears afterCIPSEND`.

Если вы GET/POST просматриваете страницу с динамическим IP-адресом, ваш код должен быть достаточно быстрым, чтобы fetch/post выполнить fetch/post страницу до изменения IP-адреса.

Хорошего дня....

person Eby Stewart    schedule 06.02.2017