奧推網

選單
科技

智慧家居 篇八:第六章 無限可能,神器降臨——Node-RED

作者:GeekOn

導讀:隆重推出Node-RED,視覺化程式設計神器。

既然是人工智慧,人自然是主導,然而面對一行又一行的程式碼,學習成本卻非常高昂,不是金錢,是時間。所以近年來越來越多的視覺化程式設計就成了救世主,在很大程度上降低了門檻,拓展了使用。

Node-red作為一款IBM開發的視覺化程式設計工具,透過拖拽部件來實現邏輯化過程,連線裝置硬體,WebAPI,功能函式,以及各類線上服務。在這裡我們主要面向Homeassistant,透過它豐富的部件來拓展功能和定製個性化的流程(場景),而不是簡單的自動化模組。

1、安裝

採用Hassio安裝的最大好處就是這些外掛的安裝幾乎0難度,只需要在Homeassistant管理頁面側邊欄選擇Supervisor->Add-on store 點選右上角的三個點,選擇Repositories,新增源https://addons。community,然後選擇Close。就可以在Add-on store中找到Node-RED。

點選Install,等待一小會兒就安裝完畢。在Configuration中設定一下第一項(credential_secret),這個相當於一個密碼,用來加密你的Node,隨便寫一個就好,無需引號。

再點選START。就已經可以使用了,記得開啟Start on boot ,Auto update,Show in sidebar。

2、寫下第一個Node

還記得之前設定中安裝的人體感應和開關嗎,第一個Node簡單點:人來燈亮,人走2分鐘後燈滅。

這個流程需要用到3個部件:

event state

負責監視指定的實體狀態,比如這裡要用到的人體感應

call service

呼叫系統服務,比如這裡要用的開啟開關

stoptimer

設定延時,控制下一個動作執行前需要等待的時間。

這個部件有個比較好用的地方,就是當有新的訊息進來,它會自動重置,也就是重新開始計時,那麼用到我們的Node裡就意味著,只要感應到有人,那麼2分鐘的計時器就會重置,而不會出現人待了2分鐘,燈就滅了。

邏輯思路:

檢測到有人開燈

|——>是否離開——是延時關燈

否—— |

雙擊部件會彈出該部件的配置頁,每個部件配置頁不同,但大致上都是包括例如:Name(命名)、Entity ID(實體ID)、State(狀態)、Domain(域)、service(服務)、Data(編碼)等項。

配置好每一個部件之後,就可以部署了。點選右上角紅色部署按鈕。

第一個Node已經完成了,走近人體感應測試一下,燈是否亮起,離開之後等待2分鐘,看是否燈會熄滅。

Node的每個部件都有說明,如果能夠看得懂一些英文的話,可以透過檢視說明掌握大多數部件的用法,透過不斷擴充套件就可以創造出各種應用。Node只是工具,更重要的是你的大腦