SmartNode与物联网:项目2-3 体验云计算

学习目标:

1.理解并能够正确设置模板节点、判断/切入节点、http请求节点;

2.能够正确连接PM2.5传感器;

3.了解物联网的概念并通过物联网开放平台体验云计算。

一、项目描述

随着互联网技术的普及、开源硬件的广泛推广、各类物联网服务平台的推出,物联网技术迎来一个飞跃的阶段。那么如何将互联网技术应用到我们的日程生活当中呢。本节课我们将利用edison套件中的器材,借助物联网开放平台,结合物联网技术完成一个在线实时监测室内PM2.5项目。

二、项目分析

完成在线实时监测室内PM2.5项目的关键问题是PM2.5的检测以及如何将收集到的PM2.5数据上传到物联网平台。我们可利用PM2.5传感器很好的解决PM2.5检测的问题,至于如何将数据上传到物联网平台,就要取决于我们选择的是怎样的互联网平台,项目分析可参考表1。

表1 体验云计算的项目分析

项目名称 体验云计算
项目功能 采集室内PM2.5数据,并上传到物联网平台进行实时监测
器材清单 PM2.5传感器
工作流程  image337

三、基础知识

(一)PM2.5传感器

PM2.5传感器是红外线发射二极管和光电晶体管组成,并对角式地排列在模块中,能够检测到空气粉尘中的反射光,尤其可以有效的检测到非常细的颗粒,比如香烟烟雾。为了方便接线,使用时需结合PM2.5传感器转接模块。该模块可以很方便的将PM2.5传感器和edison连接起来,在连接时只需将6针的连接线连接到PM2.5传感器上,转接模块上标D的接口通过3P线接到edison的数字针脚,标A的接口通过3P线连接到edison的模拟针脚即可。

image339image341

图 1 PM2.5传感器(左)和转接模块(右)

       (二)物联网平台

物联网平台是伴随着物联网技术的发展而推出的。目前能够看到的物联网开放平台有TLINK物联网开放平台、乐为物联网开放平台、中国移动物联网开放平台等。而通过对接口使用、性能稳定、数据处理因素的综合考虑,本项目最终选择了使用中国移动互联网开放平台作为依托。

接入物联网平台之前,我们首先要注册,登陆,完成界面如图2所示。从图中也可看出平台已提供了接入的详细文档,这里只提醒几点:1.项目创建成功时,可自动生成一个APIKey,默认关联本项目的所有设备,权限最大,是HTTP头参数携带的。2.设备添加成功时,可自动生成API地址,这是编写程序时,在“http请求”节点要用到的地址,从而实现将采集到的数据上传到我们创建的设备地址。

image343

图2 完成登录界面

 

 

四、实现过程

       (一)硬件连接

准备好器材后将PM2.5传感器与edison连接起来,这里我们将PM2.5传感器通过转接模块分别连接到模拟针脚1和数字针脚2,如图3所示。

屏幕快照 2016-03-16 上午2.27.17

图3 PM2.5传感器与edison的连接图

(二)流程设计

为了采集室内PM2.5并实时上传到物联网平台进行监测,我们需要使用“注入”节点设置在一开始时就触发传感器,并且需要通过“模板”节点定义变量,通过“改变”节点设置HTTP的头参数,再通过“http请求”节点发送数据到目的地址,同时借助“调试输出”节点将信息输出到调试窗口,以判断数据上传成功与否,参考流程如图4所示。

image346

图4 体验云计算流程图

(三)节点设置

“注入”节点可根据我们的需要触发下一节点。双击它可出现如图5所示界面,我们设置有效载荷为“时间戳”,重复为“无”,并将在最开始插入一次打上对勾,从而保证在程序一开始执行时就触发传感器。

 image289  image349

图5 注入节点及其设置

想一想

1.什么情况下可以将有效载荷设置为“字符串”或“空白”?重复设置为“时间间隔”、“时间段内的时间间隔”或“特定时间”?

2.在设置注入节点时,选中和不选中“在最开始插入一次?”有什么区别?

“PM2.5传感器”节点可采集室内PM2.5的值,这里我们连接在了edison的模拟针脚1,具体设置如图6所示:

image351

图6 PM2.5传感器节点及其设置

“模板”节点可以按照已有的模板创建一个新的消息。点击该节点,在信息窗口便可查看如何创建新消息的相关信息。双击该节点可看到默认为mustache项,这里我们需创建一个JSON节点,因此选为JSON项,用来接收PM2.5传感器的值,为了增加可读性,将名称改为构架post文本,具体设置如图7所示。

 image353 image355

图7 模板节点及其设置

“改变”节点的主要功能是对传入的信息进行条件分配。其作用相当于编程语言中的switch和if else分支,点击左下角“+rule”添加分支。本项目需要在head中构建APIKey,因此需将物联网平台中自动生成、权限最大的APIKey地址赋给heads.api-key,从而实现数据的上传,具体设置如图8所示。

image357 image359

图8 改变节点及其设置

“http请求”节点可以得到我们需要的网页地址。本项目中我们需要将上一节点的信息上传到物联网平台,因此使用的是POST方法,请求的是我们在物联网平台上添加设备时生成的API地址。由于在模板节点创建的是JSON对象,因此在返回项中要选择解析过的JSON对象,具体设置如图9所示。

image361 image363

图9 http请求节点及其设置

想一想

1.什么情况下需将方法设置为“GET”、“PUT”、“DELELE”等?

2.在返回项中,“UTF-8字符串”、“二进制缓冲区”以及“解析过的JSON对象”有什么区别?

“调试”节点主要是对我们输出结果的正误进行检测和调节。该节点的设置比较简单,本项目中主要将“输出”设置为“消息属性”,将“输出到”设置“调试标签页”,具体如图10所示。若在调试窗口显示为{ “errno”: 0, “error”: “succ” },则表明数据上传成功。

 image166  image169

图10 调试节点及其设置

(三)测试效果

单击部署按钮,待部署成功后若调试窗口的显示符合预期,登录到中国移动物联网开放平台便可看到我们采集的PM2.5数据在实时的更新中。若有问题,在老师或同学的帮助下逐一排查解决。最后,与同学分享自己的作品和经验。

五、挑战自我

数据上传成功,我们便可在物联网平台看到一系列变化的数据,但你是否觉得数据的叠加显示太过随意?可否将数据转化为图表的形式展示出来呢?动手试试吧。

六、扩展阅读

将数据转化为图表,在Excel中我们已经非常熟悉,其实在物联网平台实现这一操作也很简单。在项目菜单下有一项是应用管理,点击添加应用即可出现如图11所示的界面。在图中我们可以很清楚的看到,可以创建曲线图、柱形图、仪表盘等等。这里我们选择曲线图。然后在右边的选项中选择相对应的数据流即可。当然还可添加图表标题、改变曲线颜色等信息。

image367

图11 新建应用界面

应用添加成功之后,再返回项目的主页面查看数据展示项,便可看到数据的显示已变成曲线图形式(如图12所示),看着是不是更加直观形象了呢!其实,在物联网开放平台能做的有趣的事情还有很多,赶紧去探索吧。

image369

图12 数据的图表化

发表评论

电子邮件地址不会被公开。 必填项已用*标注

跳至工具栏