怎么用EC800M POST JSON数据?如果POST要requestheader =1;那么头码怎么加入?(当前尝试返回400(requestheader =1;)或者404(requestheader =0))感觉是头码没有加上;
Clear_Buffer();
//4.
printf(“AT+QHTTPCFG="contextid",1\r\n”);
HAL_Delay(500);
strx=strstr((const char*)RxBuffer,(const char*)“OK”);//·µ»ØOK
while(strx==NULL)
{
Clear_Buffer();
printf(“AT+QHTTPCFG="contextid",1\r\n”);
HAL_Delay(500);
strx=strstr((const char*)RxBuffer,(const char*)“OK”);//·µ»ØOK
}
Clear_Buffer();
printf(“AT+QHTTPCFG="contenttype",4\r\n”);
HAL_Delay(500);
strx=strstr((const char*)RxBuffer,(const char*)“OK”);//·µ»ØOK
while(strx==NULL)
{
Clear_Buffer();
printf(“AT+QHTTPCFG="contenttype",4\r\n”);
HAL_Delay(500);
strx=strstr((const char*)RxBuffer,(const char*)“OK”);//·µ»ØOK
}
Clear_Buffer();
printf(“AT+QHTTPCFG="requestheader",0\r\n”);
HAL_Delay(100);
strx=strstr((const char*)RxBuffer,(const char*)“OK”);//·µ»ØOK
while(strx==NULL)
{
Clear_Buffer();
printf(“AT+QHTTPCFG="requestheader",0\r\n”);
HAL_Delay(500);
strx=strstr((const char*)RxBuffer,(const char*)“OK”);//·µ»ØOK
}
/* Clear_Buffer();
printf("AT+QHTTPCFG=\"responseheader\",1\r\n");
HAL_Delay(500);
strx=strstr((const char*)RxBuffer,(const char*)"OK");//·µ»ØOK
while(strx==NULL)
{
Clear_Buffer();
printf("AT+QHTTPCFG=\"responseheader\",1\r\n");
HAL_Delay(500);
strx=strstr((const char*)RxBuffer,(const char*)"OK");//·µ»ØOK
}
Clear_Buffer();
printf("AT+QHTTPCFG=\"rspout/auto\",1\r\n");
HAL_Delay(500);
strx=strstr((const char*)RxBuffer,(const char*)"OK");//·µ»ØOK
while(strx==NULL)
{
Clear_Buffer();
printf("AT+QHTTPCFG=\"rspout/auto\",1\r\n");
HAL_Delay(500);
strx=strstr((const char*)RxBuffer,(const char*)"OK");//·µ»ØOK
}
*/
Clear_Buffer();
printf("AT+QHTTPURL=%d,3\r\n",sizeof("http://47.116.23.79:9312/"));
HAL_Delay(500);
strx=strstr((const char*)RxBuffer,(const char*)"CONNECT");//·µ»ØOK
while(strx==NULL)
{
Clear_Buffer();
printf("AT+QHTTPURL=%d,3\r\n",sizeof("http://47.116.23.79:9312/"));
HAL_Delay(500);
strx=strstr((const char*)RxBuffer,(const char*)"CONNECT");//·µ»ØOK
}
Clear_Buffer();
//5.
printf("http://47.116.23.79:9312/");
//printf("\r\n");
HAL_Delay(500);
strx=strstr((const char*)RxBuffer,(const char*)"OK");//·µ»ØOK
while(strx==NULL)
{
// Clear_Buffer();
printf("http://47.116.23.79:9312/");
printf("\r\n");
HAL_Delay(500);
strx=strstr((const char*)RxBuffer,(const char*)"OK");//·µ»ØOK
}
//6.
Clear_Buffer();
unsigned char json_data[1000];
unsigned int len = 0;
for(int i = 0;i<1;i++)
{
len = Mqttaliyun_Savedata(json_data,ChargeModelObject[i]);
snprintf(cmd_buffer, sizeof(cmd_buffer), "AT+QHTTPPOST=%d,30,30\r\n", len);
printf("%s",cmd_buffer);
HAL_Delay(500);
strx=strstr((const char*)RxBuffer,(const char*)"CONNECT");//·µ»ØOK
while(strx==NULL)
{
Clear_Buffer();
printf("%s",cmd_buffer);
HAL_Delay(500);
strx=strstr((const char*)RxBuffer,(const char*)"CONNECT");//·µ»ØOK
}
Clear_Buffer();
printf("%s",json_data);
//HAL_Delay(200);
//const char *headers = "Content-Type: application/json\r\n";
//printf("%s",headers);
// printf("\r\n");
HAL_Delay(500);
strx=strstr((const char*)RxBuffer,(const char*)"OK");//·µ»ØOK
while(strx==NULL)
{
Clear_Buffer();
printf("%s",json_data);
// const char *headers = "Content-Type: application/json\r\n";
//printf("%s",headers);
//printf("\r\n");
HAL_Delay(500);
strx=strstr((const char*)RxBuffer,(const char*)"OK");//·µ»ØOK
}
// EC800Send_StrData(t_payload);
}
//10.
Clear_Buffer();
printf("AT+QHTTPREAD=30\r\n");
HAL_Delay(50);
strx=strstr((const char*)RxBuffer,(const char*)"+QHTTPREAD: 0");//·µ»ØOK
while(strx==NULL)
{
Clear_Buffer();
printf("AT+QHTTPREAD=30\r\n");
HAL_Delay(50);
strx=strstr((const char*)RxBuffer,(const char*)"+QHTTPREAD: 0");//·µ»ØOK
}
//11.
Clear_Buffer();
printf("AT+QHTTPSTOP\r\n");
HAL_Delay(50);
strx=strstr((const char*)RxBuffer,(const char*)"OK");//·µ»ØOK
while(strx==NULL)
{
Clear_Buffer();
printf("AT+QHTTPSTOP\r\n");
HAL_Delay(50);
strx=strstr((const char*)RxBuffer,(const char*)"OK");//·µ»ØOK
}
Clear_Buffer();
printf("AT+QIDEACT=1\r\n");
HAL_Delay(50);
strx=strstr((const char*)RxBuffer,(const char*)"OK");//·µ»ØOK
while(strx==NULL)
{
Clear_Buffer();
printf("AT+QIDEACT=1\r\n");
HAL_Delay(50);
strx=strstr((const char*)RxBuffer,(const char*)"OK");//·µ»ØOK
}
接收:
OK
RDY
ATE0
OK
+CSQ: 99,99
OK
+CME ERROR: 14
+CME ERROR: 14
+CME ERROR: 14
+CME ERROR: 14
+CME ERROR: 14
+CME ERROR: 14
+CME ERROR: 14
+CPIN: READY
OK
+CSQ: 27,99
OK
+CSQ: 27,99
OK
OK
+CGREG: 0,0
OK
+CGREG: 0,0
OK
+CGREG: 0,0
OK
+CGREG: 0,0
OK
+CGREG: 0,0
OK
+CGREG: 0,0
OK
+CGREG: 0,0
OK
+CGREG: 0,1
OK
864249074609585
OK
OK
OK
+QIACT: 1,1,1,“10.22.235.245”
OK
OK
OK
OK
CONNECT
OK
CONNECT
OK
+QHTTPPOST: 0,404
CONNECT
{“timestamp”:“2025-04-11T13:17:01.675+08:00”,“status”:404,“error”:“Not Found”,“path”:“/api/charging/cmdh”}
OK
+QHTTPREAD: 0
OK
OK
发送:
AT
AT
AT
AT
AT
AT
AT
AT
ATE0
AT+CSQ
AT+CPIN?
AT+CPIN?
AT+CPIN?
AT+CPIN?
AT+CPIN?
AT+CPIN?
AT+CPIN?
AT+CPIN?
AT+CSQ
AT+CSQ
AT+QICLOSE=0
AT+CGREG?
AT+CGREG?
AT+CGREG?
AT+CGREG?
AT+CGREG?
AT+CGREG?
AT+CGREG?
AT+CGREG?
AT+CGREG?
AT+CGREG?
AT+CGREG?
AT+CGREG?
AT+CGREG?
AT+CGREG?
AT+CGREG?
AT+CGREG?
AT+CGREG?
AT+CGREG?
AT+CGREG?
AT+CGREG?
AT+CGREG?
AT+CGREG?
AT+CGREG?
AT+CGREG?
AT+CGREG?
AT+CGREG?
AT+CGREG?
AT+CGREG?
AT+CGREG?
AT+CGREG?
AT+CGREG?
AT+CGSN
AT+QICSGP=1,1,“CTNET”,“”,“”,1
AT+QIACT=1
AT+QIACT?
AT+QHTTPCFG=“contextid”,1
AT+QHTTPCFG=“contenttype”,4
AT+QHTTPCFG=“requestheader”,0
AT+QHTTPURL=26,3
http://47.116.23.79:9312/http://47.116.23.79:9312/
AT+QHTTPPOST=357,30,30
{“modelID”:8642490746095850,“modelIndex”:0,“currentDateTime”:0,“timeSecondSum”:0,“currentChargeTime”:0,“currentRunningPower”:0,“sumPower”:0,“networkModeEnabled”:“0”,“netWorkSettigTime”:0, “networkSettingPower”:0,“coinModeEnabled”:“0”,“coinModeSettingTime”:0,“coinModeSettingPower”:0,“dealyEnabled”:“0”,“currentBill”:0,“blalanceEnquiry”:0,“reserveState”:“0”}AT+QHTTPREAD=30
AT+QHTTPSTOP
AT+QIDEACT=1
模块型号:EC800MCNLF-I03-SNNDA