Homekit 開發和設備模擬器

之前在 Youtube 上有看過不少智慧家居的應用,不過多數看到的還是 Youtuber 本身就是玩家。

像我們工作室也會通過 Amazon Echo 來控制門的開關、音樂的播放,但實際上能夠在台灣使用的應用還是不多。

而這次因為一個項目需要使用到 HomeKit 所以在週末花了一些時間來研究。

說真的,如果家裡有大量的設備可以通過 HomeKit 來控制,會變得蠻有意思的。

HomeKit 可以設定 Trigger 來控制設備的行為,比如到了晚上打開書房,天氣熱了就打開冷氣。

針對這些 Trigger 又可以設定 Scene 比如辦桌遊活動、Party、讀書會、看電影,可以在不同的狀況來調整氣溫、窗戶開關、燈光明亮等等。

在小時候就有聽過 Bill Gates 的家就是一個全自動化的居家環境(不知道是不是真的)

不過現在可以知道,一般人都有機會能體驗到智慧家居帶來的好處了。


Homekit

要開始使用 HomeKit 需要先做兩個設定。

1、在 Info.plist 中加入隱私請求 「Privacy – HomeKit Usage Description」 YES

2、在 Capabilities 中打開 HomeKit


HMHomeManager

通過 HMHomeManager 對象來訪問 Home / Room / Accessory / Services 以及其他 HomeKit 對象。

 

  • 通過 HouseManager 有一個 homes 存著所有的 home
  • 通過 Home 可以拿到 rooms
  • 通過 room 可以拿到 accessory
  • 通過 accessory 可以拿到 service

也可以通過 HouseManager 來建立 Home / Room 等等,比如:


HomeKit 代理方法

每個 Home 都有個 HomeKit 數據庫,我們可以通過代理方法來觀察 Homes 集合的變化

HMHomeManagerDelegate

其中一個例子:

HMHomeDelegate

也有針對特定 Home 的代理方法


Homekit Accessory Simulator (Homekit 設備模擬器)

在蘋果的官方網站上可以購買到 Homekit 配件(比如智慧插座,價格 1~2000 NTD)

而小米也有販售類似的商品,在他的官方網站上可以看到「智慧家庭」,夜燈 200多塊錢。

但其實想要開發 Homekit 應用不一定需要去買回大量硬件才能開始,官方有提供模擬器。

在 Xcode 介面中選擇 Xcode -> Open Developer Tool -> More Developer Tools

這時候會直接跳轉到下載介面 (https://developer.apple.com/download/more/)

通過搜尋「Hardware IO Tools for Xcode」可以下載到一個工具包。

「Hardware IO Tools」工具包中,可以看到 Homekit Accessory Simulator 安裝後就可以使用了。


Homekit Accessory Simulator

在模擬器中,通過左下角的按鈕來假如一個 accessory

Setup Code 在之後在為 Homekit 應用新增設備的時候可能會用到(比如因為搜尋不到而需要手動加入)

可以為新加入的 Lamp 增加服務( Add Service )

在 Service 選項中有多個預設的服務類型,這裏先選了 Lightbulb

預設的 Lightbulb 可以對燈泡進行開關,改變顏色、飽和度的控制。

如果我們將開發好的應用 Build 到手機上,並且做好連動。

在手機上的操作就會直接反饋到這個模擬器上。


Reference

一天玩下來可能還有些功能沒有碰到,有興趣的人可以繼續閱讀下面的資料。

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料