天天看点

【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享

1、IBM Bluemix 账号

2、物联网(IoT) 

3、Node.js

4、MQTT

MQTT 已经快20年了,可靠、不需要那么长的Header,省电省带宽。

5、Node-RED

Node-RED是一个独立应用,适合做可视化的流程控制,只要有Node环境就可以了。

相关资料下载:

<a target="_blank" href="http://download.csdn.net/detail/testcs_dn/9702366">Bluemix NodeRed Part1.pdf</a>

<a target="_blank" href="http://download.csdn.net/detail/testcs_dn/9702369">Bluemix NodeRed Part2.pdf</a>

<a target="_blank" href="http://download.csdn.net/detail/testcs_dn/9702371">Bluemix NodeRed Part3.pdf</a>

基于样板创建就可以了。

【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享

输入应用程序名称,其它保持默认,点击“创建”按钮。

【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享

稍等一会你将看到下面的页面,显示您的应用程序正在运行,点击查看应用程序

【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享

点击“Go to your Node-RED flow editor”打开一个在线的编辑器

【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享

会看到下面的界面:

【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享

这一步就到这里就可以了,后面再来介绍它的使用。

点击目录,然后在左侧选择Internet of Things,点击 Internet of Things Platform 服务

【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享

服务名称可以保持默认的,你也可以输入一个

【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享

拖动滚动条到下面,套餐选择免费,然后点击创建

【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享

创建完成后,点击启动仪表板

【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享

鼠标移动到左侧菜单,选择设备

【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享

点击添加设备按钮

【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享

首次应用需要先创建设备类型

【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享
【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享

输入设备名称,然后点击下一步

【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享

现在很多使用默认项就可以,以后管理自己真实的设备时,最好都填上。

【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享

下一步

【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享

创建

【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享

设备类型添加完成之后,选择设备类型,下一步

【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享

输入设备标识,最好英文半角字符,不要超过23个字符,下一步

【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享

保持默认,下一步

【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享
【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享

点击添加按钮

【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享

创建完成之后会看到下图的信息

注意:一定要将红框中的信息复制出来保存到其它位置,一会儿还要用到,关闭对话框之后就找不到了。

【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享

点击右上角的关闭按钮

选择左侧的应用程序菜单,然后点击右侧的生成API密钥

【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享

点击生成按钮,同样要把红框中的信息保存下来,一会儿要用到。

【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享

1、使用Nodejs将数据发送到物联网平台上,程序文件:mqtt-device-pub-china.js

这里用到的就是创建设备时保存下来的信息,需要修改的位置都添加了注释。

2、使用Nodejs订阅发送到物联网平台上的数据,程序文件:mqtt-application-sub-china.js

这个文件中用到的就是生成 API 密钥时保存的信息,组织标识要保持一致。

3、关于两个文件中的“clientId”说明:

我们注意到一个是以“a:”开头代表APP(应用),一个是以“d:”开头代表Device(设备);

为什么这样设计呢?

因为只有应用可以订阅,应用需要等待就是Looping,耗电较大,通常运行在服务器端;

设备要接收指令,不需要等什么;所以Command的只能给设备,不能给应用;

4、运行发布和订阅端测试

【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享

两端的启动顺序不分先后,启动后在发布端输入信息,在订阅端就会看到了。

【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享

注意:这个数据是经过IBM Bluemix 上的物联网平台的。

5、原理示意图

【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享

一开始我们就创建了Node-RED应用程序,打开了一个在线的流程编辑器却没有使用,现在它被派上用场了。

1、首先,我们通过按下拖动鼠标来选中Flow1中的图形,然后按Delete键将其删除。

【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享

2、在左侧的 input 中选择 mqtt 拖动添加到 Flow 1 中,双击它 

【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享

3、然后点击Server 后面的编辑按钮

【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享

4、输入Server信息,就是上面js文件中的:组织标识+.messaging.internetofthings.chinabluemix.net

例如:0ct4vz.messaging.internetofthings.chinabluemix.net

Client ID,可以和上面订阅程序文件中的一样。

5、然后选择Security标签:

【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享

这里就是你生成的API 密钥和认证令牌,然后点击Update按钮。

【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享

6、在左侧的 output 中选择 debug 拖动添加到 Flow 1 中

【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享

7、在 mqtt 的右侧按下鼠标拖动到 debug 的左侧,这样两个组件就建立了连接,也就是 mqtt 的输出作为 debug 的输入。

然后点击 Deploy

【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享

8、注意左侧的连接状态

【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享

9、右侧切换到 debug 标签

【物联网(IoT)开发】物联网及NodeRed 技术讲解及动手实践活动分享

10、再回到我们刚刚运行的发布端程序,输入信息发布吧,然后在上图的 debug 信息中就可以看到发布的信息了。

是不是很有意思呢?Node-Red的功能远不止于此。

之前一直想尝试Bluemx上的物联网和Node-Red,但限于能力一直也没搞清楚怎么用。

非常感谢詹总的分享,让我们吃着零食,喝着饮料,边听边动手实践,非常容易的就掌握了使用方法。

希望以后能多组织一些这样的活动,提供一些最佳实践;这里面有一些需要注意的地方,

如果不是有人指导,自己就要去看文档,可能会有很多弯路要走。

这样让我们大大的节省了探索的时间,直接走上捷径。

===========文档信息============ 

版权声明:非商用自由转载-保持署名-注明出处 

署名(BY) :testcs_dn(微wx笑) 

文章出处:[无知人生,记录点滴](http://blog.csdn.net/testcs_dn)

继续阅读