用樹莓派和米家實現HomeKit智能家居
通過本教程,您將實現用iOS設備(手機、平板),實現基於米家智能家居的控制,甚至實現智能家居的自動化運行等操作。
需要準備的物品如下:
- 樹莓派3 一台
- 電腦一部
- 運行最新系統的iOS設備一部
- 小米智能網管(二代)一部
- 小米系溫濕度感測器和智能插座(ZigBee版)
樹莓派(RaspberryPi)(什麼是樹莓派?)原是英國樹莓派基金會為學習計算機編程教育設計的一種微型電腦。只有信用卡大小,基於Linux系統。自問世以來,樹莓派便受到追捧,極客們腦洞大開,使得樹莓派在計算機和物聯網等領域,有著廣泛的應用。
我們就要用樹莓派結合iOS操作系統,來實現智能家庭控制。
HomeKit原是伴隨iOS 10系統發布的,意在實現智能化家庭控制,然鵝支持HomeKit的配件,在大中國區,種類少得可憐,而且價格和Apple一樣高冷...在國內,為「廣告」而生的小米系企業也在做智能家居配件,可是在iOS端,卻只能用「米家」app設置,便利性和裝逼指數上,都差了一些,如若是能接入HomeKit,那豈不是很爽。
鑒於鄙人大學是自動化專業,對自動控制略知皮毛,甚至還取得過一些不值一提的成就,原計劃想用Ardunio單片機來自己組建智能家庭的控制系統(其實是為了啤酒發酵時便於控制溫度)。後來了解到小米的智能家庭套件也可以很方便的滿足我的需求,再後來發現利用樹莓派就可以把小米套件接入HomeKit,就可以用來裝x了,於是,搞起!
教程大綱:
- 啟動樹莓派
- 安裝應用及插件
- 配置homekit
1.啟動樹莓派
Step1:
樹莓派3是以micro SD卡做為存儲空間的,相當於電腦中的硬碟,運行的系統和軟體等均需要安裝在這個存儲卡中,我們需要像裝電腦系統一樣,給樹莓派也裝一個它可以運行的系統。
將下載好樹莓派官方系統文件(點我下載),解壓出img文件。
準備至少8G的micro SD存儲卡插入你的Mac電腦。
打開系統燒錄軟體 ApplePi-Baker(點我下載),如圖數字順序,完成樹莓派系統的燒錄。
ps:win 平台的同學可以使用「Win32DiskImage」進行系統燒錄
Step2:
我們會以ssh的方式、通過Wi-Fi連接樹莓派(新版的樹莓派3B版已經集成Wi-Fi和藍牙功能),但是現在的樹莓派官方系統默認關閉了ssh功能,於是我們需要生成ssh和網路配置文件(win系統的同學可以用「記事本」來生成這兩個文件,切記確保ssh是無後綴的文件),操作如下:
打開Mac中的「終端」應用,分別輸入如下代碼:
touch sshtouch wpa_supplicant.conf
於是,你會在Finder的 /User/你的名字/文件夾中,找到這兩個文件,接下來我們要配置一下剛剛生成的wpa_supplicant.conf 文件,來保證你的樹莓派在開機之後,便可以連上Wi-Fi。
用「文本編輯」打開它,將以下代碼粘貼過去,將「Wi-Fi名稱」和「Wi-Fi密碼」替換成你需要連接的相應網路信息,保留雙引號。
ps2:樹莓派僅支持2.4G網路
country=CNctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdevupdate_config=1network={ssid="Wi-Fi名稱"psk="Wi-Fi密碼"key_mgmt=WPA-PSK }
修改好了之後,複製ssh和wpa_supplicant.conf文件到micro SD卡的根目錄中,彈出,將其插入樹莓派中,樹莓派通電就可以了。
Step3:
下面我們要使用ssh方式連接樹莓派,下載相應的插件,完成HomeKit所需的配置等。
首先,登陸你的路由器後台,找到名稱為「raspberrypi「的設備,並記下本地IP地址。
打開「終端」(win系統可以使用「puTTY」),輸入以下代碼,其中IP地址應為你記下的地址。
ssh pi@192.168.3.158
按下回車,會提示是否繼續連接,輸入「yes」後,系統會提示請求輸入密碼,樹莓派ssh連接方式的默認密碼為「raspberry」,Linux系統在輸入密碼時是不顯示的,你只需要按照正確的順序輸入密碼即可。如果你看到綠色的「pi@raspberrypi:~ $」字樣(如下圖),那麼恭喜你,你已經成功連接到樹莓派了。
2.安裝應用及插件
Step4:
連接成功之後,可以更新一下系統插件,代碼如下(請逐行輸入並按回車鍵):
sudo apt-get updatesudo apt-get upgrade
通長更新需要十幾分鐘,如果更新緩慢,可以嘗試切換軟體源,先按下「control」+「c」停止當前更新操作,Mac同學請注意,這裡不是cmd鍵。如更新正常,則不要更換!!
更換軟體源代碼如下:
sudo nano /etc/apt/sources.list
在彈出的頁面,需要把默認源前面加 「#」 號注釋掉(最好不要直接刪掉),在末尾粘貼想要更換的軟體源即可。
國內玩家可以選擇阿里的軟體源:
deb http://mirrors.aliyun.com/raspbian/raspbian/ jessie main non-free contrib
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ jessie main non-free contrib
改好後,按「control」+「o」保存,回車,「control」+「x」退出。再次輸入前文更新代碼,嘗試更新系統插件。
系統插件更新完畢後,可重啟樹莓派:
sudo reboot
待樹莓派重啟完畢,打開「終端」,再次與樹莓派建立ssh連接,就可以安裝各種插件了。
- 安裝nodejs,依然是逐行安裝:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -sudo apt-get install -y nodejssudo apt-get install -y build-essential
- 安裝avahi:
sudo apt-get install libavahi-compat-libdnssd-dev
提示:如果avahi安裝失敗,可切換回默認軟體源試試看。
- 安裝homebridge:
sudo npm install -g --unsafe-perm homebridge
- 安裝home-mi-aqara插件
sudo npm install -g homebridge-mi-aqara
至此,所有插件已經安裝完成,此時可以輸入:homebridge,按回車,如果出現下圖樣式,則表示HomeKit所需的所有插件已經安裝成功啦。
3.配置HomeKit
Step5:
首先」control「+」c「來結束homebridge的運行,接下來執行下列代碼來創建文件夾,並修改配置文件。
mkdir ~/.homebridgecd ~/.homebridgenano config.json
複製以下代碼,將其粘貼彈出的空白頁面裡面(該空白頁面即是config.json文件):
{ "bridge":{ "name":"Homebridge", "username":"CC:22:33:EE:CC:11", "port":51826, "pin":"123-45-678"},"platforms":[{ "platform":"MiAqaraPlatform", "gateways":{ "你的mac地址": "區域網通信協議密碼" } }]}
在「你的mac地址」和「區域網通信協議密碼」處分別填上的你的設備信息(參見Step6)。
Step6:
拿出你的iOS設備,按「米家」app提示連接好小米網關,在「關於」頁面空白處瘋狂點擊,直到彈出「區域網通信協議」和「網關信息」,其中「網關信息」中的mac地址,即為你要填上去的地址,但是要去掉冒號且英文全部小寫;「區域網通信協議」中的密碼也相應的填上去,順便將其打開,並點擊「確定」。
全部修改好了之後,「control」+"o"保存,回車,「control」+「x」退出,再出入:
cd ~
退出到根目錄,再次輸入:
homebridge
啟動服務。拿出iOS設備,打開「家庭」app,點擊「添加配件」,掃描屏幕上的二維碼即可添加為homekit配件(請確保樹莓派、小米網關、iOS設備處在同一個網路中)。
順利添加後,就會識別到你的所有感測器了。
按照你的使用需求,配置好房間及感測器名稱,你就可以調戲Siri,幫你關燈了!!
延伸閱讀:
- 調戲完Siri後,你會發現,一旦你關閉「終端」,iOS端就沒辦法控制智能配件了,你需要重新和樹莓派建立ssh鏈接,並手動開啟homebridge插件才能生效。太麻煩!!於是我們要讓樹莓派開機自啟動homebridge,實現插電即用。
首先你需要安裝「Screen」插件,來實現不需要啟動「終端」,即可啟動homebridge功能,代碼如下:
sudo apt-get install screen
接下來要編輯「rc.local」文件,實現開機自啟動:
sudo nano /etc/rc.local
在彈出的窗口中,「exit 0「行前,添加如下代碼:
su -c "screen -dmS homebridge homebridge" -s /bin/sh pi
「control」+"o"保存,回車,「control」+「x」並退出,用代碼重啟樹莓派測試以下吧!
- 可是還是不夠完美,比如我去樓下擼串兒,突然想起來家裡電暖氣還開著,恰好小區電梯維修,你又不想爬32樓,家裡Wi-Fi不給力,樓下搜不到Wi-Fi信號....簡而言之就是,你需要實現遠程控制家中的智能配件功能,這裡就需要額外的一台iOS設備了,好在蘋果粑粑有詳細的設置HomeKit中樞的教程,這就不需要我啰嗦了,傳送門在此,走你!!
至此,樹莓派+小米系智能家居配件,在iOS上實現了Homekit功能,你可以裝x了!!
樹莓派的更多應用,可參考:
http://shumeipai.nxez.com
https://github.com/search?utf8=?&q=raspberrypi&type=
https://github.com/search?utf8=?&q=樹莓派&type=
特別鳴謝:
- 樹莓派入門指南|明明白白玩 Pi 系列
- 無屏幕和鍵盤配置樹莓派WiFi和SSH | 樹莓派實驗室
- 【再更新】小米網關接入Homekit/蘋果Siri完整教程,聲控家中設備! - 小米社區官方論壇
- nfarina/homebridge
- 從米家到 HomeKit,你只需要一個樹莓派
特別感謝以上作者的分享!!
轉載請註明出處!!
推薦閱讀:
※自己動手打造智能家居(二)
※這次 WWDC 重點是啥?
※新房裝修要搞「智能家居」?不妨看看這些建議
※Homebridge + Mac 智能家居指南三:Sonos篇
※最新智能家居別墅設計案例
TAG:樹莓派RaspberryPi | 智能家居 | HomeKit |