IoT SOL:基于HTML5+Node.js的图形化、社区化开发平台

英特尔物联网服务融合开发套件(IoT SOL)是软件与服务事业部系统技术和优化部门(STO)开发的一款面向物联网开发的图形编程工具,旨在降低IoT应用的开发门槛。在2016年英特尔信息技术峰会(IDF16)上,英特尔及其社区合作伙伴介绍了IoT SOL开发套件的功能、开发过程、社区建设、应用成果以及未来发展。

IoT SOL:基于HTML5+Node.js的图形化、社区化开发平台_第1张图片

Github:Intel(r) IoT Services Orchestration Layer

IoT创客的开发之痛

物联网(IoT)诱人的前景正在引发创业及转型热潮,包括智能家居、智能医疗、智能交通以及创客空间等。然而,没有成熟的开发工具,IoT开发者必须自行解决技术编程方面的各种困难和挑战。深圳矽递科技股份有限公司(Seeed)全球销售与营销团队VP苏祐立、上海智位机器人有限公司(DFRobot)CEO叶琛和深圳市创客工场科技有限公司(MakeBlock)创始人兼CEO王建军介绍了他们在与物联网创客们的沟通中发现的开发难题。

他们认为,专业的软件工程师或者硬件工程师涉及的知识面通常比较有限,但现在所有的技术都是越来越融合,软硬之间做完整的整合才可能完整地呈现物联网,这对创客知识面的要求也是越来越高。专注于快速实现创意的创客(创客群体的构成包括艺术、建筑或者医疗行业),希望简化中间太烦琐的过程,有一些易用的硬件,以及门槛比较低、无需精通底层硬件知识又能把软件封装好的开发工具,帮助他们实现创意。

三位创客选择的工具就是与英特尔合作打造的IoT SOL(英特尔物联网服务融合开发套件)。DFRobot已经有一款软硬件结合的机器人产品上架。叶琛介绍,原本很复杂的编程,通过IoT SOL,很多人花十分钟、二十分钟就能玩起来。

IoT SOL

英特尔公司软件与服务事业部系统技术和优化部门(STO)客户端软件和优化组总监Doug Sommer(负责英特尔客户端物联网平台的中间件进行系统优化与研发)介绍了IoT SOL的特点。IoT SOL开发工具包含了基于HTML5的图形化编程IDE和基于Node.js的中间件,可以支持在基于HTML5的网站上开发分布式IoT应用,而开发的应用可以部署在任何Node.js的硬件平台上

STO部门主要是对英特尔所有的硬件平台进行优化,优化平台包括IoT的优化,数据中心的优化,客户端的优化,英特尔也在做网络硬件和存储硬件。STO做的主要产品除了IoT SOL,还有WebRTC,PC客户端的软件,也做大数据的技术等。当然也做系统的仿真和固件的引擎,以及其他的一些服务和产品。——英特尔公司软件与服务事业部副总裁、系统技术和优化部门大数据技术中心总监马子雅

IoT SOL套件无需安装,仅需浏览器即可操作,使用直观的方式定义应用的逻辑,用一种所见即所得的方式定义应用界面,支持拖放式编程,也集成了调试工具,也能使用图形化的方式开发逻辑性的控制流,方便与各种智能设备发现机制对接和集成。

IoT SOL:基于HTML5+Node.js的图形化、社区化开发平台_第2张图片

通过优化的开发环境,物联网应用的开发就是拖拽和配置服务控件构造工作流的过程,无需书写代码,用户呈现界面的开发和应用逻辑的开发在同一个集成开发环境中进行。开发者根据不同领域的开发需求,可以屏蔽无关的服务/界面控件和添加新的服务/界面控件。同时,该套件支持现场调试,工作流引擎可以部署在计算能力足够强的终端设备上,也可以部署在网关和云端。——英特尔公司软件与服务事业部系统技术和优化部门(STO)客户端软件和优化组总监Doug Sommer

开发工具已经通过社区开放发布。但英特尔希望它不仅仅局限于开发工具,而是一个整个社区共同参与的开发平台,基于它要创建一个合适的生态系统。

IoT SOL:基于HTML5+Node.js的图形化、社区化开发平台_第3张图片

IoT SOL研发之路

英特尔公司资深首席工程师黄波博士回顾了英特尔IoT SOL的研发初衷及研发过程。

大概一年半之前,英特尔软件工程师试着开发一个逻辑很简单的程序:门口的摄象头将进来的人拍照,传到后台做人脸识别,判断他/她是不是家庭成员。工程师发现,要把程序写出来,需要在板子上做一些开发,还要对接云服务和人脸识别。市面上有很多的工具可以对单独的板子、设备提供一些框架,而物联网、智能互联需要每个终端设备和云服务都连在一起,这样的编程环境和接下来程序怎么运行,工具比较欠缺,英特尔的目标是要把这样的环境做出来,把开发门槛降低。

我们希望通过编程环境,让没有学过编程的人也能在若干分钟就可以开发相关的应用。我们通过图形化的编程,基于H5可以跨设备,我们希望既可以在PC上编程序,也可以在平板上编程序。——英特尔公司资深首席工程师黄波

摄象头可以提供服务,拍一个照片、一段视频,通过英特尔的开发套件,可以把各种服务很好地对接,而且提供一个运行环境,可以分布式地运行这个程序。这样好的开发环境、运行环境,部署整个解决方案就会比较简单,让有创意的人可以在非常短的时间内比较好地进行开发、调试和部署的工作。

IoT SOL社区发展

三位创客介绍了对英特尔IoT SOL开发套件的支持以及使用场景。

叶琛:DFRobot去年开始和SOL团队合作,在中文的创客社区建立了SOL的主页,国内创客已经可以从DFRobot创客社区找到SOL所有下载链接和使用样例;也建立了一个论坛,在DFRobot社区超过1.2万名创客可以马上看到SOL的使用情况;DFRobot的产品全部预载SOL,系统也是搭载了SOL默认的编程环境,希望这么做可以让更多的创客以非常容易的方式来使用这些产品,让他们的创意变得更加简单。

苏祐立:2014年后半年Seeed就在和英特尔配合,开始了一系列包括各种各样套件的合作,包括环境检测相关的套件,和物联网相关的套件,关键性的突破像图形化编程的概念,Seeed的产品放在众筹平台五个小时就达标,很快得到全国各地的创客、软件开发者、硬件开发者的兴趣。下一步Seeed和英特尔会进行更深的合作,涵盖更多的面,让整个物联网行业的发展更完整。

王建军:MakeBlock去年和英特尔在SOL平台上进行一些合作尝试,现在MakeBlock平台所有的电子模块都可以用SOL平台支持编程。相比其他的公司,MakeBlock更偏向于教育行业,希望通过合作把非常好用的软件带给中小学生用,因为中小学生有很多的天马行空的想法,但编程能力不高,IoT SOL平台可以帮助释放他们的想法,再结合MakeBlock电子硬件以及机械模块,可以做出各种各样机器人的模块。

IoT SOL成果展示

DFRobot、Seeed Studio和Makeblock也在IDF16上展出了各自围绕IoT SOL开发的成果。

DFRobot Devastator Robot Kit

IoT SOL:基于HTML5+Node.js的图形化、社区化开发平台_第4张图片

DFRobot Devastator Robot Kit已全面支持IoT SOL开发套件,用户可以通过此开发套件在网页上很方便的控制机器人的运动和摄像头的移动,同时通过WebRTC技术实现实时观看拍摄视频的体验。借助图形化编程,用户通过拖拽就可以生成程序,让机器人各个传感器/模块之间相互协作,实现复杂的功能。

Seeed Studio Wio Link Development Kit

IoT SOL:基于HTML5+Node.js的图形化、社区化开发平台_第5张图片

Wio Link开发板连接上Grove模块,通过IoT SOL开发套件在一分钟内搭出可随意控制颜色的LED灯。Seeed Studio研发的Wio Link开发板拥有6个即插即用、类电子积木的Grove模块接口(Grove是Seeed Studio研发的一系列拥有标准接口的传感器及执行器模块),通过移动端Wio Link App图形化操作无需编程就可以进行硬件开发,大大降低了硬件开发的门槛;IoT SOL通过简单的拖拽模块简化了传统编程开发过程,可以通过API接口调用Wio Link及连接的Grove模块,快速实现交互功能并且支持实时改动更新。在这两款硬软件工具的配合下,入门级的小白用户和资深开发者都可以快速打造自己心中的应用原型。

Makeblock demo

IoT SOL:基于HTML5+Node.js的图形化、社区化开发平台_第6张图片

Makeblock demo基于Intel Edison的扩展板,它可以通过upm库驱动Makeblock的电子模块,方便用户开展机器人相关开发,同时支持IoT SOL开发套件进行物联网应用开发。

IoT SOL未来规划

三个创客团队在与英特尔合作的过程中已经针对IoT SOL套件提出了很多意见,其中的一些意见已经被英特尔融入到开发过程中,还有一些功能将在未来产品路线图里会逐步实现。黄波表示,未来会在三个方面会有一些改进,逐步增强IoT SOL产品,为整个创客空间、物联网应用开发提供更好的环境。这三个方面可以归结为三个D。

  1. 开发。顾名思义,IoT SOL(物联网服务融合层)就像搭积木一样,如果有很多的积木模块,就可以搭出丰富多彩的东西,英特尔希望未来在开发的环境中提供越来越多的服务模块,让更多的创客开发出非常精彩、非常有用的产品。

  2. 跨设备。IoT SOL开发套件目前是基于PC,未来希望支持跨平台开发,可以用平板甚至用手机,整个开发环境的UI也会逐步改善,不管用什么设备编程,各方面的响应都可以得到比较统一的回应。希望有些伙伴、创客用其他工具开发的产品能导到这里来,这样可以复用原来的程序。希望在浏览器上跑一遍,重播的时候可以调,输入、输出是什么。未来希望可以动态调试,像其他的语言程序一样,跑的过程中边运行边调试。

  3. 部署。部署上有两个问题要做得更好,现在部署可能放在设备端,云端不知道在哪个节点上运行,这是要做的。如果在某些开发环境开发出来的应用导进来,导到他的环境里,特别是物理环境可能跟开发时的物理环境不大一样。传感器会变,其他的设备会变,怎么解决物理动态绑定,逻辑的服务和能够提供服务的物理设备比较动态的智能绑定。

围绕三个D,英特尔希望能IoT SOL逐步增强,并希望通过这些增强,更紧密地和合作伙伴一起为整个创客空间、物联网应用开发提供更好的环境。黄波表示,从某种角度上,所有的服务都可以成为IoT SOL积木的一部分,VR、AR、机器学习或是把深度学习和其他图形、视频信息综合在一起,可以做出很多有意思的产品。针对不同的应用优化的方法不一样,英特尔提供硬件、提供相应的基础软件模块,更希望每一个厂家能一起构建广大的生态系统,提供比较标准的接口把不同的优势服务融在一起,构造任何的实用的智能物联的应用。

英特尔会持续致力于IoT SOL开发工具的研发。英特尔IoT SOL的开发工具能帮我们的合作伙伴以及IoT持续的经营活动,期待和合作伙伴在技术、产品方面的合作。——英特尔公司资深首席工程师黄波

关于兼容Arduino库

英特尔的Edison、Curie用的基本上是Arduino开源硬件的接口,但Arduino的几千个库,很多库在Edison、Curie上是无法使用的,IoT SOL是否有计划把坑填平,让开发者用开源社区的库去做自己的东西?

黄波认为,Arduino和 IoT SOL其实并不矛盾。Arduino的板子提供服务,对接进来,可能开发很多基础的服务,在这之上可以把服务通过编程环境对接,变成更加复杂,可以多个互联网设备能协调,而且和云端互相协调更复杂的应用。英特尔会跟业界一起把整个编程环境做得更加友好,降低开发的难度。

王建军表示,Arduino十年来都是类似C语言的写法,而这十年整个编程技术有很大的变化,如很多图形化编程工具的出现。对于一些初级的Maker、中小学生而言,Arduino这样的开源硬件是很复杂的,Makeblock开发一些图形化的编程工具,让用户不太需要关心硬件,只需要关心他的想法,就是用一个摄象头、人脸识别,可能拉几个逻辑流就可以实现,编程的动作一定会需要得越来越少。

苏祐立认为,包括创客运动,不同层级的用户群体有不同的细分市场需求,不同的平台商专注于不同的技术, 整个IoT领域的编程平台还有很大的扩展空间。

叶琛本人2006年开始接触第一版的Arduino,最初的很多的库都是不全的,他也贡献了几个库的更新版本给Arduino,2009年DFRobot出了很多Arduino的配件,也是把这些模块做了很多的库,目标是为了降低目标使用的难度。他表示,很多硬件出现以后,这些库出现不兼容的问题,新的硬件和原有的硬件不兼容,DFRobot存在的意义就是帮用户,让现有的软件尽可能的兼容现在的硬件。除了IoT SOL,DFRobot可以提供一些硬件给最终的用户,把库不兼容的坑填掉,让他们得到一致的体验。

你可能感兴趣的:(IoT SOL:基于HTML5+Node.js的图形化、社区化开发平台)