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

  本文从场景和技术的角度去理解物联网技术和方案的演进,个人观点,可能与主流定义稍有偏差。

  一、物联网与物联设备

  本人对物联网的理解是物联设备组成的网络,因此物联网需要两个要素,一是设备能够互联,另一个是能够组网。物联网往往又跟智能硬件概念相结合,当今物联网产品形态往往又带有无线连接的特点(有线最主要的弊端就是布线麻烦)。因此能够支持互联、组网、无线三个特点的物联设备技术就是常见的蓝牙和wifi了。蓝牙是近距离通信,穿墙能力差;而wifi距离远,可穿墙,但是功耗比较高。ZigBee其实通信距离比蓝牙远,功耗也比wifi低,看起来是比较理想的物联技术,但是ZigBee的组网能力比较差,带宽低,传输慢。ZigBee更多用在工业控制领域。

  手机是现代社会每个人不可或缺的产品,蓝牙和wifi是手机的必备模块,所以手机是最大的物联智能设备。另外,由于人是物联网的直接使用者,因此几乎所有的物联解决方案都是围绕手机用户展开。

  二、物联场景演进

  1.手机直接控制物联设备架构

  下图是wifi物联架构示意图:

  

 

  手机连接并控制物联设备是物联技术的基础,第一种方式是手机和硬件控制设备都以client的方式连接路由器,这样手机和硬件控制设备都能获得一个动态的IP,这样手机可以通过socket通信方式来控制硬件控制设备。第二种方式是硬件控制设备带有wifi AP热点功能,手机以wifi client连接上AP,AP的IP是固定的,因此手机也能够对硬件控制设备进行控制。

  这种物联方式一般只是演示的模型,实际应用很少。因为它的缺点显而易见,我们都知道socket通信需要知道通信对方的IP,因此手机上的APP控制硬件设备时需要填入设备的IP。第一种方式的IP是动态的,需要通过路由器的web控制页面(一般电脑连接后浏览器输入192.168.1.1)获得,这在商用应用中不可能存在。第二种方式也需要手机APP输入固定的IP,控制不同的设备就得输入不同的IP,用户体验不好。而且这种物联跟遥控没有本质的区别,不利于获取用户的信息。而获取用户的信息并提供优质服务才是物联网的核心要素。

  2.基于独立后台服务的物联架构

  下图是wifi物联架构示意图:

  

 

  这种物联架构中的独立服务器是以域名的方式存在,这样可以直接解决动态IP不固定的问题。另外,这种物联架构中手机和硬件控制都需要以用户名注册和登陆的方式来访问独立服务器,并由服务器通过心跳技术来确认手机和硬件控制设备的在线状态。手机和硬件控制在服务器看来都是普通的物联设备,它们在服务器看来都具有唯一的用户ID,物联设备登陆服务器时服务器会获取到用户ID所在设备的IP地址。而手机APP控制硬件设备是以用户ID为依据进行控制,其先将用户ID送往服务器即可获取到对应的IP地址。后续控制可以通过服务器,也可以绕过服务器直接进行。

  类似web互联架构在互联网应用广泛存在,如QQ。每台手机都以QQ账号和密码进行登录,登录后,QQ后台服务器会获知每个用户所在手机的IP地址。两个QQ用户通信时会先通过账号来获取对方的IP,并进行下一步通信。这些访问细节都已经封装在QQ客户端程序中,QQ使用者并不需要理会。用户间的通信可能会经过QQ服务器,也可能绕过服务器进行。如文字信息一般会送往QQ服务器进行信息过滤再送到对方,而QQ视频应该是双方直接通过IP进行通信。

  这种架构在物联领域曾经是主流的架构,但是其固有的缺点也约束了它的发展壮大。这种架构中,独立服务器一般是由硬件控制设备的销售厂商开发维护的,另外其还需要向购买硬件设备的用户提供手机APP,以让用户能够进行远端的硬件控制。如小孩监护摄像头,厂商需要开发手机监护APP给用户安装使用。可以想到,用户每购买一种物联设备,都需要安装一个不同的APP。这直接影响了用户体验。用户一般是不情愿安装很多的手机APP的,不仅安全无法保障,手机布满控制APP时,要找到哪款设备对应的APP还要花时间。另外,独立服务器的厂商受限于自己的技术储备和运维能力,难以兼容支持第三方厂商的物联设备。