友荐云推荐

本文由嵌入式企鹅圈原创团队成员-华南师范大学物联网创新中心黄鑫执笔。

嵌入式企鹅圈已经就微信蓝牙物联架构做过很多次的分析了,这里就不再啰嗦了。这里主要分析物联网远场控制场景,就是wifi物联,当然也包括GPRS、3G、4G等等。

一、微信wifi物联的使命

基于Wifi物联网平台很早就有了,远在微信硬件平台出现之前,所以在wifi物联方面,微信除了抱着一个极大的流量入口,其他方面并不具有什么优势。马化腾说过微信硬件是要连接一切嘛,那微信硬件自然要去适配已经存在的平台和设备。而已有的wifi物联平台为了微信这个流量入口,也要积极支持。所以几乎所有的物联平台都提供了接入微信的JS-SDK。

OK,微信硬件作出努力去接纳已经存在的平台和设备,但其实它对这些平台和设备的管控是非常弱的,后面我们会看到设备相关的通信数据都会绕过微信硬件平台。因此微信硬件平台也提供了直连SDK让设备直接接入。当然,对于开发者而已,就不需要再牵扯到第三方平台厂商了。如果微信硬件平台能够将直连sdk和应用demo做到跟其他成熟的物联网平台那么易用和快速,其中很重要的是各大设备厂商的支持,那直连sdk是很有吸引力的。

但是,有些遗憾,个人觉得微信硬件的部分开发文档写得很一般,很容易让人迷惑。不过,从另外一个方面来说,这也是嵌入式企鹅圈的其中一个价值所在。如果他们把东西写得傻瓜都懂,我也懒得写了,不是么?

二、微信wifi物联架构

总结一下,微信wifi物联一是支持第三方平台和设备接入,二是提供直连sdk让设备直接接入。

1.    由于设备通过SDK直连微信平台,所以微信硬件平台内部业务逻辑管理这些设备,用户必须通过其提供的应用端OpenAPI来进行控制。

2.    大家注意到微信硬件平台提供了一个设备端的OpenAPI吗?老实说,我至今没想清楚这个openAPI用在什么地方。除非第三方云就静静地对接微信硬件平台的请求并做回复。可是,第三方云如果不提供微信的JS-SDK,开发者要自己搞一个应用出来估计有难度。现在第三方云都提供微信的JS-SDK了,既然微信应用是H5开发,那设备通信的请求直接由H5页面通过ajax或者websocket发起就行了,如果还经过微信硬件平台来中转岂不是多此一举。当然,使用微信官方的菜单面板应用,的确会使用设备端的openAPI的。微信自己搞的应用,用你第三方的sdk干嘛呢。

三、第三方wifi物联平台接入微信的架构

这里谈谈机智云和云智易这两个wifi物联平台。机智云的宣传很了得,当然也很烧钱。云智易倒是静静的。作为物联平台,两者都算是比较稳定的平台,开发者和接入厂商都很多。为什么介绍他们?因为他们在广州,俺也在广州,都有合作过,呵呵。

物联网控制无非就几个场景:用户管理、设备管理、用户和设备绑定、用户和设备通信(读、写、订阅和通知)。

这张图已经说得很清楚了。看看,是不是跟微信硬件平台的关系不是很大?不过,这个流量入口也是相当重要滴。