HomeKit 基本理解

概括

HomeKit 将用户的家庭自动化信息存储在数据库中,该数据库由苹果的内置iOS家庭应用程序、支持HomeKit的应用程序和其他开发人员的应用程序共享。所有这些应用程序都使用HomeKit框架作为对等程序访问数据库.

Home 只是相当于 HomeKit 的表现层,其他应用在实现 HomeKit 也能可以具备相应的能力。实际的数据存在 HomeKit 的数据库中。

automation-1@2x

我们的操作都会转化到数据库中,所以苹果需要家庭中枢控制,是不是将数据放在家庭中枢中。

结构图,下图可以看出家庭、放假、设备的层次关系。

截屏2022-02-15 下午3.22.21

控制路线,一层一层往下控制。

HMHomeManager
HMHome
HMRoom
HMAccessory 设备
HMService 服务功能 比如开关
HMCharacteristic 特征值 比如开关灯

HMHomeManager

HomeKit的总管理,主要负责权限、家庭数组、主home、home 的操作(增删改)和相关的代理

HMHomeManager
primaryHome:主家庭
autorizationStatus:授权状态
homes:家庭组
updatePrimaryHome:更新主 Home
addHomeWithName:添加 home
removeHome:移除 home
delegate:操作 home 的回调

HMHomeManagerDelegate

该代理主要响应 home 的增删改回调,以及权限更改。

HMHome

home 表示一个家庭,包含家庭各种信息,标识,房间,和对房间的操作。

1129722-20170814091627506-1683325220

HMRome

Home 中的最小颗粒,表示一个房间或者地方。包含基本信息、硬件设备。

HMRome
name:房间名字
uniqueIdentifier: 房间UUID
updateName:更新房间名字
accessories:设备

HMAccessory

accessory表示智能设备,比如灯泡、开关等。

1129722-20170821153631871-487150278

HMService

表示服务,或者一种能力。比如照明和开关的服务,如果你对服务的理解感到模糊,可以参考苹果内置的一些服务HMServiceType

1129722-20170821154352152-1036468327

HMCharacteristic

表示服务的特征值,比如可调灯的亮度或者色温。

1129722-20170821155003730-783067098

Accessory 端

智能设备在 iOS 的 HomeKit 中被称为 Accessory,如果硬件需要支持 HomeKit 则需要实现苹果的 HomeKit Accessory Protocol,总共包含三个三种接入方式

  1. Bluetooth LE 配件
  2. ip配件
  3. RF射频配件,这种方式只能通过具备ip通信的桥接设备接入。

参考

官方资料

开发者HomeKit 开发介绍
HomeKit 文档
HomeKit 示例工程

卷帘门和灯的添加和使用

WWDC2015: Introduce HomeKit

更深层次的理解 HomeKit

iOS HomeKit 详解

详细介绍 HomeKit 相关类和操作,怎么模拟配件和开发。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值