利用串口网络助手上传数据、图片到OneNet平台以及获取数据(HTTP)

利用串口网络助手上传数据、图片到OneNet平台以及获取数据(HTTP)

使用网络助手连接OneNet服务器

使用OneNet提供的服务器IP地址:183.230.40.34 和端口:80连接服务器。
下面的链接是我使用的串口工具:
在这里插入图片描述
链接:https://pan.baidu.com/s/1_L75wEbSr9oYzRX_P6YxSg
提取码:zk9w
任何具有网络调试助手的串口都行。
因为需要连接OneNet的服务器,所有把自己设置为客户端TCP Client,之后输入对应的IP与端口
在这里插入图片描述
只有当显示为红色时,表示连接成功,若长时间没有对服务器发生消息,连接会自动断开。

HTTP上传数据至OneNet

通过对OneNet的开发文档的API翻阅,利用固定的格式即可上传成功,下面是我上传的数据。

POST /devices/31651166/datapoints HTTP/1.1
api-key: fK8SGMT4mKlloVW8btdgvpJH=xY=
Host:api.heclouds.com
Content-Length:101

{"datastreams":[{"id":"data","datapoints":[{"value":50}]},{"id":"shidu","datapoints":[{"value":3}]}]}

其中:
devices后面的ID是自己的设备ID
api-key:是自己的主APIkey
Content-Length:表示后面数据的长度,即多少个字符。
注意:Content-Length这一行结束后必须有2个回车,否则数据发生失败(回车不算入Content-Length内)。
data:为自己数据流名称
value:value后面的数值是data这个数据流的值
同理后面的"shidu"也是一样的。

上传成功之后会返回一串数据

HTTP/1.1 200 OK
Date: Fri, 20 Sep 2019 11:48:00 GMT
Content-Type: application/json
Content-Length: 26
Connection: keep-alive
Server: Apache-Coyote/1.1
Pragma: no-cache

{"errno":0,"error":"succ"}

发生成功时,会显示发生时间等一些信息,当发现{“errno”:0,“error”:“succ”}表面数据发送成功。
接下来登录OneNet平台查看数据是否存在。
在这里插入图片描述
时间与上传的时间匹配,说明上传成功。

获取数据

前面讲了怎么上传数据,接下来讲讲讲发生什么来获取上面的数据。
下面是获取设备ID的全部数据的格式:

GET http://api.heclouds.com/devices/31651166/datastreams HTTP/1.1
api-key: fK8SGMT4mKlloVW8btdgvpJH=xY=
Host: api.heclouds.com


注意:最后必须有2个回车,否则发生失败!
获取成功后会得到一串json格式的数据如下图(因为我这个设备的数据有点多,其中有图片数据,所以一些显示为乱码):
在这里插入图片描述
发现"errno":0代表发送成功,之后在json格式的数据中寻找之前上传的数据。
“2019-09-20 11:48:01”,“id”:“data”,“current_value”:50}
50是之前上传的数值,时间也能对上。
————————————————————————————————
接下来讲讲怎么获取单个数据,格式如下:

GET /devices/31651166/datapoints?datastream_id=shidu HTTP/1.1
api-key: fK8SGMT4mKlloVW8btdgvpJH=xY=
Host:api.heclouds.com


注意:最后必须有2个回车,否则发生失败!
datastream_id后面是自己的数据流名称
发生成功会显示如下图:
在这里插入图片描述

上传图片至OneNet

需用到的工具图片转化工具:
链接:https://pan.baidu.com/s/1Whyv7z5VPqP5v-VmasVJsw
提取码:o4fr
图片上传的操作方式也是与上面类似,不过利用串口上传时候,需要将图片转化为16进制格式的数据,上面的软件即可转化(需要注意的是,OneNet单次上传的文件或者数据不能超过800K
首先数据的格式为:

POST /bindata?device_id=31651166&datastream_id=bin HTTP/1.1
api-key: fK8SGMT4mKlloVW8btdgvpJH=xY=
Host:api.heclouds.com
Content-Length:858

#########替代为图片的数据############

图片的数据使用上面的工具生成:

在这里插入图片描述
上传的图片为jpg格式
打开需要的图片后就可以显示十六进制的数据。为了方便计算数据的大小,可以把数据复制粘贴至Word,在Word的左下角就可以显示他的长度。
因为数据是十六进制格式的,而我们的前部分不是十六进制格式的,所以应该首先把前面的数据也变成十六进制的,先把数据复制到串口助手,然后选择十六进制发送,这样前部分的数据就变成了十六进制(两个回车一定需要)如下图,之后再把图片数据粘贴上去,这样就可以上传了。

在这里插入图片描述
在这里插入图片描述
点击发送,显示如下,表示发送成功。
在这里插入图片描述
登录OneNet查看图片上传是否成功!
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42401265/article/details/101053604