語音控制智慧插座

weixin_34208283發表於2018-11-09

起因

一直想折騰物聯網,苦於沒有好的創意。近期團隊找方向,本著調研+實踐的方針,看了一圈開放平臺和技術論壇後,開始著手實踐一二。試記之,以備後查。

目標

手裡有天貓精靈、小米智慧插座、mac筆記本、阿里雲ECS各一,希望可以通過喊一聲 “開啟(關閉)插座” 來控制插座的開關。

簡要步驟

  1. mac上安裝HomeAssistant(簡稱HA),參考這裡

  2. 獲取小米插座的token,並新增到HA中的配置檔案中,參考這裡,此時應該可以在mac瀏覽器中控制插座

  3. 將本地HA開放到公網,參考這裡

    • 在阿里雲ECS上配置sshd,修改/etc/ssh/sshd_config檔案(sudo nano /etc/ssh/sshd_config),在末尾增加一行配置:

        * GatewayPorts clientspecified
      
    • 在mac的終端中輸入

       * ssh -R 0.0.0.0:1234:127.0.0.1:8123 user@xxx.com
      
    • 此時應該可以通過 xxx.com:1234 訪問HA並控制開關了

4.繫結天貓精靈和HA,參考這裡

  1. 可以叫一聲【天貓精靈,開啟客廳的插座】來直接控制小米插座了

幾點問題

  1. 獲取小米插座的token時,網上的方法(重置插座和檢視你米家APP資料庫)均未果,我是通過在小米插座正常連到WiFi後,在同一個區域網的mac上輸入miio discover後幾秒內就搜到了token。

  2. 如果沒有ECS,可以通過花生殼等將本地HA公開到公網。

  3. ssh中間會斷掉,所以如果長時間使用,還需要通過一些守護指令碼或專門程式來保證服務的穩定可用。

  4. 通過siri或echo音響等,也是可以實現的,不過需要單獨安裝其他軟體或外掛,具體自行搜尋。

資料彙總

國外

HomeAssistant官網

國內

hachina,適合入門
hassbian,比較活躍的論壇

相關文章