MiHomePlus 是我為 iOS 家庭編寫的 Android App,主要的作用就是作為 iOS 家庭的操作代理。
MiHomePlus 的工作原理是這樣的:
https://github.com/qoli/MiHomePlus
https://github.com/qoli/MiPlusServer
Pi 我用了 NanoPi,59 元那個 256MB 的版本就足夠了。然而 Android 手機最低要求是 4.2.1 版本的,基於 API 19,因為我是基於這個版本做的開發。
我們需要在 NanoPi 搭建 Homebridge 和安裝 MIPlusServer。
參考這幾遍文章完成 Homebridge 的安裝。
建議安裝的 Homebridge 插件:
homebridge-miio 這個插件聽說可以控制第一代 WIFI 插座,我沒裝,所以我不知道。
當你完成 Homebridge 的安裝后,我們就要開始進行 MIPlusServer 的安裝。
git clone https://github.com/qoli/MiPlusServer.git
cd ./MiPlusServer
npm i
chmod +x miServer.sh
chmod +x run.sh
touch config.js
nano config.js
module.exports = {
tgbot: false,
token: "",
adminChatID: ""
}
如果你有啟用 Telegram Bot 作為監視 MIPlusServer 的運行必要,可以參考 https://neighborhood999.github.io/2016/07/19/Develop-telegram-bot/ 這個教程,來獲取 Telegram BOT 的 token。
module.exports = {
tgbot: false,
token: "Your Token Here.",
adminChatID: ""
}
接著,先按照配置檔保存一下,使用 ./miServer.sh
先讓服務器運行起來。
按照下圖的辦法,加上你自己的機器人,就輸入 id
命令。機器人就會向你返回你的 Chat id 了。
module.exports = {
tgbot: false,
token: "Your Token Here.",
adminChatID: "Your chat id"
}
保存配置檔案即可。
screen -S miServer
./miServer.sh
![螢幕快照 2017-06-26 下午 4.33.47]( http://ok7ct2124.bkt.clouddn.com/2017-06-27-螢幕快照 2017-06-26 下午 4.33.47.png)
你看到這樣的信息就正確了。
隨後,你應該看到這個屏幕。那麼就可以按下「 CTRL + A ; CTRL + D 」來退出 screen 屏幕。我教你記住的口訣,控制你的 AD 鈣奶。
現在,你的 NanoPi 服務器就初始化完成了。
打開 https://github.com/qoli/MiHomePlus/releases 下載 MiHomePlus 當前的發佈版本。
不過當前 App 我正在被標記為 0.1 版本,可能會有一些問題。也有可能在運行中就退出了。但是,我測試過,可以成功運行 1 天了。第二天我就沒遇到問題,只是我把他拿回來繼續開發了。
在啟動 App 后,首先,我們進行設定。
啟動米家的 App,把需要監視的設備都放在同一個房間中。Homebridge 插件能控制的就不要放進來了。
在當前版本下,在一個屏幕之外的設備無法監控。
按照圖片的步驟,把監控的設備都整理到 AndroidAPI 的房間中,當然,你可以叫其他的名字,例如「MiPlusDevices」。 然後,你的米家就應該像圖二一樣的狀態。
打來瀏覽器,我的 NanoPi 是 http://192.168.1.104:3002。 所以,打開 http://192.168.1.104:3002/setting。
填寫房間名稱和設備列表,設備列表要使用「;」半角分號分開哦。在我這裡,主要就監視了這 4 個設備。
監控設備的名字必須和米家 App 顯示的名字一樣哦。
OK,就這些了哦。
![螢幕快照 2017-06-26 下午 11.02.27]( http://ok7ct2124.bkt.clouddn.com/2017-06-27-螢幕快照 2017-06-26 下午 11.02.27.png)
{
"accessory": "Switcheroo",
"type": "switch",
"name": "空調伴侶",
"host": "http://192.168.1.104:3002/device/%E7%A9%BA%E8%AA%BF%E4%BC%B4%E4%BE%B6",
"on": "/ON",
"off": "/OFF",
"on_body": "ON",
"off_body": "OFF"
}
給大家一個 URLEncode 的網址: https://www.urlencoder.org
我的 NanoPi 就是 192.168.1.104 嘛。所以輸入了 http://192.168.1.104:3002。 保存后使用「讀取配置檔案」,就會看到按鈕下方的文字更新過來了。數據就會保存在 App 裡面了。
這個神隱模式嘛,一開始我是不知道的。在開發過程中,每 5 分鐘就遇到 Socket.io 無故斷線,只有重啟才能恢復。後來轉用錘子開發,發現沒有遇到這個問題。我就上網 Google 了一下,才發現小米的神隱模式這個功能導致的。
做了這麼多事情,終於開始了! 把你的 Android 拿去充電吧。反正我的紅米第一代,不充電可以運行一天。
你啟動了這個選項的話。
就可以收到一些 MiHomePlus 的狀態。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.