×

OneNET HTTP协议的使用

hqy hqy 发表于2019-11-15 15:52:52 浏览2632 评论0

抢沙发发表评论

      在OneNET平台的HTTP协议可以说是最简单的一种协议,使用的是HTTP的RESTful风格接口,可以作为新手用来入门OneNET各类协议的协议。在OneNET它是一种短连接协议,只能用于数据上报,不能下发命令,如果你想要实现命令下发可以用EDP协议或者MQTT协议。本文向将用工具调试方法,再用C语言代码讲解,用socket来通信,不贴出socket代码,代码在另外一篇博客OneNET的EDP协议讲解与应用有贴出。本文只POST、GET一个数据流或一个数据点,读者若想实现多个数据流或数据点的POST、GET,可参考本文代码,并参考OneNET HTTP协议开发文档。


一、用TCP&UDP测试工具调试 

 1、工具下载


可以到TCPUDP测试工具下载,或者直接百度搜索“TCP&UDP测试工具”下载。


2、连接服务器


(1)打开工具,输入服务器IP地址和端口,OneNET HTTP协议 对应的服务器IP为:183.230.40.33,端口为:80。


4、GET数据流


代码如下:


char *g_onenet_http_pro_api_key = "SlxhH3MCLvuuvXJ0N=a14Yo6EAQ=";

char *g_onenet_http_dev_id = "505619290";

 

char *get_data_stream_name = "test_stream";

 

/**************************************************************

函数名称 : onenet_http_get_data_stream

函数功能 : GET OneNET平台数据流

输入参数 : 无

返回值  : HTTP_GET_OK:发送GET成功

   HTTP_GET_ERROR:发送GET失败

备注 : 无

**************************************************************/

http_get_t onenet_http_get_data_stream(char *dev_id, char *api_key)

{

char get_buf[ONENET_HTTP_GET_MAX_LEN];

memset(get_buf, 0, sizeof(get_buf));

strcat(get_buf, "GET http://api.heclouds.com/devices/");

strcat(get_buf, dev_id);

strcat(get_buf, "/datapoints?datastream_id=");

strcat(get_buf, get_data_stream_name);

strcat(get_buf, " HTTP/1.1\r\n");

strcat(get_buf, "api-key:");

strcat(get_buf, api_key);

strcat(get_buf, "\r\n");

strcat(get_buf, "Host:api.heclouds.com\r\n");

strcat(get_buf, "\r\n\r\n");

 

if(socket_send(g_onenet_http_socket_id, get_buf, strlen(get_buf)) > 0)

{

return HTTP_GET_OK;

}

else

{

return HTTP_GET_ERROR;

}

}

 

/* GET数据流 */

if(HTTP_GET_OK == onenet_http_get_data_stream(g_onenet_http_dev_id, g_onenet_http_pro_api_key))

{

    ONENET_HTTP_LOG("get success");

}

else

{

    ONENET_HTTP_LOG("get failed");

}

串口打印GET的结果如下:


打赏

本文链接:https://www.kinber.cn/post/998.html 转载需授权!

分享到:


推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

 您阅读本篇文章共花了: 

群贤毕至

访客