#define SERVER_ADDR "api.heclouds.com" //OneNet RestFul API服务器地址
#define SERVER_PORT 80 //OneNet RestFul API服务器端口
#define DEV_ID "***"
#define API_KEY "********"
u8 temp = 0;
u8 prepare_data(void)
{
temp = temp + 3;
if(temp>=100)
temp = 0;
return temp;
}
void packing_send_message(void)
{
u8 send_buf[60];
u8 text[40];
u8 para = 0;
para= prepare_data();
strcat((char *)send_buf,"POST /devices/");
strcat((char *)send_buf,DEV_ID);
strcat((char *)send_buf,"/datapoints?type=5 HTTP/1.1\r\n"); //注意后面必须加上\r\n
u2_printf("%s",send_buf);
delay_ms(100);
memset(send_buf, 0, sizeof(send_buf));
strcat((char *)send_buf,"api-key:");
strcat((char *)send_buf,API_KEY);
strcat((char *)send_buf,"\r\n");
u2_printf("%s",send_buf);
delay_ms(100);
memset(send_buf, 0, sizeof(send_buf));
strcat((char *)send_buf,"Host:");
strcat((char *)send_buf,SERVER_ADDR);
strcat((char *)send_buf,"\r\n");
u2_printf("%s",send_buf);
delay_ms(100);
memset(send_buf, 0, sizeof(send_buf));
sprintf((char *)text, ",;dataStream,%d;data2,%d;data3,%d", para, para+10, para+20);
sprintf((char *)send_buf,"Content-Length:%d\r\n\r\n", strlen((char *)text));//计算JSON串长度
u2_printf("%s",send_buf);
delay_ms(100);
memset(send_buf, 0, sizeof(send_buf));
strcat((char *)send_buf,(char *)text);
u2_printf("%s\r\n",send_buf);
//printf("%s",send_buf);
delay_ms(100);
memset(send_buf, 0, sizeof(send_buf));
}
http报文组装
最新推荐文章于 2022-06-30 17:19:04 发布
本文介绍如何通过定义常量并利用`prepare_data`函数计算参数,使用C语言实现一个发送到OneNetRestFulAPI的设备数据包。步骤包括构建HTTP请求头,设置设备ID,API密钥,以及构造包含数据点的JSON消息。
1139

被折叠的 条评论
为什么被折叠?



