对技术架构的了解将有助于从整体上掌握技术。本节介绍的智能家居系统的技术架构基于Michael Porter和James Hopman提出的物联网技术架构,主要可分为以下几个部分:
(1)产品部分。就技术而言,产品包括硬件和软件。硬件包括物理组件,智能组件(如传感器、微处理器、存储设备、控制设备),网络组件(如接口、天线、网络连接模块、网络连接协议);软件包括操作系统、应用程序和用户交互系统。
(2)互联部分。互联部分包括网关、路由器和其他网络设备,并且网络连接协议不仅仅限于产品和产品云之间的通信,还包括产品之间的直接通信。
(3)产品云部分。产品云部分包括产品数据库、应用程序平台和智能应用程序平台。产品数据库用于存储底层数据,需要对实时数据和历史数据进行存储和管理。应用程序平台在产品数据库的基础上实现产品的基本智能功能,以及实现与智能终端应用程序的连接。智能应用程序平台采用大数据分析技术(如智能规则库),以实现高级智能功能,并连接到客户关系管理(Customer Relationship Management,CRM)等业务系统。
(4)身份和安全架构部分。对于用户,身份和安全架构部分包括用户身份验证和设备授权管理。对于系统管理员,身份和安全架构部分包括后台系统权限管理、云服务平台权限管理。例如,在发生故障时,可以为工程师和客服人员授予数据查看的范围和操作的权限等。
(5)外部数据源接口部分。外部数据源接口是指为外部数据(如天气、交通、地理位置等数据)提供的接口,智能家居系统通过这些接口来访问外部数据。在这里简要介绍一下SDK和API。软件开发套件(Software Development Kit,SDK)是供开发者进行程序开发的工具,如Android SDK用于开发Android系统的应用程序。应用程序接口(Application Program Interface,API)是一个函数库。例如,如果需要嵌入地图服务,则可以使用地图提供商的API。SDK通常会包含一些API。
需要注意的是,这里给出的智能家居系统技术架构只是为了理解智能家居系统技术,并没有固定的标准或严格的界限。例如,在产品部分的网络组件中,还存在用于网络连接的组件和通信协议。
下面以众筹项目MESH为例,进一步介绍智能家居技术架构的各个部分。MESH项目取自Make、Experience、Share,这也很好地解释了该项目的初衷:用户通过组合不同的模块来创建智能产品,在生活中体验该智能产品并分享给其他人。由于MESH项目的模块具有灵活组合的特性,因此非常适合用来介绍智能家居系统的技术架构。
(1)产品部分。就产品部分的硬件来说,MESH项目包括加速度模块、LED灯模块、按钮模块,每个模块都有一个相应传感器和一块充电电池。
(2)互联部分。从产品和产品云之间的通信来说,所有的模块都是通过低功耗蓝牙(BLE)技术来连接的。从产品之间的通信来说,模块和模块之间的通信同样采用了BLE技术,通信距离可达10 m。
(3)产品云部分。从产品云方面来看,用户无须编程,在智能终端(如iPad)应用Canvas的可视化界面上,通过简单的拖曳即可完成模块的搭配与连接。其中支持的软件逻辑包括计时器、计数器、逻辑与操作。
(4)身份和安全架构部分。在添加设备时,用户只需要在智能终端(如iPad)的应用中单击“登记”按钮,然后将模块置于智能终端周围,即可完成设备的添加,且每个智能终端最多可以绑定10个设备。
(5)外部数据源接口部分。MESH项目支持的外部数据源包括天气、邮件提醒等功能,例如在下雨天出门前,提示灯会提醒用户带雨伞;还可以通过配置来连接摄像机、运动相机等外部硬件,在一定的条件下可以触发相机去拍照。