大家好,我是 Gary,是個 iOS / 越獄 Tweak 開發者,和皮樂姐姐常常合作開發(沾個光?)。對於新奇的 3C 很有熱忱,因此常常搞出奇怪的測試實驗~ 在本篇教學中,我們會介紹一款原本不支援 HomeKit 的便宜親民智慧開關 TPLink HS200,並透過 Synology Intel CPU 機種特色 - Docker 虛擬化技術來無痛搭建 HomeBridge,串接一般智慧開關至 iOS 使用,是個便宜方便的好選擇。本文同步發表於個人網站
文章段落
1. HomeKit 是什麼?
2. TPLink HS200 開箱與安裝
3. Synology Docker:創造更多的應用可能性
4. [教學] 在 Synology NAS 中安裝 HomeBridge Docker 容器
▼ 每年 Apple 發表會上,除了推出新硬體裝置,也會在 6 月的 WWDC 開發者大會上發表一些新技術。而在 WWDC 2014,Apple 也跟上物聯網的風潮,順勢推出了 HomeKit 這個新的 FrameWork
HomeKit 是什麼?一直以來,物聯網的產品大多為 ARM 架構核心,Intel 也在 2013 年推出嵌入式開發板 Galileo 和 Edison,一舉進入物聯網領域。物聯網市場上百家爭鳴,導致應用層面的設計蠻雜亂的,缺乏一個決定性的產品並帶領訂定一套統一架構或標準:包括裝置的連線協定、數據傳輸規格等等。 對於這個狀況,Apple 在 WWDC 2014 推出了一個解決方案:HomeKit 協定與開發者套件,簡單來說,HomeKit 就是一套設計好的規範讓使用者可以很簡單的配對智慧裝置並透過 iOS 裝置操作它們。
HomeKit 本身可以與智慧家具做連結,包含遙控門鎖,智慧插座、燈具開關等等家庭應用裝置。與其說在開發者大會上公布給開發者做開發,不如說 Apple 的野心是將其推薦給正在開發智能家具標準的家具廠商等,一舉進入物聯網領域。 搭配上 Apple iOS、macOS 中一連串的相關服務串接了 HomeKit 之後,將使其成為一套最強大最完整的物聯網機制。此外,直至 2017 Q4,Apple 售出的裝置來到了 20.5 億台,而活躍的裝置數量也達到 13 億的高峰,在人手一機的時代,Apple 令這些 iOS 和 Mac 裝置成為遙控居家智慧的核心。 市面上的 HomeKit 裝置▼ 在 Apple 的大力推廣下,市面上也出現了許多 HomeKit 廠商推出了許多產品,如 Elgato、Philips、Opro 的智慧插座、燈泡、感應器等。礙於各國電器相關法規,電磁認證等等規範的不同,加上販售商是否有在該國代理,各國可以購買的 HomeKit 也大為不同。 ▼ 如美國 Apple 官方商店中,智慧入牆式燈座開關分類下有 10 幾種不同品牌,設計也不同的開關。然而台灣同個分類下近期才出現第一款 Philips 推出的智慧入牆式燈座開關,外觀也普普。
雖然官方商店有各式各樣的智慧居家設備:溫濕度計、智慧燈泡、門鎖等。但我們本篇先從居家生活中最常接觸到的智慧入牆式燈座開關來研究;畢竟當你一回到家,第一個動作一定是順手開燈。此外,台灣市場這系列相關產品也最為稀少。(圖 / Elgato 官網)
HomeBridge 橋接HomeKit 的設計是大幅降低使用者的上手難度,並整合出一套完整系統協定供廠商開發。當你購買了 HomeKit 設備後,便可以以簡單的步驟將 HomeKit 配對上你的裝置,只需要掃碼(HomeKit 裝置上均會有一組 8 位數數字),自動配對就可以了。
這配對步驟雖然看似簡單,背後原理可是大有來頭。Apple 在訂定 HomeKit 規範時把居家裝置的資安重要性看的很重,因此 Apple 要求家具廠商在製作這些智慧裝置的連線方式時必須以 3072 位元金鑰加密,搭配上超高安全性的 Curve25519 橢圓曲線密碼學加密演算,大幅提高使用者與居家智慧裝置間的連線的安全性,當然,你也不需要擔心駭客從外操控你家的冷氣了。
那 HomeKit 配對如此簡單,HomeBridge 又是什麼呢?為什麼我們還需要它呢?
一般得到 Apple HomeKit 認證的智慧開關都可以直接透過通訊協定串接上 HomeKit 並透過 iOS 裝置操作(macOS 10.14 也支援了!),然而有些智慧設備其實設計非常棒,但主打的可能是 Amazon Echo 或 Google Home 的市場方向,加上通過 HomeKit 認證需要額外不小的授權費用,因此就沒特地支援。 然而這是很可惜的,如 TPLink 的 HS110 和 HS200 智慧開關,不僅做到很多不錯的服務:有官方 APP、電源管理、API 協定等,在硬體設計上也是透過獨立 Wifi (不需要額外的 Hub)並可以遠端操控,如此強大的智慧開關就不能透過 HomeKit 操作了嗎?這時候便可以透過 HomeBridge 來串接 HomeKit 與這些非支援智能裝置了,達到原生支持的體驗。
HomeBridge 如其名就是個開源串接服務,透過世界各地的開發者或有志趣的人來開發串接其他非支援裝置的設定檔。而 HomeBridge 的核心技術是使用 node.js 達成,一般都是在樹莓派(因為小巧、省電)上搭建 node.js 的環境,並安裝 HomeBridge 套件後,就可以做到跟 iOS 手機整合的物聯網了。
TPLink HS200 開箱與安裝我們剛剛提到了智慧入牆式開關百百種,但要找到一個好用又便宜的智慧開關可不簡單。雖然台灣現今有數家廠商推出智慧入牆式開關。但缺點大多是開關不能獨立,需要購買額外的閘道器來設定,這樣造成定價昂貴(開關+閘道器整組需要新台幣 7~9K 以上...)或者可以配置開關的距離就被限制住了,難道沒有更好的選擇嗎?
▼ 有的!我們要開箱的是現在在 Amazon US 市場正紅,可以搭配 Google Home 或 Amazon Echo 的一款智慧開關 TPLink HS200。這款開關不僅好看又很便宜,我購入的價格剛好 Amazon 在 Prime Day 特價(因應 Amazon 目前想要推廣其 Echo 智慧居家的市場,搭配各種活動,所以蠻常特價的),最低曾有過 20 CAD、大約 460 台幣的超便宜價格!!
▼ 背後標榜著其屌打其他廠商的超強特色:僅透過 Wifi 連接全時上線、不需要額外 Hub、可以遠端操作連線還可以排程呢
▼ 打開包裝盒看到的是簡單的說明書和開關塑膠外蓋
▼ 開關下方還藏了四個螺式接頭,螺式接頭是什麼呢?因為在台灣較不常見到,我們在安裝教學的部分會說明。
▼ HS200 的背後有以白黑綠標示的四條電線,電線採軟性結構較好收納。分別為 Neutral(零線)、Live/Load(火線/燈線)共用及 Ground(地線)。
▼ 卸下外殼可以看到本體上的固定螺絲孔,是相容於台灣入牆式規格的。不過要注意的是,與台灣插座相比,美規插座一個等於三個一排的台灣插座大小,因此在空間上僅只能安裝一組。
智慧開關水電安裝▼ 除了開箱介紹,我們也介紹一點基礎的水電知識來教學如何安裝智慧開關,我們要替換的插座原本是一開雙插的形式,將塑膠外殼卸下,並轉去螺絲就可以拆除了。因為台規插座都較小巧,一個美規開關便會佔用掉這整個台規面板的空間了QQ ▼ 在卸下螺絲、拆開入牆式開關後,建議先準備一隻驗電筆(15~20 元)來測試你牆內電線的種類,如我測試的紅色線呈現 110V 就是火線,黑線的電壓結果大約一半不到為燈線,零線和地線則沒反應(注意這時依然通電,使用驗電筆不會被電到但還是不要直接觸摸)
▼ 按照我們剛剛用驗電筆測試的結果,可以將我們的三插開關後面的配線分類成如此
▼ 在更換成新插座前,我們要先將舊的插座卸下。銅線卸除方法是找個一字的插入開關的這個地方,並卡住讓銅線退出。這種開關的卡榫真的超緊,但務必小心操作避免把銅線弄斷卡在裡面。(當然這時候請記得把總電源關閉避免觸電....) ▼ 退出後看見牆內銅線其實只有四條
▼ 分別如圖示為火線(帶電)、燈線(帶電)、地線、零線。一般智慧開關都需要火線、燈線、零線才能運作,如果是較老舊的房子可能會沒有零線的配線,在採購上需要注意(之後我們也會有個獨家專利台灣廠商製作的單火線 HomeKit 開關開箱!敬請期待)
▼除了採傳統方式以電線膠布包裹連接電線外,其實國外都用這種超好用的螺式接頭。僅需要將兩條電線放入,旋轉接頭便可以銜接的很好了,而 TPLink HS200 包裝內也附了四個!
▼ 我們將電線配置完後,將電線塞回牆內,鎖上螺絲,並通電測試。開關上便會成功顯示 Wifi 搜尋中的綠色符號。
▼ 當然,因為台灣水電施工技術大多沒有良好準則,牆壁內開深度和寬度都蠻隨意的...空間上其實都不太夠,塞入這種美規入牆式開關(後方還帶有不小的連線模組)是不太夠的。因此如果你無法將開關塞入牆壁內,你也可以去五金行買這種 10 ~ 20 元的電工塑膠盒(聯明盒)來安裝會更有空間。
▼ 鎖上螺絲,這時也可以看到左邊有實體 Reset 按鍵,擔心重新設定或配對不好操作的朋友也可以放心,直接按下就可以重新設定了(平常不容易按到)
▼ 蓋上原本的塑膠外蓋便大功告成!TPLink HS 智慧居家系列設計的非常棒,很多設計很細心,按壓式開關很清脆給的回饋很剛好。本身狀態啟用時是不會有任何燈號(會擔心光源的使用者也可以安心使用),開關的回饋除了力道外,燈號上也會顯示,連接反應速度蠻快的。
▼ 你也可以透過連接 Wifi 連上開關,並以官方的 KASA APP 設置。不過我們今天的重點是 HomeKit,就不多做說明,詳細的可以參考官方影片
Synology Docker:創造更多的應用可能性安裝完硬體部分後,我們還有軟體部分要設置。在教學怎麼透過 HomeBridge 去串接一個非 HomeKit 裝置之前,我們先來介紹今天會用到的 Synology Docker 套件 ▼ Synology NAS 最大的特色之一就是在套件中心中琳瑯滿目的套件,從媒體播放、備份服務、部落格架設到專業開發工具都有。
然而如果是需要些較偏門的服務,例如 iPerf3 測速工具;或者原廠提供的套件版本較舊(ex. GitLab、MYSQL),等原廠更新等不及了,難道就沒有其他的安裝方法嗎?Docker 是一套輕量的應用程式虛擬化技術,在 Linux 中頗具盛名,透過 Docker 的技術可以安裝各式各樣開發者所製作的應用程式容器。Docker 與一般的虛擬化系統技術的不同點是:虛擬化系統需要建立 VM 環境,於 VM 上安裝作業系統,再根據你的需求安裝對應的程式。雖然虛擬化系統提供一套跨越系統不合障礙的解決方法,但即使安裝完系統之後,你還是需要花費許多的時間去搭建執行環境。 在軟體安裝上,最麻煩的就是配置環境參數,特別是而且當你同時需要安裝於不同的作業系統的情況:一般的解決方法是同時安裝兩套獨立又肥大的 VM 虛擬系統,並在兩個系統間獨立作業。而 Docker 應用程式虛擬化技術的特色就是將這些步驟簡化,提供一個跨平台、更簡單更無痛的方法。
▼ 透過 Docker,原本在 Synology 套件中心中沒有的軟體,也能於 Docker 中執行。但由於 Docker 資源在 Intel x86 based CPU 上支援度較完整,Synology 的機種是需要 Intel CPU 機種才可支援 (詳情可以至官方相容性網頁查詢)。 而選擇 Synology 桌上旗艦型 Plus 系列主機(如:DS1618+、DS1517+)等機種的最大理由莫過於他們都使用 Intel 的 CPU,採用 Intel CPU 的最大的好處就是可以直接在上面執行 Docker。 ▼ 如果在一般系統中想使用 Docker,你需要先準備好一台 Linux 主機,安裝好 Linux 作業系統後,再安裝 Docker 套件。完成後才能開始部屬並執行相關 Docker 容器應用。這些你都只能透過終端機指令來操作,並且需要具備一定的操作技巧和知識,聽起來還是有點小困難及耗時對吧?
Synology 在 NAS 上推出的 Docker 套件大幅降低了這個上手難度並整合了一個極度好用的 GUI 介面,你只需要開啟套件中心、安裝 Docker 即可。安裝成功後即可在 DSM 中找到擁有 GUI 操作介面的 Docker 可以使用,並能直接透過介面上的倉庫伺服器簡易快速地下載各式各樣的 Docker 容器映象檔;再點擊佈屬就完成你的第一個 Docker 應用了!不得不稱讚 Synology 在這 Docker 套件上的 GUI 的設計並整合 CLI 功能的用心,大幅減少初學者使用的障礙與難度。▼ 舉例來說,你可以輕易的透過 Docker 來佈屬知名的開源測速軟體:iPerf3,這也是內建套件沒有的。
[教學] 在 Synology NAS 中安裝 HomeBridge Docker 容器一般網路上蠻多 HomeBridge 安裝教學,大多需求都為一台 Raspberry 樹莓派(或 macOS)並安裝 node.js 環境及套件,但 Raspberry 價格小貴,工作用的 macOS 裝置又不是隨時開著並放在家裡,沒有更好的需求了嗎? 這時我們剛剛介紹 Synology 中的 Docker 便派上用場了!利用 Synology 的 NAS 來架設自有 HomeBridge Docker 服務的好處是一來 NAS 一定 24 小時隨時開機,二來因為設計的關係功耗低不太耗電,你也不需額外的成本去購買 Raspberry 之類的硬體裝置;當然最重要的,比起複雜的 NodeJS 安裝教學,透過 Docker 安裝更輕鬆簡單。
▼ HomeBridge 這套容器其實在 Github 上也有人幫忙製作好 Docker 容器安裝的 SPK 了(synology 套件安裝檔),所以步驟更為簡單..
▼ 首先,下載 release 頁面中的最新 SPK 檔案,確認系統版本支援後,透過套件中心中手動安裝
▼ 當然在安裝之前,務必確認你先將 Docker 安裝好了,安裝方法一樣很簡單。
▼ 在安裝過程中,會出現一些設定需要你操作,基本上就按照預設設定就可以了,也可以指定安裝存放目錄(如果有備份需求記得開權限給內建帳號)
▼ 我們同時也要安裝 HomeBridge 的 UI 版本方便操作
▼ 完成後,在捷徑列就會出現快捷圖示,可以直接透過這邊開啟控制台網頁
▼ 控制台網頁預設連接埠為8581,也就是你 NAS IP 或網址後面加上連接埠就可以存取了。預設管理帳密為 admin / admin,登入後務必改掉
▼ HomeBridge 服務啟動後再查看 Docker 可以看到 HomeBridge 的容器已經安裝好在內並運行著,透過 Synology 設計的超友善 UI 你可以簡單的更改相關設定。
▼ 如 Log 檔也清楚的顯示在日誌頁面,不需要再透過複雜的終端機操作了!當然,也提供內建終端機可以直接存取 Docker 中的環境。
▼ 登入 HomeBridge 控制中心後,便可以看到很多基礎的相關訊息,但首先我們要做的是安裝 TPLink 相關套件。
▼ 切換到 Plugins 頁面,透過搜尋列搜尋關鍵字型號就會出現相關的套件與作者資訊了。那要怎麼找到我的智慧裝置的相關 HomeBridge 套件呢?
▼ 其實這裡搜尋到的套件都是網路上眾多開發者製作的 NPM 套件,如這次我找到的就是專門做給 TPLink 用的 HomeBridge 套件(連結)。在上面也標示著這個套件可以串接哪些裝置,如 HS100、HS110、HS200 都是很好用的智慧裝置。因此,在購買覺得不錯的智慧裝置前,可以先到 NPM 套件中心先找找有沒有人已經做好相關的 HomeBridge 喔~ ▼ 瞭解了怎麼去找套件,我們還需要瞭解 HomeBridge 和這些套件扮演的角色。其實 HomeBridge 就是模擬一個 HomeKit 家庭中心的 Hub,透過協定來串接不支援的智慧裝置至 iOS。**BUT**!HomeBridge 可以相容許多套件,意思是說你可以裝多個廠商的 NPM 套件,就可以串起一個多元的智慧家庭中心。 ▼ 我們此次需要的就是依靠 Homebridge-tplink-smarthome NPM 套件來串起 TPLink HS200 系列。 ▼ 啟動 HomeBridge 之後,先去你家中的路由器中將 HS200 固定區網內的 IP,例如我設置成 192.168.3.27
▼ 並開啟剛剛 HomeBridge,按照下列格式輸入裝置平台(TplinkSmartHome)及 Devices IP(192.168.3.27),存檔後就可以生效了! ▼ 剩下的就只有 iOS HomeKit 中的配對部分了,只需要開啟 iOS 中的家庭 App,掃描 HomeBridge 主控台中的 QRCode 圖示,便會將你 NAS 上的 HomeBridge 模擬 Hub 加入了。加入了 HomeBridge Hub 之後,其配對的子智慧裝置(如 TPLink HS200 等)就會出現在你的家庭 App 中。 ▼ 例如我就將我房間中的日光燈命名,透過家庭 App 的快捷開關操作也非常方便簡單,甚至也能以 HomePod 或 Siri 語音操作!"Hey Siri 關閉日光燈!"
在本篇教學中雖然僅是在 TPLink HS 智慧居家系列設定操作,但其實以同樣的方法,你也可以找到更多支援的套件(如:小米、Google Home、Amazon Echo 的周邊等),這使你可以選擇的 HomeKit 周邊多了非常多,不再僅限於 Apple 認證的廠商,也不會因為硬體規格等限制被侷限了發展,購買的選擇更多了。
以 NAS 會 24 HR 常開機的特性,我不需要額外準備一套 Raspberry 來製作 HomeBridge,僅需要透過萬能好用的 Docker 來一鍵架設 HomeBridge 環境就可以串接家中許多智慧電器,而延伸的功能:如以 Siri 操控,智慧情境模式等等都帶給居家生活非常多的便利,躺在床上遙控電燈不再是夢想了!
這 HomeKit 系列的文章也會有更多相關的續集:如 HomePod 開箱與其在 HomeKit 智慧居家中的角色、台灣生產無零線 HomeKit 開關等眾多更有趣的主題,非常歡迎有興趣的人訂閱我的專頁或網站囉
|