HomeKit 软件硬件接入调查

1.HomeKit特点及相关概念

苹果公司推出的智能家居解决方案,以苹果设备为控制中心,在iOS设备上的HomeKit Database,通过实现HomeKit Accessory Protocol(HAP),控制智能配件
特点:

  1. 脱离某个单独的App,从设备底层开始架构,在iOS设备上的体验更有保证
  2. 使用“Home”,中文叫“家庭”,这个App可代替App控制部分功能
  3. 接入了Apple ID帐号,隐私保护上比自己做好,可以邀请其他Apple ID来控制配件
  4. App端定义了多个场景及逻辑,Home家、Room房间、Scene场景、*Zone区域、Accessory配件、Service服务
    Home Layout

*Zone区域,是一个 里任意可选 房间 组成的分组,例如楼上楼下包含的若干房间等

  1. 定义了桥接口,可以兼容不支持HAP的RF配件,例如,摄像头实现HAP后,把摄像头做为桥接口,把PIR、遥控器、智能门锁、智能插头等摄像机配件做为Service和Characteristic添加到HomeKit Database中
  2. 配件的功能被定义成两种: 服务(Service) 和 特性(Characteristic) ,一个配件可以有多个 服务,一个 服务 可以包含多个 特性(Charateristic),以官方文档中的例子,如一个车库开门器可能包含车库开门服务,也可能有照明服务,其中车库开门服务包含开关特性、开关检测特性,照明服务包含开关特性、亮度特性、甚至色温、饱和度等特性,其中苹果定义了一些类别(Catalog)的服务特性,可以通过Siri快速执行,如“打开客厅灯”等
  3. 价格昂贵,因为限制了iOS设备,加上MFi认证等原因
    已有类似的产品:D-Link Omna 180 Cam HD 摄像头

概念:

  1. HomeKit Database,每个Home都有一个HomeKit数据库,让使用者可以轻松的访问到配件,忽略设备间的切换,不同设备的同一用户使用网络进行数据库同步,HomeKit Database的同步由设备保证,被邀请的客人也可以被赋予受限制的访问权限,App需要自己设置HomeKit的观察者以保证数据更新变化

    HomeKit Databse

  2. HomeKit Accessory Simulator(HomeKit配件模拟器),苹果官方出品的模拟器,可以方便的模拟实现了HAP协议的配件,除了可以模拟官方定义的配件类型以外,也可以进行配件的自定义,但是自定义的结构受HAP协议限制

  3. HomeKit Accessory Protocol(HAP),苹果官方定义的配件协议,实现该协议可以与苹果公司旗下的iOS,tvOS,watchOS设备进行通信,详细的定义了配件需要实现的协议内容

    配件协议定义举例-伪代码

2.怎么玩

  • App端
    iOS设备,App需要集成HomeKit,或者使用iOS系统自带的“Home(家庭)”来控制智能配件,以最新的HomeKit为准,HomeKit支持多种场景:Home家、Room房间、Scene场景、Zone分区等,对应的信息都存储在HomtKit DataBase中,由iOS设备保存,使用App限制在同一个网络下或者蓝牙直连的配件才可控制,如果在信号范围外,则需要使用支持HAP的设备进行中继,也可以使用HAP通过iCloud进行中继,中继的场景在外出时依然有效,但要确保有可以中继的设备,目前官方明确说明的,支持中继的设备有:Apple TV 3代、Apple TV 4代、iPad(无法通过Apple TV3代访问摄像头配件),以上三者都需要登录iCloud,配件制造商可以在接入HomeKit后可以在自家App实现更高级的功能,如通过自定义的Service和Characteristic实现苹果未定义的功能

  • Accessory端
    配件想要接入HomtKit,需要实现HomeKit Accessory Protocol,总共有三种方式链接:
    1 . Bluetooth LE配件
    2 . IP配件
    3 . RF射频配件,RF射频配件只能通过桥接的方式被识别,作为桥接的设备必须是IP配件,因为RF配件不能被iOS设备直接识别,所以只能通过这种方式来玩。
    如果使用了桥接方式,则不需要对配件进行MFi认证,添加的方式由制造商来决定,但是支持的功能可能会受限制,但是作为桥接的设备还是需要认证;而进行了MFi认证的配件,可以有两种添加方式,通过“Home”App,可以选择扫描Setup Code或者靠近配件感应(NFC)添加

3.实现评估

  1. Accessory端,根据以上介绍,配件实现的三种方式如上,结构图如下,RF射频配件需要桥接,而且作为桥接的设备必须是IP配件
    HomeKit Accessory Protocol Layers

必须实现HomtKit Accessory Protocols(HAP),支持两种传输方式:Bluetooth LE和IP,具体实现可以下载HomeKit Accessory Protocols(HAP)参考——(必须用户开发者帐号才可下载)查看,该文件是非商业版,注册MFi认证后可以获取更多资料,也可以跟苹果公司联系以获取工程师的帮助。

  1. App端
    使用HomeKit Framework,实现了底层配件管理,数据传输交互等,开发者可以轻松实现,使开发者能专注界面更新和业务逻辑,用户可以参考HomeKit开发者手册

总结

HomeKit降低了智能家居的门槛,使开发者可以脱离繁杂的底层传输管理逻辑,专注顶层的场景、配件及功能的实现,但是因为安全性上的要求,降低了开发者可自定义的范围,好在配合上iOS系统的完美支持,还是很诱人的。

链接

  1. HomeKit Developer Guide(HomeKit开发者手册)
  2. 开发者中心-HomeKit主题
  3. HomtKit Catalog(HomeKit Demo Version 2.2, 2016-09-13,,更新到Swift 2.3)——目前只有Swift版,且因为Swift版本不兼容,必须使用Xcode8才能使用,我使用的是Xcode 9,时间有限所以并没有成功运行该程序
  4. WWDC2014: Introducing HomeKit--视频下面的Related Video中可以查看其他HomeKit的视频
  5. iOS Security-包含HomeKit安全相关

你可能感兴趣的:(HomeKit 软件硬件接入调查)