蘋果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公司做得更讓人容易上手。