【Homebridge實操】改造去年DIY的Homekit開關

2021-03-06 澎十六

【前排提示】本教程需要一定的linux操作基礎和動手能力,代碼及工具已放在後臺,回復【esp2】獲取。僅作個人學習,請勿用於其他用


去年,筆者分享了一個DIY接入Homekit開關的方法

採用的是燒錄HAA固件的方法,且不說燒寫固件後配置的成功率,即使日常使用下來,設備也經常遇到此配件未響應的問題


而從去年八月份到現在,這個項目已經更新了很多版了,精力有限也沒繼續研究這個項目

這次我分享另一個不同的方法,硬體部分同樣需要用到繼電器模塊,CH340燒錄器ESP-01s模塊,但是多加了一個樹莓派,用來安裝Homebridge

如果沒有樹莓派,也可以安裝在刷入第三方固件的路由器或者其他嵌入式設備,但是我不建議用電腦

除非你想成為國家電網戰略合作夥伴

因為我們需要將homebridge當作網關來使用,所以要求設備需要24小時開機

一般使用場景下,我們不會24小時開著電腦,而樹莓派即使在滿載運行的情況下,一個月最多也只能耗費幾塊錢的電費


實現原理

Homebridge:homebridge是一個基於NodeJS的伺服器,可以將不支持Apple Homekit的設備模擬為可識別的設備。可以理解為一個網關的存在

MQTT:是一種建立在TCP/IP協議上基於發布/訂閱模式的「輕量級」通訊協議。mosquitto是一款開源的MQTT消息代理軟體

實現原理大致如圖所示



配置樹莓派安裝Homebridge

Homebridge支持樹莓派、Linux、MacOS、Docker、Windows等設備

這裡我們要在樹莓派上安裝Homebridge,可以直接燒錄官方提供的鏡像系統,燒錄方法參考官方說明

https://github.com/homebridge/homebridge-raspbian-image/wiki/Getting-Started

因為我樹莓派上還運行著其他程序,所以我使用手動敲命令的安裝方法,安裝方法可以參考b站up主 @拙凡zhuofan 的專欄,講得很詳細

如果你熟悉Linux,相信很快就能安裝完成

篇幅原因,這裡我就不打算重複造一遍輪子了,後面有時間我會另寫一篇文章整理一下我安裝時遇到的一些問題

安裝Homebridge的插件

在安裝完homebridge的基礎上,在樹莓派命令行中輸入命令來安裝我們需要的插件

sudo npm install -g homebridge-mqttthing

如果安裝了homebridge-config-ui-x插件,也可以web管理頁面安裝

在瀏覽器中輸入

http://(樹莓派IP位址):8080

來打開homebridge的wei管理頁面(默認帳戶和密碼都是admin)

點擊插件,搜索homebridge-mqttthing插件進行安裝


在樹莓派上安裝mqtt服務

這裡我們採用源碼編譯的方式

首先安裝依賴

sudo apt-get update
sudo apt-get install libssl-dev
sudo apt-get install g++

下載、安裝、創建軟連接

wget http://mosquitto.org/files/source/mosquitto-1.6.12.tar.gz

tar zxfv mosquitto-1.6.12.tar.gz

cd mosquitto-1.6.12

make

sudo make install

sudo ln -s /usr/local/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1
sudo ldconfig

我安裝的是1.6.12,現在最近的mosquitto版本為2.0.7,可以在官網查看

http://mosquitto.org/files/source/



配置Arduino IDE安裝Arduino和esp8266 SDK

這裡直接點擊安裝我整理好的兩個程序安裝包就好了

其他請參考Arduino中文社區


安裝PubSubClient庫

使用arduino裡的PubSubClient庫編譯時會報錯,所以我們要手動安裝,在github上或者我整理的文件裡下載,把PubSubClient文件夾拖到文檔\Arduino\libraries下就可以了


代碼上傳

這裡我使用的是Arduino IDE來燒錄代碼,代碼部分參考了國外大神@Achim Pieters的例子,我修改了部分代碼,僅供個人學習使用

大家食用前,需要修改ssid和password為自己的wifi帳號和密碼,以及mqtt伺服器的IP位址(樹莓派的IP位址)


上傳代碼時開發板選擇「Generic ESP8266 Module」,埠號選擇燒錄器插入的埠

然後按快捷鍵ctrl+u,將代碼上傳到esp-01s模塊上就完成了



在Homebridge中添加配件config.json的配置

安裝好homebridge-mqttthing插件後,在config.json文件中添加配件

sudo nano /var/homebridge/config.json

在accessories中添加我的這段代碼

{
"type": "switch",
"name": "esp開關",
"topics": {
"getOnline": "mqtt-switch/online",
"getOn": "mqtt-switch",
"setOn": "mqtt-switch"
},
"integerValue": true,
"onValue": "open",
"offValue": "close",
"accessory": "mqttthing"
}

其中,name後面的是你可以自定義的開關的名字,也就是在家庭中顯示的名字

編輯完成後按ctrl+x,輸入y,回車退出,然後重啟Homebridge,就可以在iphone家庭中找到對應的開關了

sudo systemctl restart homebridge


如果已經安裝好homebridge-config-ui-x插件,也可以直接在配置中直接修改config.json,不用手動輸入linux命令


總結

haa是為ESP系列設備開發的支持Apple Homekit程序,可以理解為直連Homekit

而Homebridge是一個橋接平臺,除了支持esp設備,還可以將其他市面上不支持Homekit的智能設備,如小米的智能家居設備連入Homekit,可玩性非常高

今後我會嘗試基於Homebridge平臺,DIY更多有趣的項目,歡迎保持關注!


感謝:

homebridge官網:

https://homebridge.io/

arduino中文社區:

https://www.arduino.cn/

mosquitto:

http://mosquitto.org/files/source/

pubsubclient庫:

https://github.com/Imroy/pubsubclient

Achim Pieters的文章:

https://www.studiopieters.nl/homebridge-mqtt-led/(需要科學上網)

Homebridge的安裝:

https://www.bilibili.com/read/cv3603621

Homebridge-mqttthing:

https://github.com/arachnetech/homebridge-mqttthing#readme

往期分享:

在聯想M73上安裝黑蘋果

讓siri使用ssh遠程關閉電腦

讓siri使用樹莓派遠程打開Windows電腦

相關焦點

  • 藉助樹莓派與 HomeBridge ,將 YeeLight 彩光燈接入 Apple HomeKit
    每次需要點開特定的 App 進行開關,而且在斷網之後就無法使用,最致命的一點是官方 App 的 Widget 經常掛掉,導致了體驗的割裂和不適。偶然在 YeeLight 的論壇裡看見了這款燈泡接入 Apple HomeKit 的方法,便決定抱著試一試的折騰心理玩一把。寫這篇教程的目的,算是一個拋磚引玉。
  • 一起來體驗Home Kit
    HomeBridge可以讓我們用Siri來「語音控制」智能系統的開關、智能燈泡的亮度,調節空調的溫度等等,非常強大!發揮你的想像力!只有你想不到,沒有你做不到!接下來上圖中,有一行黃色的字體config.json(/home/pi/.homebridge/config.json) not found.
  • 樹莓派搭建Homebridge 組件家庭控制中心
    硬體設備:樹莓派3B、ESP8266、ws2812燈帶、繼電器;軟體部分:homebrigde伺服器、mqtt伺服器、arduino IDE基本功能:使用Iphone語音或軟體控制燈帶、繼電器開關、檯燈。
  • nanoleaf發布新款原生支持homekit的奇光板
    綠諾nanoleaf這個來自加拿大的品牌是homekit圈子裡比較有代表性的品牌了,其產品劃時代的將可變色燈具作為牆板來使用,把牆當作燈,色彩與生活完美交融。但是其前代產品的背膠容易脫落、連接件容易損壞和燈板尺寸單一等問題一直讓眾多homekit用戶倍感頭疼。目前nanoleaf三款新燈板可以說解決了上述問題。
  • 米家接入HomeKit系列四:HomeBridge搭建、配置與接入米家設備
    基於Docker手動安裝HomeBridge會比較複雜一點,感興趣的同學可以參考文章:https://github.com/oznu/docker-homebridge/wiki/Homebridge-on-Synology為了方便快捷,本文將介紹採用群輝插件的方式安裝。首先我們需要下載HomeBridge的群輝插件。
  • [無線創意]小燕科技推出旗下第二款Homekit原生平開簾電機
    小燕科技是國內首家蘋果過審的Homekit全宅解決方案廠商,其產品一直以穩定、貼合國內用戶需求而著稱。在此之前,無線創意小編為大家介紹過來自小燕科技的智能開關、傳感器及門鎖,感興趣的小夥伴可以查看公眾號往期內容進行查看。
  • 教你用樹莓派 + IFTTT 實現 HomeKit 智能家居自動化(二)
    2.5.初始化 HomeAssistant 配置文件在終端中輸入mkdir ~/.homeassistantvi ~/.homeassistant/configuration.yaml在打開的編輯器中,單擊鍵盤的i鍵,進入輸入狀態。複製以下初始化內容到文件中。
  • 羅技發布支持HomeKit安全視頻新款門鈴
    羅技作為HomeKit的老牌設備廠家,推出了繼POP無線開關、室內外通用攝像頭後的第三款HomeKit智能單品,circle view門鈴。我司已經正式引進羅技circle view homekit門鈴,並提供一年的廠家免費質保服務,歡迎大家到店體驗。
  • 教你把國行索尼電視接入 HomeKit 平臺
    TVOS 3.0 (https://github.com/SeydX/homebridge-bravia-tvos)的插件,可以讓索尼幾乎所有的電視型號都能夠接入 HomeKit 平臺並實現除 AirPlay 2 以外的所有功能。我個人在使用了半個月左右後覺得還不錯,所以決定搬運過來跟大家分享一下相關教程。
  • 小模組直連Apple HomeKit平臺,支持 Siri 控制,可二次開發
    區別如下:開源版需要把家庭路由器密碼寫死在代碼裡面,再實現apple homekit控制,而商業版是apple homekit直接發現/配網/入網/控制一條龍服務,相比較不需要輸入ssid和密碼,更靈活,更人性化;開源版在配置過程會提示非正版homekit設備連接,
  • eufy推出電動旋轉鏡頭2K畫質的Homekit原生攝像頭
    在此之前,eufy推出了一系列依託基站的電池供電戶外攝像頭,並且原生支持homekit。但是基站類的攝像頭在國內實際使用起來並不順暢,因此無線創意一直並未引進。直到近期eufy推出了一款插電使用,攝像頭可以電動旋轉的低成本攝像頭後,無線創意第一時間將其引入到了國內。下面隨小編一起看下這款特別的攝像頭。
  • 感受智能家居 蘋果在全球零售店大力推動HomeKit體驗
    可如果你有裝修新家的打算,那麼給新家中的插座/開關點位購置智能插座/開關肯定是更加集成也更省事的解決方案。坦白講,Aqara 智能牆壁開關和牆壁插座要比普通開關/插座貴,但你並不需要給家中所有的點位都裝上智能版的,開關每個房間一個,插座一共可能也只需要 2-3 個而已,這對你的整體裝修預算恐怕也不會增加多少負擔。而它們所能換來的方便,我想肯定是物有所值的。
  • [無線創意]Eve推出插座供電的原生支持homekit水浸傳感器
    目前市面上的原生支持homekit的水浸產品有幾款,比如法比奧和綠米的,這兩款水浸傳感器均為電池供電,然後通過感應器下方的金屬觸點來感知是否漏水。這種類型的產品固然有它的優點,比如布置靈活、成本低。但是也有它的缺點,比如需要漏一大灘水的時候才能感知,還有就是需要想著定期更換電池。
  • [無線創意]羅技Circle2攝像頭宣布支持蘋果Homekit安全視頻
    在2019年6月的蘋果開發者大會上,蘋果推出了Homekit安全視頻服務,藉助homekit安全視頻,您可以通過蘋果家庭中樞識別到經過攝像頭的是人
  • 蘋果HomeKit智能家居什麼樣
    現在,蘋果在iOS 8中加入了HomeKit,有望為用戶提供一個完整的、一體化的智能家居控制平臺,讓你通過Siri來開關燈、調節溫度、開門或是播放音樂;當然,最酷的部分是你可以按照需求制定規則,讓多種設備同時工作。
  • 羅技發布Circle系列第二款Homekit攝像頭——View
    在Homekit中,隱私的重要性是排在首位的,因此羅技在新款攝像頭後面增加了一個物理按鈕,可以將攝像頭切換至關閉模式。這時您的家庭應用將會收到推送消息,通知您攝像頭已經關閉。新款攝像頭僅支持Homekit下使用,因此添加過程中無需第三方app,直接在家庭應用中掃碼添加即可。作為一款完全支持蘋果安全視頻的攝像頭,羅技此次升級將操作簡單和安全性做到了極致。
  • HomeKit 智能產品選購指南
    因為我們家的蘋果生態比較完善,所以也優選支持 HomeKit 的智能產品。這篇文章就先簡單整理一下我認為最值得選擇的一些 HomeKit 智能產品。選品牌這個幾乎只有一個品牌可以選,那就是 Aqara 綠米。它應該是目前國內介入 HomeKit 數量最多、體驗場景最完整的品牌。
  • 製作一個homeassistant開關
    因為實體開關來的更加的直接,直觀,比如,當我們進入到一個場景,想控制一個設備,會自動的去按某個開關,而不是很麻煩的掏出手機,點亮屏幕,打開app,在繁多的設備中尋找到這個設備,最後再打開這個設備,一點也不優雅。 實體按鍵是最不假思索的一種方式,甚至可以盲操作。
  • 果粉來看 能買到的HomeKit平臺智能家居產品
    家庭自動化和智能家居已經不是什麼新鮮的玩意了,之前一個開關只能控制一種產品的日子已經一去不復返,而現在通過蘋果的HomeKit協議,我們可以很容易只需要觸摸一下智慧型手機,就可以一鍵控制燈光、家用電器、窗簾等等。
  • [homekit之家]Dlink為大家帶來原生homekit攝像頭Omna 180
    對於HomeKit,相信很多朋友都不會感到陌生了,在經歷了一段時間的發展沉澱,支持HomeKit的產品從開始時的僅兩家廠商,到如今的「百花爭豔」,快速的發展勢頭令很多小夥伴都想購入幾款設備嘗嘗鮮,因此全球知名網絡設備供應商D-Link順勢推出了首款原生homekit