三、通过 Node-RED 执行应用程序端编程
Node-RED 基于 Node.js 运行时,包含在我们之前创建的 Internet of Things Foundation Starter 样板中。导航到应用程序链接地址在生成服务的时就确定了,当然在之后也可以进行修改,通常是 http://<app_name>.mybluemix.net。比如:http://yuliminiotdemo.mybluemix.net ,默认是没有安全性要求的,打开之后显示主界面:
单击 “Go to your Node-RED flow editor” 按钮,进入编辑界面,然后点右上角的“+”符号可以开始新建一个流程。
在左边的面板上提供了在进行流程编辑时所需要的各个工具,按照种功能模块进行分类:输入input、输出output、功能function、社交social、存储storage、分析analysis、高级advanced以及IBM_Watson,如下图所示,已将所有模块的功能进行展示。其中更加有意思的功能是在 IBM Bluemix 平台上面将 IBM Watson 的大部分功能都整合到 IBM_Watson 下面了,可以直接进行使用,配合这些应用,加上创新的各种想法,应当可以构建出来相当有意思的项目出来,我们拭目以待:
接下来创建一个简单的示例程序,点击输入input分组中的最下方的ibmiot,按住并住右边的流程编辑工作空间拖动并释放,然后双击它,在弹出的属性窗口中开始进行编辑,在“Authentication”选择“API Key”,在接下来的“API Key”右边选择“Add new ibmiot”,并点击右边的添加图标,然后在弹出的窗口,输入之前创建并记录下来的Name、API Key与API Token,然后点击进行Add确认。
快捷提示:在线编辑器进行设计程序时,我们也并不需要手动在 IoT 服务控制台中注册应用程序,因为使用 Node-RED 编辑器时,会自动注册该应用程序。在“Authentication”一栏可以直接行选择“Bluemix Service”即可。
添加一些功能,完成如下功能,在接收到消息后,输出调试的消息,并把消息保存到Cloudant NoSQL数据库中。同时开始进行消息的处理,进行一些的条件判断之类的,再生成一个新的通知消息进行发布,也同时发一个Twitter信息和利用SMTP服务器去发一个邮件到指定的工作邮件里来。
点击右上面的“Deploy”进行在线的部署并运行,同时启动设备模拟程序或直接的Arduino板启动进行消息的发送。
最后检查是否将数据保存到了Cloudant NoSQL DB数据库中:
是否正确地发送了 Twitter 信息:
并且是否收到了邮件信息,由于测试中采用了163.com的SMTP,由于SSL连接拒绝导致无法发送邮件无法成功,通过控制台信息可以查看流程执行的过程与错误信息:
以上是简单的功能演示,我们还可以对消息进行持久化,将消息进行加工处理后存储到由“storage”提供的关系型数据库NoSQL以及文件系统等等之中。
使用 Node-RED 在线编辑器来构建应用程序端程序对用户而言要更容易一些。Node-RED 提供了许多内置的组件功能模块,通过拖拉与配置的方式就可以很方便地实现自有的功能,并且迅速快捷地将它们连接起来并直接进行部署运行并测试。
四、总结
使用 IBM Bluemix IoT 服务构建应用程序既简单又有趣。通过Arduino、 Java 或 Node-RED 在线编辑器可以方便地构建一个特有的应用示例。在各种各样的场景中使用 IoT 概念,掌握其实现原理,并且通过各种不同的平台语言,来使用IBM Bluemix IoT 服务合成自己的解决方案,实现与全世界的物联设备进行通讯与沟通。
通过使用 IBM Bluemix 所提供的服务:Internet of Things 服务为应用程序提供了简单且强大的功能,可以轻松连接并访问物联设备,对其获取的数据进行业务功能的加工,一定会呈现出来一个很好的应用场景。
为了达到更好的阅读效果,建议下载原文,在电脑上进行实际操作,链接为 :http://www.java2class.net/bbs/viewthread.php?tid=280
参考资料
1、Bluemix : http://www.bluemix.net ,基于 Cloud Foundry 的开源架构,Bluemix 云平台让您可以灵活地整合满足您需求的开发框架、语言和服务。
移动解决方案
物联网解决方案
认知解决方案
开放架构解决方案
混合云解决方案
还有其他更多解决方案
2、IBM developerWorks : http://www.ibm.com/developerworks/cn/
3、MQTT : http://www.mqtt.org
4、Github MQTT : https://github.com/mqtt/mqtt.github.io/wiki/libraries
5、Arduino : http://www.arduino.cc/
6、Eclipse Paho Java : https://eclipse.org/paho/
——本文转载自 IBM 云计算华南团队 (微信号:IBMCloud_SC)