iOS8 HomeKit 简介

僤鯓⒐⒋嵵緔 提交于 2020-01-15 22:27:16

1.   简介

  HomeKit在那些支持苹果Home Automation Protocol和iOS设备的附属配件之间实现了无缝集成和融合,从而推进家庭自动化的发展和革新。通过一个通用的家庭自动化设备协议,以及一个可以配置这些设备并与之通信的API,HomeKit使得App控制自己的Home成为可能。HomeKit也使得来自多个厂商的家庭自动化配件集成为一体,而无需厂商之间彼此直接协调。

  HomeKit的目标是统一和简化智能家居产品的控制功能,不过苹果不会为此专门推出一个应用程序。相反,开发人员需要开发出自己的第三方应用来控制这些产品,但现在这些应用将可以连接到Siri中进行整合控制,而无需对每个应用都进行控制和设置。

2.   市场分析

2.1 硬件产品

  从苹果官方的IOS8 beta5技术文档分析出,HomeKit目前仅支持Lightbulb、Switch、Thermostat、Dooropener四种类型的硬件产品,从WWDC Homekit ppt可以分析出homekit以后应该会扩展更多的硬件类型及支持自定义硬件类型。

  目前支持homekit的硬件产品不多,一方面来源于homekit刚刚推出;另一方面来源于苹果对硬件厂商的要求严格,每个硬件公司需要获得Apple的MFi认证,硬件设备需要植入特殊的无线芯片和软件包才能支持HomeKit。苹果已经正式宣布对德州仪器、飞利浦、海尔、Netamo、With-ings、霍尼韦尔、Marvel、欧司朗、Broadcom等企业开放HomeKit。海尔是三年内中国唯一的苹果指定的硬件合作伙伴。

 

 

主要硬件产品如下:

公司

硬件产品

August

智能门锁,August Smart Lock

Honeywell

智能恒温器,Honeywell Lyric

Philips

智能灯泡,Philips Hue Lux

其他

互联车库:Chamberlain,天气监测和恒温器:Netatmo

2.2 平台产品 

目前google、三星、微软巨头对于智能家居市场的动作如下:

公司

相关平台及产品

优势

三星

2014年,收购SmartThings、2014年CES展会上三星提出Smart Home智能家居平台,正考虑开放给第三方。

三星的产品矩阵优势。

Google

2014,Goolge I/O大会提出Adrdoid@Home的概念,用Android手机去控制电器设备,目前Android@Home还未发布;2014年,Goolge收购Nest(Nest Labs是一家家庭自动化公司,主要设计和制造驱动传感器,嵌入式wifi,Nest恒温器和智能烟雾探测器)。

Android的平台优势。

微软

HomeOS(未发布 ,参考http://zh.wikipedia.org/wiki/HomeOS

暂无,可能唯一的优势来源于桌面OS的市场份额。

国内

海尔U-Home;腾讯:微信硬件平台;及其他智能路由器、盒子相关产品;

微信的硬件平台,智能路由器作为上网的入口,盒子作为智能电视的入口。

2.3 APP相关产品

  暂无,homekit之前的ios平台智能硬件的控制App都是自成一体,传说中的iWatch可能会整合homekit及healthkit相关技术;

3.   技术分析

3.1 数据层级

homekit包含5个层级关系,HomesRoomsAccessoriesServicesZones。如下表:

层级

简介

Homes (HMHome)

Homes(HMHome)是最顶层的容器,展示了用户一般都会认为是单个家庭单位的结构。用户可能有多个离得较远的住所,比如一个经常使用的住所和一个度假别墅,或者他们可能有两个离得比较近的住所,比如一个主要住宅和一个别墅。

Rooms (HMRoom)

Rooms (HMRoom)是Home的可选部分,并且代表home中单独的room。room并没有任何物理特性--大小、位置等等。对用户来说,它们是简单的有意义的命名,比如“起居室”或者“厨房”,有意义的room名称可以启用类似“Siri,打开起厨房的灯”的指令。

Zones (HMZone)

Zones (HMZone)是home中可选择的room分组,如“Upstairs”和“downstairs”可以由zones代表。Zones是完全可选择的,room可以不处于zone中。通过把room添加到zone中,用户可以给Siri发命令,比如“Siri,打开楼下所有的灯。

Accessories (HMAccessory)

附属设备被安装在home中,并且被分配给每个room。它们是实际的物理家庭自动化设备,比如一个车库门遥控开关。如果用户没有配置任何room,那么Home Kit将会把附属设备分配给home中特殊的默认room。

Services (HMService)

Services (HMService)是由附属配件提供的实际服务。附属配件有用户可控制的服务,比如灯光;也有它们自用的服务,比如框架更新服务。Home Kit更多关注用户可以控制的服务。单个附属配件可能有多个用户可控制的服务,比如大部分车库遥控开关有打开或者关闭车库门的服务,并且在车库门上还有控制灯光的服务。

3.2 类

HMAccessory:一个HMAccessory对象代表一个家庭自动化配件,比如车库门遥控开关或者一个恒温器。

HMAccessoryBrowser:一个HMAccessoryBrowser对象是一个用来发现新附属配件的网络浏览器。

HMAction:HMAction是Home Kit中行为操作的抽象基类。

HMCharacteristicWriteAction:HMCharacteristicMetadata对象用来代表操作集中的一个操作。)

HMActionSet:HMActionSet对象代表应用于单个设置的一组操作(HMAction的实例)

HMCharacteristic:HMCharacteristic对象代表某个服务的特性,比如,灯是打开还是关闭,或者温度调节器设定了什么温度。

HMCharacteristicMetadata:HMCharacteristicMetadata对象代表某个特性的元数据。

HMHome:HMHome对象允许你在home中与不同附属设备进行通信并安装配件。

HMHomeManager:HMHomeManager对象管理一个或者多个home集合。

HMRoom:一个HMRoom对象被用来代表home中的一个room。

HMService:HMService对象代表附属配件提供的服务。

HMServiceGroup:HMServiceGroup对象代表配件提供的服务的集合,简化了把服务当作单一实体处理的过程。

HMTrigger:HMTrigger对象代表触发事件,在满足触发条件时,它用来触发一个或者多个操作集(HMActionSet的实例)。

HMTimerTrigger:HMTimerTrigger对象代表基于计时器的触发器。)

HMZone:HMZone对象代表一个room的集合--用户认为是单个区域或者zone,比如“起居室”和“厨房”可能会被分在一个叫做“Downstairs”的zone中。

3.3 协议

HMAccessoryBrowserDelegate:该协议定义了HMAccessoryBrowser对象的接口,以通知委托发现了新的附属配件。

HMAccessoryDelegate:该协议定义了从附属配件到委托状态更新的通信方法。

HMHomeDelegate:该协议定义了home中配置改变和在home中执行操作集的状态的通信方法。

HMHomeManagerDelegate:该协议定义了home manager对象如何把改变传达给它们的委托。

Other Reference

Home Kit Constants Reference:目前只定义了Home Kit error domain相关的常量。

(参考文档:https://developer.apple.com/homekit/

4.   其他

1. HomeKit Accessory Simulator

  XCode 6新增HomeKit Accessory Simulator用来模拟家庭自动化配件,如智能灯泡、温控计等,以便App进行开发和调试

2.  底层协议

  目前HomeKit主要采用蓝牙和WiFi,HomeKit硬件设备相关的协议应该只对硬件厂商开放,目前在开发者中心没有看到相关技术文档。

Wireless:Bluetooth、Wi-Fi;

Wired:Lightning connector、USB、Thunderbolt 2、Headphone remote and mic;

 

3. 智能家居or家庭自动化

  在苹果的文档中并没有用智能家居(smart home)这个名词,而是用了家庭自动化(Home Automation),智能家居的发展初期体现为家庭自动化,智能家居的概念比家庭自动化更广,两个不同的学术名词。家庭自动化是智能家居的一个重要系统,在智能家居刚出现时,家庭自动化甚至就等同于智能家居。

4.  其他问题

  如何整合siri ?如何兼容Android等其他手机 ?作为非硬件厂商的互联网公司homekit的一些机遇?idea?

5. Demo

  Coding ,Apple develop center目前没有homekit相关的sample,github的一个简单的sample(https://github.com/animeshp/SampleHomeKit)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!