家庭自動(dòng)化與Node-RED和樹莓派:控制燈和讀取DHT11數(shù)據(jù)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
Node-RED是一個(gè)非程序員使用物聯(lián)網(wǎng)的可視化工具,它可以用來更快地構(gòu)建應(yīng)用程序,并縮短物聯(lián)網(wǎng)產(chǎn)品的“上市”時(shí)間。它還可以用于以新穎有趣的方式輕松地將硬件設(shè)備、api和其他在線服務(wù)連接在一起。
Node-RED可以使用預(yù)定義的端口號(hào)或引腳號(hào)直接訪問Arduino, Raspberry Pi等微控制器板的數(shù)據(jù)。
在本教程中,我們將構(gòu)建一個(gè)家庭自動(dòng)化系統(tǒng),可以控制燈,可以在儀表板上創(chuàng)建的儀表上以圖形方式監(jiān)控溫度和濕度。在本教程中,我們將介紹如何在Windows上安裝和設(shè)置Node-RED。
然后我們還將設(shè)計(jì)Node-Red Dashboard,并使用不同的輸入、輸出和功能節(jié)點(diǎn)來創(chuàng)建Node-Red流程。另外,請(qǐng)查看我們以前的Node-Red項(xiàng)目。
使用Node-Red的家庭自動(dòng)化所需的組件
?覆盆子π
?繼電器模塊
?DHT11傳感器
?AC燈泡
?LED
?電路試驗(yàn)板
?跳線
在樹莓派上安裝Node-RED
Node-RED是預(yù)先安裝在Raspbian Stretch OS上的。如果你的樹莓派上沒有安裝Node-RED,你可以使用下面的命令安裝Node.js、npm和Node-RED到樹莓派上。該命令還可以用于升級(jí)現(xiàn)有的安裝。
該命令將做以下事情:
1.刪除舊版本的Node-RED和Node.js(如果存在)。
2.安裝最新的Node.js LTS版本。如果它檢測(cè)到Node.js已經(jīng)安裝,它將確保它至少是Node版本8。
3.清理npm緩存
4使用npm安裝最新版本的Node-RED
5.詢問你是否想安裝一個(gè)有用的樹莓派節(jié)點(diǎn)集合
6.是否將Node-RED設(shè)置為作為服務(wù)運(yùn)行,并提供一組與服務(wù)一起工作的命令
安裝完成后,您應(yīng)該在編程應(yīng)用程序列表下看到Node-RED圖標(biāo)。
在樹莓派上啟動(dòng)Node-RED
Node-RED可以通過Pi的桌面界面啟動(dòng),也可以通過樹莓派的終端窗口啟動(dòng)。
從Pi的桌面界面:選擇菜單->編程-> Node-RED
遠(yuǎn)程從您的計(jì)算機(jī)終端:運(yùn)行node-red-start在一個(gè)新的樹莓派終端窗口。要從Pi的桌面界面啟動(dòng),請(qǐng)單擊Menu > Programming > Node-RED。
要從樹莓派終端窗口啟動(dòng)它,導(dǎo)航到終端并輸入下面的命令:
打開Node-RED接口
現(xiàn)在在樹莓派上安裝并啟動(dòng)了Node-RED,我們可以繼續(xù)訪問它的web界面。為此,導(dǎo)航到瀏覽器并在地址欄中寫入http://your_pi_ip-address:1880。樹莓派的IP地址顯示在Node-RED終端的第一條主線中,如下所示。
在此之后,您將看到以下屏幕。
在開始構(gòu)建Node-Red流之前,我們需要安裝用于Dashboard和DHT11傳感器的調(diào)色板(Node-Red)。為此,單擊右上角的菜單圖標(biāo),然后單擊“Manage Palette”。
轉(zhuǎn)到Install選項(xiàng)卡,然后搜索并安裝‘ node-red-dashboard ’和‘node-red-contrib-dht-sensor ’節(jié)點(diǎn)。
在Node-RED中創(chuàng)建流
安裝了所有所需的節(jié)點(diǎn)后,我們可以繼續(xù)創(chuàng)建Node-red流來控制LED并讀取DHT11傳感器數(shù)據(jù)。第一步是創(chuàng)建儀表板布局。
在這個(gè)項(xiàng)目中,我們將有兩個(gè)開關(guān)來控制LED和燈泡;兩個(gè)儀表顯示溫度和濕度值。在右上角,單擊下拉菜單圖標(biāo),并選擇dashboard選項(xiàng)卡。
然后創(chuàng)建一個(gè)名為“家庭自動(dòng)化”的選項(xiàng)卡,并在該選項(xiàng)卡中創(chuàng)建兩個(gè)組:Office和DHT,如下所示。
現(xiàn)在,轉(zhuǎn)到Dashboard選項(xiàng)卡并將Switch節(jié)點(diǎn)拖到流部分。
現(xiàn)在,雙擊Switch節(jié)點(diǎn)來編輯它。將Switch節(jié)點(diǎn)重命名為LED。添加組名稱“Home Automation”,用于對(duì)節(jié)點(diǎn)進(jìn)行分組。
然后轉(zhuǎn)到Raspberry Pi選項(xiàng)卡,并將‘ rpi gpio out ’節(jié)點(diǎn)拖到流部分。
然后雙擊節(jié)點(diǎn),選擇GPIO18引腳,并選擇“數(shù)字輸出”作為輸出類型。
請(qǐng)按照相同的步驟添加其他交換機(jī)。
現(xiàn)在,在下一步中,添加節(jié)點(diǎn)以讀取DHT11傳感器數(shù)據(jù)。為此,轉(zhuǎn)到Common節(jié)點(diǎn)調(diào)色板并將注入節(jié)點(diǎn)拖到流中。雙擊注入節(jié)點(diǎn),然后將間隔設(shè)置為每1秒一次。
然后進(jìn)入“Raspberry Pi”頁簽,將rpi-dht22節(jié)點(diǎn)拖到流程中。
雙擊rpi-dht22節(jié)點(diǎn),然后選擇DHT11作為傳感器模塊,在引腳編號(hào)中選擇4。
現(xiàn)在,在下一步中,轉(zhuǎn)到Function選項(xiàng)卡并將兩個(gè)函數(shù)節(jié)點(diǎn)拖到流中,如下所示。
雙擊該函數(shù),將其重命名為Temperature,然后添加一行以僅獲取溫度數(shù)據(jù)。對(duì)第二個(gè)函數(shù)節(jié)點(diǎn)執(zhí)行相同的操作以獲取濕度數(shù)據(jù)。
現(xiàn)在,在下一步中,轉(zhuǎn)到Dashboard選項(xiàng)卡并將兩個(gè)量規(guī)節(jié)點(diǎn)拖到流中,如下所示。
雙擊節(jié)點(diǎn)來配置它們。您可以指定以下內(nèi)容,如下圖所示:
最后的流程看起來像這樣:
完成這些后,我們現(xiàn)在就可以部署項(xiàng)目了。單擊右上角的Deploy按鈕。
樹莓派家庭自動(dòng)化使用紅節(jié)點(diǎn)電路圖
Node-RED家庭自動(dòng)化的電路圖如下:
LED連接GPIO18引腳,繼電器的輸入引腳連接樹莓派的GPIO24引腳。dht11的數(shù)據(jù)引腳連接GPIO4。
完成后,轉(zhuǎn)到Node-RED儀表板來控制LED和燈泡。
這就是如何使用Node-RED打開樹莓派上的燈和監(jiān)控傳感器。您可以按照這些基本步驟來構(gòu)建更高級(jí)的項(xiàng)目。
本文編譯自iotdesignpro