изпращане на Json данни към сървъра чрез AT команди

Имам уебсайт, който приема json данни с post method. Работи добре, когато се опитам да изпратя заявката от POSTMAN rest клиент. Когато се опитвам да направя същото, използвайки 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 страницата, преди IP да се промени.

Приятен ден....

person Eby Stewart    schedule 06.02.2017