苹果2014年推出智能家居平台HomeKit后,在明面上一直没有出现大动作,直到iOS 10发布,系统里多了一款名为家庭的App。有了家庭App,用户可以通过喜爱的iOS设备,安心掌控各种HomeKit配件。比如用iPhone关灯,从iPad上看看门口是谁。家庭App能让用户所有连接的设备,更加高效、智能地工作。
HomeKit是用于和用户家中连接的配件进行通信和控制的一个框架。可以使用户能在其家中发现HomeKit配件并对其进行配置,亦或可以创建控制这些配件的一系列操作。用户可将操作进行分组,并通过使用Siri触发事件。
概览
通过遵循公共协议及提供公共API来配置和通信配件,HomeKit允许iOS设备和智能家居配件之间进行无缝集成。HomeKit使单个应用程序可以协调和控制来自多个供应商提供的一系列配件。不需要供应商间直接协调,就可以将多个配件集合成一个整体。
使用家庭配件
HomeKit允许第三方App来执行以下三大功能:
- 发现配件并将其添加到持久存储,跨设备的家庭配置数据库中。
- 基于家庭配置数据库中的数据进行显示,编辑和操作。
- 通过与设置好的配件,服务之间通信来下达指令,如打开客厅的灯。
家庭配置数据库不仅可用于第三方App,同时也适用于Siri。用户可以通过“Siri,打开客厅的灯”来下达指令。如果用户将符合场景逻辑的配件、服务和命令创建在家庭配置数据库中,Siri可以轻而易举地完成复杂的操作控制。
在基于iOS 10.0或更高版本的应用程序中,必须在Info.plist文件中添加其需要访问的数据类型的使用说明键,否则程序会崩溃。要专门访问HomeKit数据,必须添加NSHomeKitUsageDescription。
家庭配置
HomeKit把家庭作为家庭自动化配件的一个集合。家庭配置目的是允许终端用户为购买和安装的家庭自动化配件提供有意义的标签和分组。App不会对用户强加自己的偏好设置,只对用户创建有意义的标签和分组提供建议,毕竟用户自身的意愿是最重要的。
基本的数据包含层次结构如下所示:
开发者计划
HomeKit开发主要分为App开发,配件开发。
App开发主要学习、调用HomeKit相关API,使程序能无缝衔接家庭自动化配件。开发和上架App,只需申请加入苹果开发者计划即可,这边不做过多阐述。
配件开发主要针对家庭自动化配件的硬件设计和实现。为了获得关于集成HomeKit技术的制造硬件资源,需要MFi认证。MFi认证者将获得以下服务:
- HomeKit技术规格说明
- MFi标识和身份指南
- 硬件技术支持
要加入MFi计划,需要创建或注册商业Apple ID,提交注册表单,完成信用审查并执行MFi许可证。其中MFi许可证分为开发许可证和制造许可证。两者的差异如下:
加入MFi计划具体步骤为:
- 注册法人名称;
- 公司/组织的主要营业地点或公司总部地址(不接受邮政信箱);
- 公司/组织域名,电子邮件地址和网站;
- 完成苹果指定的第三方机构对公司进行身份验证,当时提交了70美金;
- 有效的信用卡购买身份认证;
- (MFi制造许可证)制造设施的所有权。
技术预研
在上家公司开发新产品前,我对HomeKit技术进行了预研并得到相关可行性验证。
当时预研的蓝牙芯片主要有TI的cc2541以及Nordic的nRF51422。从规格以及技术支持来看,上述两块芯片都满足要求。但在面向入门级开发以及开发文档的完整性和可读性来看,Nordic公司做得更让人容易上手。