www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 物聯(lián)網(wǎng) > IoT設(shè)計(jì)分享
[導(dǎo)讀]Node-RED是一個(gè)非程序員使用物聯(lián)網(wǎng)的可視化工具,它可以用來(lái)更快地構(gòu)建應(yīng)用程序,減少物聯(lián)網(wǎng)產(chǎn)品的“上市”時(shí)間。Node-RED可以以新穎有趣的方式輕松地將硬件設(shè)備、api和其他在線服務(wù)連接在一起。Node-RED是一個(gè)開源物聯(lián)網(wǎng)工具,由IBM新興技術(shù)組織實(shí)施。它是用JavaScript編寫的,在NodeJS平臺(tái)上工作。

Node-RED是一個(gè)非程序員使用物聯(lián)網(wǎng)的可視化工具,它可以用來(lái)更快地構(gòu)建應(yīng)用程序,減少物聯(lián)網(wǎng)產(chǎn)品的“上市”時(shí)間。Node-RED可以以新穎有趣的方式輕松地將硬件設(shè)備、api和其他在線服務(wù)連接在一起。Node-RED是一個(gè)開源物聯(lián)網(wǎng)工具,由IBM新興技術(shù)組織實(shí)施。它是用JavaScript編寫的,在NodeJS平臺(tái)上工作。

Node-RED以基于模塊的方式運(yùn)行,其中預(yù)定義的模塊以圖形方式連接以執(zhí)行Node-RED上的操作序列,或者換句話說(shuō),它直接訪問(wèn)來(lái)自Arduino,樹莓派等微控制器板的數(shù)據(jù),使用預(yù)定義的端口號(hào)?;蜾N。在本教程中,我們將使用Arduino將DHT11傳感器讀數(shù)發(fā)送到Node-RED儀表板。同樣,我們也將Arduino與ThingSpeak連接起來(lái),設(shè)計(jì)了一個(gè)氣象站。

在本教程中,我們將只關(guān)注Arduino和Node-RED。在本教程中,我們將介紹如何在windows上安裝和設(shè)置Node-RED。然后,我們還將在Node-RED上設(shè)計(jì)一個(gè)儀表板,并使用不同的輸入、輸出和功能節(jié)點(diǎn)來(lái)創(chuàng)建流。

組件的要求

硬件組件

?Arduino Uno

?DHT11傳感器

?跳線

軟件應(yīng)用程序和在線服務(wù)

?Arduino IDE

?node . js

?Node-RED

線路圖

DHT11傳感器與Arduino接口的電路圖如下所示,原理圖是使用Fritzing軟件繪制的。

DHT11是一款流行的3針傳感器,可以測(cè)量溫度和濕度。該傳感器采用單線協(xié)議,易于與Arduino等開發(fā)板一起使用。DHT11的Vcc引腳與Arduino的3.3v引腳連接,GND引腳與Arduino的GND引腳連接。而數(shù)據(jù)引腳與Arduino的2號(hào)引腳連接。連接完成后,我的硬件是這樣的。

正如你所看到的,我已經(jīng)使用了簡(jiǎn)單的雌性到雄性的連接線來(lái)進(jìn)行連接。完整的設(shè)置是由連接到我的電腦的USB端口供電。我們之前將DHT11與Arduino連接,構(gòu)建物聯(lián)網(wǎng)氣象站。

代碼的解釋

Arduino Node-RED的完整程序可以在本教程的末尾找到。為這個(gè)項(xiàng)目編程Arduino UNO不需要太多的努力,因?yàn)樗皇褂靡粋€(gè)DHT傳感器庫(kù)。Arduino板必須測(cè)量來(lái)自DHT11傳感器的溫度和濕度值,并使用COM端口串行發(fā)送。該串行信息隨后將由Node-RED進(jìn)行處理。

因此,通過(guò)初始化所需的庫(kù)、Arduino引腳和變量來(lái)開始編程。

string函數(shù)用于將float變量轉(zhuǎn)換為字符串。這里可變的溫度和濕度被轉(zhuǎn)換成字符串。

在void loop()中,dht11傳感器計(jì)算溫度和濕度值并分別存儲(chǔ)為temp和hum變量。串行打印用于在串行監(jiān)視器上打印溫度和濕度值。

將Arduino與筆記本電腦連接,正確選擇主板和端口,然后點(diǎn)擊Upload按鈕。上傳代碼后,打開串口監(jiān)視器。設(shè)置串口顯示器的波特率為9600。

設(shè)置Node-RED

1. 安裝node . js

從Node.js官方主頁(yè)下載最新版本的Node.js。在撰寫本教程時(shí),可用的版本是10.16.0。下載完成后,運(yùn)行下載的MSI文件,在默認(rèn)路徑下安裝Node.js。

安裝完成后,打開命令提示符并運(yùn)行以下命令,以確保Node.js和npm已正確安裝。

您應(yīng)該會(huì)收到包含我們的包的版本號(hào)的返回輸出。我的是這樣的。

2. 安裝Node-RED

要在系統(tǒng)上安裝Node-RED,請(qǐng)?jiān)诿钐崾痉逻\(yùn)行以下命令:

Node-RED沒(méi)有預(yù)先安裝Arduino、Serial Port和Dashboard的節(jié)點(diǎn)。因此,使用以下命令安裝這些節(jié)點(diǎn):

?安裝Arduino節(jié)點(diǎn)

?安裝串口節(jié)點(diǎn)

?安裝Dashboard節(jié)點(diǎn)

3. 運(yùn)行Node-RED

安裝完成后,在命令提示符中使用以下命令運(yùn)行node-red:

將本地服務(wù)器鏈接復(fù)制到您的瀏覽器以訪問(wèn)Node-RED。您應(yīng)該看到如下所示的窗口,在桌面上顯示節(jié)點(diǎn)紅色啟動(dòng)。

?節(jié)點(diǎn)庫(kù)是節(jié)點(diǎn)的列表,這些節(jié)點(diǎn)代表與設(shè)備相關(guān)的硬件、協(xié)議和軟件特性

?電流流或流是節(jié)點(diǎn)連接在一起以創(chuàng)建程序的地方

?調(diào)試控制臺(tái)就像Arduino串行監(jiān)視器一樣,可以提供值

?部署按鈕用于將流上傳到目標(biāo)硬件

?信息控制臺(tái)提供關(guān)于突出顯示/選定對(duì)象的信息

在Node-RED中創(chuàng)建流

要開始,請(qǐng)將輸入Serial節(jié)點(diǎn)拖到流部分中

現(xiàn)在編輯,雙擊節(jié)點(diǎn),彈出窗口將打開。在該窗口中,輸入連接Arduino的串口,在波特率部分選擇9600。

在此之后,向下滾動(dòng)節(jié)點(diǎn)調(diào)色板并將兩個(gè)Function節(jié)點(diǎn)拖到流部分,一個(gè)用于溫度,另一個(gè)用于濕度。

雙擊第一個(gè)函數(shù),輸入它的名稱和程序。

這個(gè)函數(shù)的Java代碼如下:

Node-RED從串行監(jiān)視器接收ASCII碼格式的濕度和溫度值。要在Node-RED Dashboard上顯示這些值,我們需要將ASCII代碼轉(zhuǎn)換為實(shí)際值。因此,要做到這一點(diǎn),上面使用java程序。在這個(gè)程序中,除小數(shù)點(diǎn)和逗號(hào)外,每個(gè)ASCII碼都減去48。

在Temp函數(shù)之后,現(xiàn)在雙擊第二個(gè)函數(shù):

該函數(shù)的Java代碼如下:

如上所述,該程序用于將濕度值從ASCII碼格式更改為實(shí)際值。完成溫度和濕度功能后,向下滾動(dòng)并將兩個(gè)Debug節(jié)點(diǎn)拖到流程部分。

要設(shè)計(jì)Dashboard,請(qǐng)向下滾動(dòng)節(jié)點(diǎn)調(diào)色板到Dashboard,并將兩個(gè)Gauge拖到Temperature和humidity的flow部分。

最后的流程是這樣的

通過(guò)將以下代碼導(dǎo)入到Node-RED服務(wù)器,您可以直接在Node-RED服務(wù)器上創(chuàng)建此流。

為此,單擊菜單按鈕,然后單擊Import ->剪貼板。在剪貼板窗口中,粘貼下面給出的代碼。

Node-RED代碼

現(xiàn)在可以部署流了。我們可以使用deploy按鈕在Node-RED上部署流。

要訪問(wèn)Node-RED儀表板,請(qǐng)?jiān)跒g覽器中復(fù)制鏈接。Node-RED儀表盤看起來(lái)像這樣:

通過(guò)在你的路由器轉(zhuǎn)發(fā)端口,這個(gè)網(wǎng)頁(yè)可以從互聯(lián)網(wǎng)上的任何地方訪問(wèn)。這就是Node-RED如何用于圖形化編程和構(gòu)建基于物聯(lián)網(wǎng)的應(yīng)用程序。

本文編譯自iotdesignpro

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀
關(guān)閉