基于Web服务的物联网-WoT(Web of Things)

          当我们谈到智能手机,“多样性”往往不是问题,主流市场不是基于苹果IOS系统的就是谷歌的Android系统,但即将到来的物联网浪潮,智能对象是否也能这样?这就复杂多了,当前的大多数物联网产品往往来自某一类垂直行业,比如门锁,汽车,这些垂直行业都基于自己封闭的生态系统发展各自的解决方案,如Figure 1。这往往造成用户需要为遇到的每一个智能设备下载一个单独的应用程序(app),然后再利用app与设备进行互动,比方说恒温器Nest的操控,比如说那些智能的灯泡等等。在智能设备种类不多的情况下,这没有什么问题。但是在智能设备的数量种类将出现爆炸性增长之后,每一台新设备都要有自己的app才能用就变得非常不现实了。所以我们需要一个开放的解决方案。

                                                                      

                                                  Figure 1                                     

                          

         

   如今智能设备的应用大部分都是效仿“闭门造车”的封闭模式,这大大增加了创造新价值的机会,可以开发横跨这些垂直应用的水平解决方案。例如,建立智能电网要求联网设备跨越几个不同的垂直市场:家居、商业、工业、测量和变配电。在今天的市场上,很多这样的机会并不经济,因为让设备互联技术上太复杂,而且成本过高。Web of Things可以改变这一切,它会成为衔接各领域的设备和正在出现的应用和服务的关键点,使得设备信息可以像普通Web服务一样使用,这将对整个产业链产生革命性的影响,彻底简化各种应用和服务使用联网设备的难度。见Fingure 2

                  

                                                        Figure 2 

   能不能做一个系统让任何人在任何时候都可以跟任何设备进行交互呢?带着这个想法,Google在14年底推出了The Physical Web项目。The Physical Web是把虚拟的web延伸到周围的物理世界,希望采用网络地址(URL)的方式,开发出一套共同的web标准,让任何智能设备(不仅仅是Google的设备)都可以用来提供交互以及服务。

   The Physical Web要做的就是让每个智能设备用URL用标识自己,然后用户根据自己的需要通过URL和设备进行沟通。这样一来,使用智能设备的体验就和在网站上使用各种超链接差不多。

   利用这套标准,智能设备可以把自己的URL地址广播给周围,周围的任何设备(如智能手机、平板电脑)应该就可以接收到这些URL然后呈现给用户。用户然后就可以先查看附近的URL列表,选定一个需要的服务在浏览器中完成相关的操作,而不需要下载app。这看上去和我们平时使用搜索引擎的行为颇为类似,提供““按需交互”


   Physical Web项目的GitHub网页(https://github.com/google/physical-web)称,“Physical Web旨在把Web的核心力量――URL,扩展到日常几乎所有的实际物体。我们的核心前提是,用户可以靠近任何‘智能’实际物体,例如自动售卖机、海报、玩具、公交车站、出租汽车,无需首先下载应用即可与它们交互。智能对象的用户体验应当与Web浏览器中的链接非常相似”


   Google展望的这套物联网体系其实苹果已经先行一步。其iBeacon技术通过将智能资源分配给客户端(智能设备)、beacon 端和云端也可以实现 O2O的闭环。只不过苹果的解决方案是在一个封闭体系内的开放,而Google想做的则是为物联网打造一套公共开放的标准(就行HTML一样),在不需要任何中心化软件的情况下实现所有智能设备的交互,所以这项努力还是非常具有吸引力的。

     

   相比谷歌雄心壮志,意图主导以自己为主的物联网的Web标准,另外一些公司的Web方案则更实用,它们大多基于Node.js、JavaScript和Html5的开源Web IOT项目

   为何使用JavaScript,因为JavaScript在web开发者中已有广泛的使用率,移植性高,便于标准化,另外Html5使用JavaScript,支持SSL,载荷 < Http的1%,便于开发针对IOT的UI。JavaScript还非常适合嵌入式设备,支持异步IO通信,便于事件驱动的编程(event-driven),另外JavaScript V8也显示了很高的性能,接近C/C++。Node.js有大量可以利用的包,很多IOT开源社区都使用Node.js,比如JohnnyFive,但不做UI开发。

   下面我们看看几个名气不小的项目

  • Intel的 XDK IoT Edition, 支持Galileo 和Edison两类板,node.js支持的硬件接口库有Intel提供的MRAA,UPM,IoT-io和第三方的JohnnyFive,I2C

                


                 

    其中IOT Device端Node.js用shoe包实现websocket,用dnode包做RPC。进一步Node.js还可以用Mosca支持MQTT,这种扩展的应用场景见下图Figure 3

                               

                                                                                                  Figure 3

 

  • WeIO  软件+硬件解决平台方案,跟Arduino平台一样简单,但已经集成了WiFI模块,无需Shield,且支持多任务,支持Python和Html5。宣称可以通过任意一种浏览器编程和控制Board板的输入输出。device端集成了Apple的Bonjour zeroconf检测机制 

                                       
                    

  • noduino  https://github.com/semu/noduino
    一个简单、灵活的基于JavaScript和Node.js的框架,能实现通过HTML5、Socket.IO 和 Node.js 等Web应用实现对Arduino板的控制

 

  • heimcontrol.js   http://ni-c.github.io/heimcontrol.js/
    基于Raspberry PI 和Arduino 运用Node.js, MongoDB, HTML5 和 Websockets.实现智能家庭控制

 

  • Cylon.js  http://cylonjs.com/   智能机器人和IOT的JavaScript开发框架,号称支持不下35种平台,使得开发人员可以使用同样的API来操纵不同的设备,包括Leap Motion,Pebble手表,Arduinos和Raspberry Pi等等。

   通过浏览器Web来访问控制设备无疑会大大便利物联网垂直市场的扩展性,解决不同设备之间的互操作难题。15年希望我们能看到更多基于Web的IOT解决方案,同时期待谷歌Physical Web能早日公布。

 

 

个人介绍:

周明春 SamsungElectronics VD IoTPlatform高级工程师,在物联网,云计算,移动通讯,网络安全和消息传递基础构架领域拥有超过9年的专业知识和经验.拥有丰富的企业消息传递基础构架开发,物联网、云、设备联接解决方案开发,以及成熟的管理软件和解决方案,如敏捷和DevOpts的开发经验。在国内首次提出SDT(softwaredefinedThings)的IOT概念,拥有2项专利.

是三星、英特尔、戴尔所成立智能家居设备标准联盟开放互联联盟(OIC)的代码贡献者(https://gerrit.iotivity.org/gerrit/p/iotivity.git)

https://www.iotivity.org/documentation/iotivity-services/protocol-plug-manager

经常参与云计算,物联网等开源社区(Openstack,Vmware,ECUG失效云计算用户组)交流讨论,关注开源社区技术动态

 


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值