
文章来源:英特尔责任芯
by丁俊勇
大赛启动之初,除了备受关注的“智能互联的服务创新”这一主题外,最能燃起童鞋们强烈兴趣的,当属本届大赛提供的这款极具探索创新价值的开源平台:Intel® IoT Services Orchestration Layer。
作为大赛的全能科普小助手,今天小编特别推出由英特尔首席工程师带来的物联网应用开发实操演示,帮助童鞋们在技术认知上分分钟实现质的飞跃~
分分钟“画”出属于你的物联网应用
在国家“互联网+”战略的大背景下,“物联网”的势不可挡发展前景已经被大家广为认可。然后说一千道一万,不如动手马上干,当我们真要撸起袖子,加入“创客”一族,开始开发物联网应用的时候,就会发现事情没那么简单。
和传统的应用不太一样的是,物联网应用往往是一个典型的端对端的异构的分布式程序。“端对端”、“异构”、“分布式”—— 听听这几个高大上的词!用人话来说就是:这个程序一头要处理一堆物理设备例如传感器、电机什么的,另一头往往又对接着云服务。这里头有方方面面的技术要考虑,网络连接、数据协议、消息响应等等等等 … … 更不要提调试,部署等实施时的具体问题了。

怎么办?难道真的要老衲转职为传说中的“资深码农”才能开心的和“创客”玩耍吗?
今天就给大家分享一个github上的开源项目 – Intel® IoT Services Orchestration Layer。名字有点长,哈。换成人话就是:有了这个,开发物联网应用就是拖拖拽拽“画”个图的事,分分钟搞定。
下面随便举个例子——比Hello World高尚一些的例子
假设我弄了两个温度传感器和一个电风扇,接在了一块开发板上(例如Intel® Edison)。想写的应用程序也很简单,如果A传感器测到的温度大于B传感器,就打开风扇,否则就关闭。话说为什么要写这么一个应用,我们不要太关心,只是一个例子而已。我们要聊的是,怎么不写一行代码,就做出这么个应用。

好嘞,不说闲话了。
先简单的把Intel® IoT Services Orchestration Layer安装到Edison板子上之后(具体过程参见项目文档,近似于解压),我们就可以从电脑用浏览器(例如Chrome什么的)连接上Edison,使用提供的HTML5的开发者界面。该界面里面有设置好(如何设置参见项目文档)的各种服务,例如测量A传感器温度,测量B传感器温度,开关电风扇等。
然后,写程序的过程就变成了拖拽这些服务,根据它们之间数据的传送关系连线,“画”出一个或者多个“工作流”的过程。作品如下,不解释 —— 放大一看就懂,无需解释。

“画”好了程序逻辑之后,我们还可以接着“画”程序的界面。
如下图,里面有一堆预设的控件,拖拽布局先。
我这里一下子丧心病狂的拖入了8个控件,哈哈哈。

接着再到刚刚完成的工作流当中,接着“画”——要把那8个控件也加进来,例如把测量A传感器的服务和一个仪表盘连一个线,表示测到的温度要由这个仪表盘控件显示。
照例不解释。

然后,然后就不要再然后了。直接启动你的程序吧。
下面是看到的结果,一个是实物,我们用手摸一摸A传感器,它测到的温度就会比较高,然后风扇就启动了。同时我们也可以用浏览器看到应用的界面,里面按照我们刚刚“画”的方式,显示了温度,风扇状态等各种信息。