物聯(lián)網(wǎng)控制LED使用Node.js Web服務(wù)器和樹莓派
掃描二維碼
隨時(shí)隨地手機(jī)看文章
之前我們用不同的語(yǔ)言如Python和Embedded c來(lái)控制樹莓派。在本教程中,我們使用Node.js來(lái)控制樹莓派的LED。Node.js是一個(gè)非常流行的基于javascript的環(huán)境,最初是為谷歌Chrome瀏覽器開發(fā)的,但現(xiàn)在它是開源的。這種語(yǔ)言可以運(yùn)行在各種平臺(tái)上,如Windows、Linux、Unix、Mac OS X等。
在這個(gè)項(xiàng)目中,我們將使用Pi和Node.js網(wǎng)頁(yè)來(lái)控制一個(gè)led。為此,我們將創(chuàng)建一個(gè)HTML頁(yè)面,其中有兩個(gè)按鈕,一個(gè)用于打開led,另一個(gè)用于關(guān)閉led,并創(chuàng)建一個(gè)JavaScript文件。使用這個(gè)HTML頁(yè)面,我們可以控制led使用任何web瀏覽器。
組件的要求
?覆盆子π
?LED
?電路試驗(yàn)板
?250歐姆電阻
?跳線
線路圖
Node.js Webserver Setup with Raspberry Pi
如果您還沒有安裝Node.js,請(qǐng)使用下面的命令在您的樹莓派上安裝Node.js。
成功安裝Node.js后,現(xiàn)在創(chuàng)建一個(gè)新目錄,并使用下面的命令進(jìn)入該目錄
現(xiàn)在為JavaScript代碼打開一個(gè)新文件
復(fù)制并粘貼下面給定的代碼到這個(gè)文件中
現(xiàn)在在ledwebserver目錄下創(chuàng)建另一個(gè)文件夾,并進(jìn)入該文件夾:
現(xiàn)在,在這個(gè)文件夾中打開一個(gè)新文件,創(chuàng)建一個(gè)HTML頁(yè)面:
然后,將以下HTML代碼粘貼到該文件中:
解釋HTML代碼
上面給出了使用node.js和Pi控制LED的完整代碼。下面的命令用于創(chuàng)建網(wǎng)頁(yè)的框和標(biāo)題。
這些命令用于形成兩個(gè)按鈕來(lái)打開和關(guān)閉led。
這些命令用于更改按鈕的顏色和尺寸。
在Pi中安裝Node.js包
現(xiàn)在轉(zhuǎn)到ledwebserver目錄,使用以下命令安裝Node.js包:
如果此命令顯示錯(cuò)誤,則嘗試使用其名稱安裝軟件包:
例如npm install expression, npm install rpi-gpio等。
現(xiàn)在,在安裝完所有包之后,運(yùn)行JavaScript代碼:
如果它成功連接到服務(wù)器,那么你的pi終端應(yīng)該是這樣的:
現(xiàn)在,導(dǎo)航到瀏覽器并使用192.168.1.31:3000搜索web頁(yè)面。其中192.168.1.31是Pi的IP地址,您應(yīng)該將其替換為Pi的IP地址,3000是端口號(hào)。
因此,我們使用Node.js和樹莓派成功地控制了LED。此外,查看我們使用樹莓派的其他物聯(lián)網(wǎng)項(xiàng)目:
?基于物聯(lián)網(wǎng)的樹莓派云相機(jī):流視頻從樹莓派相機(jī)到云
?如何將樹莓派與粒子云連接起來(lái)用于物聯(lián)網(wǎng)應(yīng)用
?基于物聯(lián)網(wǎng)的LED控制使用ARTIK云和樹莓派
?基于物聯(lián)網(wǎng)的家用電器控制與Adafruit IO和樹莓派
?控制樹莓派GPIO與Adafruit IO觸發(fā)一個(gè)LED
本文編譯自iotdesignpro