WIZnet2012

W5500上传温湿度到oneNET平台

0
阅读(664) 评论(0)

HTTP_Onet.rar

前言

关于本文内容的一些名词解释W55

1、产品

   产品是指用户手上的真实设备在OneNET上对应的虚拟名称,是用户在OneNET上最上层的云端资源。

2、产品ID

产品ID是指由OneNET后台为您的某一款真实产品分配的一个独立的ID号,如果您旗下的某一款产品有两款不同的系列(如Iphone7/Iphone7 PLUS),那么建议创建两款产品来分别获得两个产品ID

3APIKey

用于对OneNET进行操作的鉴权以及权限控制,在使用OneNET Restful API时,HTTP请求消息的头域必须携带该APIKey字段,OneNET会依据APIKey字段判别该用户是否具有对应操作的权限。

APIKey的权限模型是通过设定对云端资源是否可以增加、查看、修改、删除等方式来描述的,最低的权限级别可细化到对某个数据流的访问权限。APIKey分为两种:

1.     产品APIKey: 在创建产品时,OneNET会为该产品生成一个默认的APIKey,这个APIKeyMasterkey,具有最大权限,能够对本产品下所有资源进行访问。

2.     设备APIKey: 用户为某一产品下的某一台设备创建的Key称为设备APIKey,设备APIKey的作用权限只限于本设备的资源,而不能对其他设备进行访问操作。

4、设备

云端的“设备”是指在上面提到的“产品”下的实体,亦指用户的某一台真实设备在OneNET上对应的唯一的虚拟名称。

5、设备IDDevice ID,DID

设备ID是指由OneNET后台为您的某一台真实设备分配的一个独立且唯一的ID号,一款产品下可以有多台设备,每一台独立的设备都有唯一的设备ID

6、设备编号

用户在OneNET上创建设备时,如果设备接入协议选择HTTP,则需要填写“设备编号”。设备编号是每一台真实设备所拥有的唯一识别号,不需要OneNET后台分配,用户可以自定义设备编号,但必须保证每台设备之间的独立性和唯一性,建议用户在输入设备编号时采用原有产品线的序列号。

7、数据流(Datastream

一个数据流可以理解为一类数据,如传感器之温度、位置之经纬度,空气之湿度等。用户可以自定义数据流名称,即数据流ID;一个设备可以添加多个数据流。

8、数据点(Datapoint

即一个数据流中的一个具体的数据值。数据点采用“Key-Value”的方式存储。其中Key的组成包括设备ID、数据流ID、时间等信息,value部分可以为任何数据对象,如整数、字符串或者JSON数据类型。

实验目的:W5500通过DHT11采集环境温湿度并上传到onNET平台,登录账号可查看到温湿度数据的变化图。

实验过程:

1、注册oneNET平台账号;

登录https://open.iot.10086.cn/,根据个人情况选择个人注册或者企业注册,注册以后登录。

    1.jpg

2、创建产品

登录以后点击右上角开发者中心并进入相应的产品列表界面;

2.jpg

点击创建产品在弹出的页面中填写产品的基本信息。行业、类别以及进度可以根据自己的实际情况进行填写;

3.jpg

操作系统和运营商以及联网方式根据自己的实际情况填写,我们的W5500开发板是没有操作系统的,所以选择无。我们的开发板是有线联网在这里我选择是wifi具体选择哪个根据自己的实际情况来定。

4.jpg

设备接入方式以及接入协议的选择要根据自己的项目来判断,有公有和私有两种,公有协议有EDPHTTPMQTT等,私有协议有RGMP等。在该实验中我们要使用HTTP协议。

5.jpg

(注:在oneNET的首页的左边有一个开发文档,里面有关于oneNET使用的较为详细的指南,用户可以通过该文档更加深入的了解OneNET的使用方法。)

3、添加设备

注册登录并建立自己的产品以后进入产品页面选择设备管理点击添加设备开始给自己的产品添加设备。

1)点击产品后进入一下页面

6.jpg

 

2)点击设备管理后进入下面的界面

7.jpg

根据提示填写信息

8.jpg

4、在设备下添加数据流,点击数据流模板进入下面的界面

9.jpg

开始添加数据流

10.jpg

 

 添加结果如下图:

 

11.jpg

 

5、现在关于oneNET的注册以及产品创建已经基本做好了,下面就是要通过代码实现数据的上传。

  接入流程:

  创建产品—创建设备—建立HTTP连接—数据点上传—查看数据流—应用生成

  代码实现:

  该实验是W5500接收DHT11的温湿度数据然后上传到oneNET平台显示,所有将我们提供的例程打开后进入device.c里面修改设备的IP地址网关等信息,然后回到主函数修改产品的APIKEY和设备ID以及数据流ID(数据流名称);具体的路径如下:

APIKEY: 点击自己创建好的产品进入在产品概况

12.jpg

设备ID: 点击自己创建好的产品进入设备管理

13.jpg

数据流ID:点击自己创建好的产品进入数据流模板

14.jpg

找到以上信息后在代码中修改为自己的数据信息

15.jpg

还需要注意的是我们的开发板没有DHT11芯片,所以需要外接一个温湿度检测设备,该实验定义的是PA2管脚来连接外部的温湿度传感器,用户可根据自己的情况在DHT11.c中做相应的修改。

一切就绪后编译下载然后打开串口助手可查看相应的过程,如下图

16.jpg

开发板与平台建立HTTP连接以后就开始上传DHT11检测的温湿度数据没一分钟上传一次,串口将温湿度打印出来。

此时我们可以登录自己的账号打开设备管理,然后点击设备下的数据流管理通过查看设备下的数据流来确认数据是否上传。

如下图:

17.jpg

进入数据管理后可查看数据的显示图:

温度显示

18.jpg

湿度显示

19.jpg

有上图可见我们开发板接收到的温湿度数据已成功上传到平台,此时可根据上传的数据添加自己的应用和触发器。

6、创建应用

  进入平台的产品点击应用管理—创建应用

20.jpg

创建以后点击编辑进入应用编辑界面

21.jpg

编辑页面如下图,在该页面可进行应用编辑,将想要添加的应用拖进编辑区,例如本实验中的仪表盘。

22.jpg

拖动仪表盘到自己的编辑区后点击编辑区的仪表盘会出现一下信息框,根据自己的实际情况填写设备ID数据流ID等信息。

23.jpg

根据提示创建自己的仪表盘如下:

24.jpg

创建好后点击保存预览就可以实时显示自己上传的温湿度数据。

7、创建触发器

  点击触发器管理了进入触发器管理那页面,在该页面点击添加触发器来添加自己的触发器。

该实验是添加一个温度报警触发器,就是当温度达到30°C的时候平台回想用户指定的邮箱或者路径发送报警信息。

25.jpg

点击添加后弹出信息框,根据自己的实际情况填写。如下:

26.jpg

温度超过设置的值后平台会向用户填写的邮箱发送邮件如下:

 27.jpg

 

到这整个实验就完成了,该实验较为复杂的部分就是想平台上传数据的部分,HTTP连接部分我们的开发板有好的例程可以用,而温湿度上传部分是在建立HTTP连接以后开发板接收DHT11的数据然后打包发送到oneNET平台,这个打包的过程有严格的格式要求,具体的要求在oneNET的官网有详细的介绍,用户感兴趣可以登录官网找到开发者文档的公开协议产品指南的API部分,该部分有关于数据点上传较为详细的解释。