目前全世界都在积极投入AI领域,我国的互联网公司也是积极在AI方面进行投入布局,比如BAT以及今日头条等互联网公司都有自己的AI实验室。这里面和AI相关的目前可见的比如说智能家居,比如小米就出一款智能音响,苹果公司在这方面也不甘落后,推出框架HomeKit,接下来几篇我们就一起看一下这个框架。了解一个HomeKit主要用的类已经意义,就算以后HomeKit以后API更新了,最起码知道流程和注意事项,也可以帮助你快速看懂别个代码
- 有大量可与iOS交互额配件在最近几年被生产出来,大部分配件会在住宅环境中工作。例如,家庭影院的投影仪或者调整游泳池的水温配件,他们都可以通过苹果的新技术进行控制。很明显,这就是HomeKit技。这是一个框架,允许我们在住宅环境中,与这些配件建立联系。
- 现在,我们看看一般的住宅结构。房子包含4层,一个地下室和一个花园,一层和二层。房子在二层中有7个卧室。地下室有我们感兴趣的东西:首先是家庭影院室,包含一部出色的投影仪和几部舒适的影院座椅。做仪式斜背靠椅,可以根据观影者的需要调整位置。投影仪在前方几米远的地方,有一个屏幕,可以从天花板上降下来,在玩游戏和看电视或视频时,显示出美妙的画面。打开家庭影院室的房门,进入游泳池。这里有一种设备,可以用一种硬质材料将游泳池覆盖或开启。这样我们可以在不需要的使用将游泳池覆盖,已确保小孩子不会在夜晚或者无成年人的监护的时候落入水中。还有一个按摩缸,包含了一些开关,可以用不同的颜色灯光照亮浴室,并且还可以控制水温。这个房子地下室所有社保错做起来都非常复杂,需要有技术性的突破。这就是HomeKit到来的背景。它允许我们构造应用,与支持HomeKit的家用电器进行协调工作,从而更容易控制他们。
- 这个房子的一切,都可以用一部iOS设备进行控制。而且这个控制不局限于房间之内,所有的电器都能远程控制。假设某人出门度假,却忘了关闭家庭影院的投影仪。那么它可以打开手机上的应用,将投影仪关闭。或者,有出售投影仪的厂商在AppStore提供一个应用,下载并使用它遥控家庭影院室的投影仪。
- 我们需要学习HomeKit的10多个类。HomeKit中主要的类是HMHomeManager。这是访问所有家用电器的入口。每个房子都用HMHome类表示,并将其划分为不同的房间,每个房间(HMRoom类型)都包含电器,或者使用Homekit使用的术语--“配件”,用HMAccessory类表示。
- 每个配件都包含服务,可以向用户提供。以按摩缸为例,他的服务可以是产生气泡或者灯光变色。服务用HMService类表示。每个区域还包含特征信息。一家庭影院投影仪为例,他的一个服务是“在白色墙壁上透射电影”。但是,这个服务此刻是开启还是关闭状态?这就是服务的一个特征。这个服务的另一个特征可能是“需要维修”,知名投影应需要进行维修,因为“在白色墙壁上投设电影”这个服务不能正常工作。
- 还可以为房间定义区域。例如,我们可以顶一个月区域交“1层”,于是我们可以对这一区域的许多配件进行控制,例如,关闭某个区域的灯。区域用HMZone类表示。还可以在HomeKit中定义服务组,用HMServiceGroup类表示。服务组对于从不同类型的配件中得到对服务的逻辑分类很有帮助。例如,如果有用于房子内部不同电器的“关闭”服务,如点灯、计算机、投影仪、烤炉等,可能想将这些配件的关闭服务组合在一起,作为“关闭所有电器”的服务组。在离开房子的时候,可以只运行这个服务组,将所有电器关闭--除了电冰箱和电冰柜。HomeKit与sir集成的非常完美。所以,一切使用HomeKit定义的东西都必须有一个唯一的名称,这样当对siri说:“关闭投影仪”,他知道“投影仪”是房子内的那个事务,并且可以调用它的“关闭”服务。因而,不能再同一个房子上下文中对两个配件定义相同的名称。
使用HomeKit需要在应用集成的时候需要一些配置,设置配置文件支持HomeKit
来源:https://www.cnblogs.com/hualuoshuijia/p/11961846.html