物联网架构演进和微信智能设备平台开发

  3.基于统一后台服务的物联架构

  由第2点,我们自然可以想到,如果有一家实力超雄的厂商能够提供统一的后台服务,并被广大手机用户使用者认可愿意使用,而物联设备厂商按照统一后台服务拟定的协议进行设备生产并接入到统一的后台服务,那大一统的物联网大平台将成为可能。

  微信公众号和微信硬件平台得益于腾讯QQ的超大用户量,很自然就承载了这种平台的实现。完全可以预见,微信将是未来物联网的重要支撑平台之一,而小米在手机、智能家居和相关行业的布局也是物联网重要支撑平台的竞争者。微信拟定统一开发的协议,让社会上不同的第三方硬件设备公司接入并获得唯一的用户ID,而小米不仅是统一后台的开发维护者,也是小米不同硬件设备的生产者,两者走的路并不一致。但两者的共同点是后台服务是统一的,两者的隶属公司都是超大体量型企业。

  在移动互联网领域,用户基础是非常核心的要素,涉及平台相关的服务,没有超大型体量的企业很难快速构建,顶多只能在垂直领域有所作为。事实上,在微信智能硬件平台出现之前,也有一些企业构建了统一的后台服务,让第三方设备厂商接入。但受限于用户的支持,这些平台都未能为人熟知(也许是我涉猎这方面知识较少,之前有了解过一个平台,后来忘记了)。

  这种架构的示意图如下,以微信和蓝牙设备控制为例:

  

 

  微信公众平台的最核心作用就是给各种不同的外设提供接入并分配唯一的设备ID。微信智能硬件平台的设备ID分配策略包括外设厂商编码和设备编码两个部分。设备编码在统一厂商里面是唯一的。

  手机需要关注外设厂商运维的微信公众号,才能通过该公众号的页面发出设备控制指令消息。控制消息会通过微信公众号服务器发往外设厂商独立运维的后台服务器,并由后台服务器作出处理后向外设发出控制消息,该消息会通过微信公众号服务器到手机的微信客户端,而微信控制端调用蓝牙JSAPI来控制蓝牙外设。手机微信要控制外设需要先开启蓝牙并连接上蓝牙外设。连接协议由微信硬件平台制定,称为airsys协议。

  微信公众平台是开放平台,支持第三方服务接入,同时提供微信支付、客户接口、用户管理等九大接口供第三方服务调用。微信公众号支持开发者模式,开启后即可以接入第三方的服务。所谓微信开发即是在调用微信提供的接口的基础上完成业务逻辑开发,支持的语言是php,asp等等。如何构建第三方服务器和如何进行微信接口开发另文再述。蓝牙和wifi由于功耗的差异,其互联微信的架构也有差异,在日后的技术实现分享中会详细进行比较。

  三、native APP & light APP

 

  在第2种架构,手机要控制外设需要安装外设厂商开发的APP,是原生APP(native APP);而在第3种架构,手机控制外设只需要关注外设厂商运维的微信公众号,微信是手机的原生APP,而每个外设厂商通过微信公众号提供的服务称为轻应用(light APP)。微信是智能手机的首选APP,用户量超大,因此基于微信统一后台服务的物联平台是未来物联网的重要支撑。