国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

用Home Assistant搭建個性化智能家居系統(tǒng)

2022-03-18 09:29:57謝作如邱奕盛
中國信息技術(shù)教育 2022年5期
關(guān)鍵詞:令牌樹莓插座

謝作如 邱奕盛

涉及學(xué)科:信息技術(shù)、科學(xué)、藝術(shù)

智能家居在我們的生活中已經(jīng)隨處可見,買一個智能家居設(shè)備,輕點手機屏幕,就能完成設(shè)備的連接與控制,甚至可以設(shè)定一系列的自動化功能。例如,房間的燈泡可以根據(jù)人體紅外傳感器檢測房間的空閑狀態(tài),來自動決定開關(guān),或者設(shè)定每天晚上7點準(zhǔn)時開燈,又或者通過語音口令來實現(xiàn)智能控制??傊?,智能家居的普及極大地便利了我們的居家生活。

然而,盡管“米家”“天貓精靈”等平臺提供了一定的智能化管理方式,但只能使用其提供的APP進行控制。想實現(xiàn)自己寫一段Python代碼控制設(shè)備,或者把開源硬件改造為智能家居設(shè)備控制器,都有些困難。于是,筆者把目光投向了一款智能家居的管理平臺——Home Assistant(簡稱HASS),這是一個能夠?qū)⒉煌放浦悄芗揖釉O(shè)備管理起來的開源物聯(lián)網(wǎng)網(wǎng)關(guān)軟件。

● HASS的工作原理分析

手機APP之所以能夠遠(yuǎn)程控制智能家居設(shè)備,是依賴于與設(shè)備相連的企業(yè)網(wǎng)關(guān)或者服務(wù)器。以智能燈泡為例,首先是智能燈泡和網(wǎng)關(guān)相連,手機APP發(fā)送命令到網(wǎng)關(guān),網(wǎng)關(guān)再發(fā)送命令到智能燈泡,從而實現(xiàn)控制。但是,絕大多數(shù)的智能家居網(wǎng)關(guān)并沒有開放編程接口,用戶無法對網(wǎng)關(guān)進行編程。HASS相當(dāng)于是一個額外搭建的智能家居網(wǎng)關(guān),因為其開放了API接口,那么我們就可以編程來控制局域網(wǎng)內(nèi)的智能家居設(shè)備,達到個性化控制的目的。

如圖1所示,HASS和原來的企業(yè)網(wǎng)關(guān)并行工作,智能燈泡既能接受企業(yè)網(wǎng)關(guān)的控制,也可以接受HASS的控制,這樣就能確保原來的智能家居系統(tǒng)也能正常工作,不受破壞。

● 基于HASS的智能家居系統(tǒng)實現(xiàn)

HASS是一個開源項目,可以運行在很多硬件上。筆者選擇用樹莓派4來運行HASS平臺,并且用來管理學(xué)校人工智能實驗室中的智能設(shè)備。

1.HASS的安裝

HASS提供了好多種安裝方案,經(jīng)過比較,采用Docker方案安裝最為方便。

(1)給樹莓派安裝Docker

樹莓派連上Wi-Fi后,在樹莓派操作系統(tǒng)內(nèi)使用命令行安裝Docker。筆者強烈建議先安裝Docker圖形化工具portainer,然后通過瀏覽器來安裝HASS。

(2)在Docker安裝HASS

在命令行輸入代碼完成安裝。

2.HASS平臺的設(shè)置

啟動Docker容器后,在瀏覽器輸入{樹莓派的IP}:8123(默認(rèn)端口號),即可訪問HASS前端頁面,第一次進入需要等待一會兒以完成聯(lián)網(wǎng)更新,然后完成用戶初始設(shè)定即可。

進入系統(tǒng)后,需要申請一個長期訪問令牌,用來做編程連接的身份認(rèn)證。在網(wǎng)頁左側(cè)側(cè)邊欄選擇最下面一欄的用戶,然后點擊右側(cè)頁面最下方的創(chuàng)建令牌,創(chuàng)建完成之后請務(wù)必保存好令牌的內(nèi)容。由于令牌內(nèi)容各不相同,下文以**your token**代替。

3.智能家居設(shè)備的設(shè)置

HASS支持的智能家居設(shè)備種類廣泛,兼容各大平臺,如小米、天貓精靈等。這里以Yeelight智能燈泡和米家智能插座Wi-Fi基礎(chǔ)版為例,來說明設(shè)備的接入和設(shè)置。這兩個設(shè)備都可以在“米家APP”進行管理。

4.智能設(shè)備接入HASS

在瀏覽器輸入{樹莓派的IP}:8123訪問HASS平臺,點擊左側(cè)側(cè)邊欄上的“配置”,然后在右側(cè)頁面選擇“設(shè)備與服務(wù)”,在跳轉(zhuǎn)的頁面點擊右下角的添加集成,來完成設(shè)備的接入。

(1)Yeelight智能燈泡接入

點擊添加“集成”后,在搜索框輸入Yeelight,選擇該集成后會自動在局域網(wǎng)內(nèi)查找符合條件的設(shè)備,并且自動完成接入。

(2)米家智能插座接入

插座的接入要稍微麻煩一點,在搜索框輸入Xiaomi Miio,選擇該集成后還需要在網(wǎng)頁上登錄米家賬號,然后選擇智能插座設(shè)備,HASS平臺會自動在局域網(wǎng)內(nèi)查找選擇的智能插座設(shè)備,并且自動完成接入(如圖2)。

(3)在HASS頁面控制

點擊左側(cè)側(cè)邊欄的“概覽”,可以看到剛才添加的設(shè)備已經(jīng)顯示在右側(cè)頁面中了。這時就可以通過網(wǎng)頁上的開關(guān)進行控制設(shè)備了,如圖3所示。

5.控制程序的編寫和測試

HASS提供了WebAPI,通過網(wǎng)絡(luò)即可實現(xiàn)對設(shè)備的控制。筆者選擇了Python為編程語言,結(jié)合requests庫進行編程測試。

(1)IDLE連接情況測試

輸入下頁圖4所示的代碼。

屏幕會打印出在HASS中的所有設(shè)備的狀態(tài)。返回的內(nèi)容是json格式,由于內(nèi)容太多,IDLE會壓縮內(nèi)容,僅輸出response=Squeezed text(218 lines),可以雙擊展開,也可以將輸出結(jié)果復(fù)制到j(luò)son格式化解析網(wǎng)站上做格式化,以便更好地查看返回結(jié)果。

在輸出的結(jié)果中搜索yeelight,可以找到智能燈泡的信息,留意其中的entity_id這一項。

(2)設(shè)備信息查詢測試

將url修改為下面的形式,其中{entity_id}是剛才查詢的結(jié)果,如圖5所示。

這樣,返回結(jié)果就是智能燈泡的狀態(tài)信息了??梢钥吹?,“state”的值是“on”。類似地,也可以查看智能插座的狀態(tài)信息。

(3)使用Web API控制智能燈泡

輸入如圖6所示的代碼,代碼中調(diào)用了HASS的service服務(wù)中的toggle,它的功能是切換燈的開關(guān)狀態(tài)。service中還有更多可用的服務(wù),如turn_on(打開)、turn_off(關(guān)閉)等,可以自行探索。

如果想對燈點亮后的亮度、色彩進行進一步設(shè)置,可以在payload中添加相應(yīng)信息,如圖7所示,這樣,可以設(shè)置燈的亮度為100,顏色為黃色。

● 基于HASS的個性化控制想法

一旦實現(xiàn)了智能家居設(shè)備的可編程控制,各種個性化的創(chuàng)意就涌現(xiàn)出來。

創(chuàng)意1:能夠“吹”的燈泡。

用Python代碼定時獲取當(dāng)前的天氣預(yù)報,然后顯示不同的燈泡色彩,這樣的創(chuàng)意筆者已經(jīng)做過,不夠好玩。但是,如果在聲音傳感器上吹口氣,就吹出燈光搖曳的效果呢?

創(chuàng)意2:魔棒控制燈光。

在哈利波特的魔法世界里,揮動魔棒就可以實現(xiàn)意念控制,進而可以利用加速度傳感器感知魔棒的運動方向,讓燈光呈現(xiàn)魔幻的效果。

創(chuàng)意3:根據(jù)主人情緒改變燈光。

可以通過攝像頭捕捉人臉,經(jīng)過算法分析人臉表情,根據(jù)情緒的高漲與低落,將燈光氛圍與情緒匹配。

常見的創(chuàng)客作品往往局限于LED、舵機、直流電機之類的電子模塊,我們一直希望創(chuàng)客作品能夠直接和家用電器形成交互?,F(xiàn)在有了HASS的支持,學(xué)校的人工智能實驗就變成了一個新的研究智能家居和物聯(lián)網(wǎng)技術(shù)的實踐場,下一步筆者還會通過人工智能技術(shù),用各種有趣的方式控制燈光、開關(guān)、窗簾,還有門鎖等。

3962501908278

猜你喜歡
令牌樹莓插座
◆ 開關(guān)、插座
稱金塊
基于路由和QoS令牌桶的集中式限速網(wǎng)關(guān)
基于樹莓派的騎行智能頭盔設(shè)計
電子制作(2019年11期)2019-07-04 00:34:32
動態(tài)令牌分配的TCSN多級令牌桶流量監(jiān)管算法
計算機工程(2018年8期)2018-08-17 00:26:54
基于樹莓派的遠(yuǎn)程家居控制系統(tǒng)的設(shè)計
電子制作(2017年17期)2017-12-18 06:40:43
立式旋轉(zhuǎn)插座
響應(yīng)面法優(yōu)化紅樹莓酒發(fā)酵工藝
中國釀造(2016年12期)2016-03-01 03:08:19
開關(guān)、插座
u 開關(guān)、插座
404 Not Found

404 Not Found


nginx
葫芦岛市| 林芝县| 长阳| 阿城市| 沁水县| 宁城县| 英吉沙县| 互助| 开江县| 嘉兴市| 托克托县| 靖远县| 翁源县| 台中市| 佳木斯市| 宜兰市| 朝阳县| 深圳市| 禄丰县| 崇信县| 贵德县| 子洲县| 攀枝花市| 洛南县| 工布江达县| 镇宁| 射阳县| 深州市| 镇坪县| 石家庄市| 都兰县| 内黄县| 怀仁县| 都昌县| 陕西省| 磴口县| 霞浦县| 哈尔滨市| 泗水县| 平凉市| 天水市|