0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

IOT視覺化開發(fā)工具Node-RED快速上手

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-12-25 18:21 ? 次閱讀

現(xiàn)在有越來越多非專業(yè)背景但有創(chuàng)造熱誠的Maker,想要進入物聯(lián)網(wǎng)領域大展身手,但常??嘤跓o法撰寫艱深難懂的程序代碼,以及想要連接各種硬件與時下最流行的社群軟件,卻不知道如何使用開放給開發(fā)者應用的API的窘境。

沒關系!IBM發(fā)行了一套開源可視化界面開發(fā)工具- Node-RED,嗯?是不是有點眼熟?怎么跟著名的程序語言Node.js有些相似?不用擔心,即使完全不懂怎么撰寫Node.js,也能學會使用Node-RED。接下來就讓我們一起看看如何運用Node-RED吧!

大家可能會好奇,Node-RED跟Node.js怎么名字會這么像?是不是有某種關聯(lián)存在?這邊就要先從Node.js開始介紹了。Node.js是一個讀取Javascript的運行環(huán)境,可用于開發(fā)網(wǎng)頁后端程序,但是Node.js的指令是一行一行寫出來的,為了免去呼叫程序代碼麻煩,IBM的工程師開發(fā)了Node-RED來更容易地完成工作。

具體來說,每當啟動Node-RED時,背景程序便會創(chuàng)造一個服務器來處理我們輸入的指令,這時只要使用瀏覽器登入指定的IP即可進入Node-RED的編輯畫面,設定好想要的流程后,背景程序會將流程轉(zhuǎn)換成程序代碼交給Node.js環(huán)境運行。

其實在Maker圈,可視化界面開發(fā)工具已經(jīng)相當流行,特別是MIT開發(fā)的Scratch,以及Google開發(fā)的Blockly。那么,Node-RED跟這兩大視覺開發(fā)工具相比,又有什么樣的優(yōu)勢呢?

Node-RED特色

Node-RED起源于2013年IBM’s EmergingTechnology Services group的一個計劃的副產(chǎn)物,工程師Nick O’Leary和Dave Conway-Jones想用可視化界面來概念性驗證一套MQTT應用,讓Node-RED因此孕育而生。

Node-RED很快成為更加全面性的開發(fā)工具,并于2013年9月成為OpenSource,于2016年10月加入JS Foundation。(以上說明節(jié)錄自Node-RED官網(wǎng))

Node-RED提供各式的API,包括因特網(wǎng)服務,例如推特與查詢天氣、呼叫使用各式的通訊協(xié)議,例如MQTT、TCP、UDP等;在嵌入式系統(tǒng)上,Node-RED提供控制GPIO的功能,并使用MQTT或是HTTP等協(xié)議與云端做溝通,架構IOT產(chǎn)品。

讓Node-RED流行于各大網(wǎng)絡社群的理由,在于它擁有以下諸多的優(yōu)點:

1.相較于撰寫程序代碼,使用圖形化界面可更快速開發(fā)。

2.適合作為概念性應用驗證的開發(fā)工具。

3.淺顯易懂,每個API都有文字說明可供查詢。

4.具有高度擴充性,已有大量的Library、Flow、Node供人下載。

如何啟用Node-RED

想在Raspberry Pi上使用Node-RED,需先安裝Node.js運行環(huán)境,如果是使用FRED,或是IBM Bluemix使用Node-RED,則不須安裝。

安裝Node-RED:在Raspberry pi的Bash輸入「sudo npm install -g node-red」

2. 啟動Node-RED:

(1) 在Bash輸入「node-red」

(2) 在計算機上使用遠程桌面聯(lián)機(Pi須安裝xrdp),打開Linux的瀏覽器進入http://localhost:1880,即可進入Node-RED編輯頁面,這里跟Bash登入畫面一樣,輸入Pi的帳號密碼

進入編輯頁面了

實作范例

Hello Node-RED

http://noderedguide.com/node-red-lecture-2-building-your-first-flows-15/

接下來,讓我們來學習如何使用Node-RED的基本單位:Node,并使用Nodes來傳送字符串「Hello Node-Red!」來跟Node-RED打聲招呼吧!

使用左側的inject與debug接成以下的流程:

Inject node:我們使用這個Node來輸入各式的數(shù)值,舉凡變量、數(shù)字、字符串、時間常數(shù)都可以,Inject通常都是一個Flow的開頭。

Debug node:這個Node就像是示波器的探棒,會將流入此點的對象信息于右邊的Debug字段顯示出來,我們使用這個Node檢視結果是否符合預期的結果。

實作結果:左側node按下藍色的按鈕后,右側的debug欄接收到input的訊息。

2. LED燈開關

Node-RED有個很大的特色,就是可以方便地控制RaspberryPi,在這之前,呼叫GPIO都是使用Python、C語言、Java等等;而現(xiàn)在只要設定Node-RED就可以達到相同的效果,在這個流程輸入開或關的訊息,判斷式處理完后,會將1或0傳入Rpi Pin node。

(RPi node預設只有RPi的Node-RED才有)

Inject Node:我們這邊設定將”O(jiān)n"字符串輸入給Switch function。

Function Node:我們使用這個Node作為撰寫自定義函式的地方,使用的語法為Javascript,這?邊先寫一個簡單的判斷函式確認是ON或是OFF,最后將msg對象往下傳。

RPi Pin node:我們使用這個Node來設定RPi的腳位輸出,可分為數(shù)字輸出與PWM;本次做數(shù)字輸出,選擇GPIO17腳位。

Raspberry Pi3腳位圖:

實作結果:

可能遇到的錯誤

1.無法使用npm指令

Raspberry Pi尚未安裝Node.js,需先安裝Node.js才能使用npm。

2.進入0.01:1880無法顯示網(wǎng)頁?

需先在Raspberry Pi的terminal輸入node-red,啟動服務器才能登入頁面。

3.Function Node無法輸入程序代碼?

GNU/Linux內(nèi)建瀏覽器的Bug,建議使用FireFox的瀏覽器。

作者:何信昱

審核編輯:符乾江
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • IBM
    IBM
    +關注

    關注

    3

    文章

    1736

    瀏覽量

    74554
  • 應用軟件
    +關注

    關注

    0

    文章

    49

    瀏覽量

    9067
收藏 人收藏

    評論

    相關推薦

    Node-RED賦能ARMxy嵌入式計算機:開發(fā)者的首選

    引言 在工業(yè)自動化與物聯(lián)網(wǎng)(IoT)迅猛發(fā)展的今天,如何高效地管理和控制工業(yè)設備成為了眾多企業(yè)的關注焦點。Node-Red作為一種直觀且強大的可視化編程工具,憑借其低門檻、易用性強的特點,已經(jīng)成為
    的頭像 發(fā)表于 10-11 11:39 ?157次閱讀
    <b class='flag-5'>Node-RED</b>賦能ARMxy嵌入式計算機:<b class='flag-5'>開發(fā)</b>者的首選

    教程:ARMxy工業(yè)計算機上Node-RED連接本地MySQL的方法

    引言 在工業(yè)自動化和物聯(lián)網(wǎng)(IoT)應用中,實時數(shù)據(jù)的收集與分析對于優(yōu)化生產(chǎn)流程至關重要。Node-Red作為一種可視化編程工具,以其直觀的操作界面和強大的數(shù)據(jù)處理能力,成為連接各種設備與系統(tǒng)的理想
    的頭像 發(fā)表于 10-11 10:24 ?105次閱讀
    教程:ARMxy工業(yè)計算機上<b class='flag-5'>Node-RED</b>連接本地MySQL的方法

    ARM控制器與Node-Red:獲取氣象網(wǎng)站數(shù)據(jù)

    在當今工業(yè)物聯(lián)網(wǎng)(IoT)蓬勃發(fā)展的背景下,企業(yè)和開發(fā)者們不斷尋求更智能的方式來管理和控制工業(yè)設備。Node-Red作為一種強大的可視化編程工具,簡化了物聯(lián)網(wǎng)應用程序的
    的頭像 發(fā)表于 09-21 10:40 ?206次閱讀
    ARM控制器與<b class='flag-5'>Node-Red</b>:獲取氣象網(wǎng)站數(shù)據(jù)

    Node-Red可視化編程:簡化開發(fā)的創(chuàng)新之選

    Node-Red 是構建物聯(lián)網(wǎng) (IOT Internet of Things) 應用程序的一個強大工具,其重點是簡化代碼塊的“連接 ” 以執(zhí)行任務。它使用可視化編程方法,允許開發(fā)人員
    的頭像 發(fā)表于 09-21 10:37 ?165次閱讀
    <b class='flag-5'>Node-Red</b>可視化編程:簡<b class='flag-5'>化開發(fā)</b>的創(chuàng)新之選

    ARMxy ARM 物聯(lián)網(wǎng)邊緣計算網(wǎng)關支持 Node-RED 用于工業(yè)控制

    圖形化界面簡化數(shù)據(jù)處理流程的創(chuàng)建。在工業(yè) IoT 場景下,Node-RED 支持:實時數(shù)據(jù)處理與分析、減少云服務依賴、快速原型開
    的頭像 發(fā)表于 08-19 17:01 ?214次閱讀
    ARMxy ARM 物聯(lián)網(wǎng)邊緣計算網(wǎng)關支持 <b class='flag-5'>Node-RED</b> 用于工業(yè)控制

    ARMxy ARM物聯(lián)網(wǎng)邊緣計算網(wǎng)關支持Node-RED用于云邊端一體化

    解決方案的理想選擇。本文將重點介紹ARMxy ARM邊緣計算網(wǎng)關如何利用Node-RED這一開源工具,簡化物聯(lián)網(wǎng)應用的開發(fā)流程,加速數(shù)據(jù)從邊緣到云端的無縫流動,逐步引導您掌握其應用。 一、精準設備選型與配置 選擇合適的ARMxy
    的頭像 發(fā)表于 08-19 16:05 ?249次閱讀
    ARMxy ARM物聯(lián)網(wǎng)邊緣計算網(wǎng)關支持<b class='flag-5'>Node-RED</b>用于云邊端一體化

    ARMxy ARM嵌入式計算機支持Node-Red應用于Ubuntu系統(tǒng)訂閱消息

    。核心板CPU、ROM、RAM、電源、晶振等元器件均采用國產(chǎn)工業(yè)級方案,兼容Node-Red框架。本文主要介紹ARMxy邊緣計算網(wǎng)關BL340系列使用Node-Red工具與libmosquitto
    的頭像 發(fā)表于 08-16 14:23 ?218次閱讀
    ARMxy ARM嵌入式計算機支持<b class='flag-5'>Node-Red</b>應用于Ubuntu系統(tǒng)訂閱消息

    利用ARMxy邊緣計算機BL340與Node-Red實現(xiàn)LED設備的開閉控制

    者搭建了一個高效的原型開發(fā)與測試平臺。本文將帶您走進BL340系列與Node-Red的結合應用,探索如何通過這一組合控制設備執(zhí)行Linux指令,進而控制設備上的LED狀態(tài)。 一、Node-Red
    的頭像 發(fā)表于 08-15 14:12 ?178次閱讀
    利用ARMxy邊緣計算機BL340與<b class='flag-5'>Node-Red</b>實現(xiàn)LED設備的開閉控制

    使用Node-RED實現(xiàn)ModBus TCP到RTU的轉(zhuǎn)換

    ,需要將ModBusTCP數(shù)據(jù)轉(zhuǎn)換為ModBusRTU格式或者是將ModBusRTU格式轉(zhuǎn)換為ModBusTCP數(shù)據(jù)。本文將詳細介紹如何使用Node-RED來實現(xiàn)M
    的頭像 發(fā)表于 08-02 08:21 ?424次閱讀
    使用<b class='flag-5'>Node-RED</b>實現(xiàn)ModBus TCP到RTU的轉(zhuǎn)換

    Node-RED初學者教程-三分鐘學習

    通過這短短三分鐘的教程,你已經(jīng)掌握了Node-RED的基本操作。你可以利用Node-RED的強大功能來創(chuàng)建更復雜的數(shù)據(jù)流和自動化任務,無論是物聯(lián)網(wǎng)應用、API集成還是數(shù)據(jù)處理。Node-RED簡化了編程過程,讓
    的頭像 發(fā)表于 06-27 17:09 ?1975次閱讀
    <b class='flag-5'>Node-RED</b>初學者教程-三分鐘學習

    Node-RED如何制作漂亮的界面

    Node-RED深度融合(如成都的縱橫智控和蘇州穩(wěn)聯(lián)科技將Node-RED與物聯(lián)網(wǎng)網(wǎng)關深度融合,打造可視化、硬件加持的物聯(lián)網(wǎng)開發(fā)平臺,使用者無需編碼即可快速實現(xiàn)各類應用,開拓物聯(lián)網(wǎng)無
    的頭像 發(fā)表于 06-26 16:50 ?3477次閱讀
    <b class='flag-5'>Node-RED</b>如何制作漂亮的界面

    Node-RED安裝本地教程

    Node-RED是一個基于流的開發(fā)工具,廣泛應用于物聯(lián)網(wǎng)(IoT)、家庭自動化和其他數(shù)據(jù)驅(qū)動的應用程序。它通過圖形化的編程界面,使得非專業(yè)程序員也能輕松上手。本文將介紹如何在本地環(huán)境中
    的頭像 發(fā)表于 06-24 12:10 ?1491次閱讀
    <b class='flag-5'>Node-RED</b>安裝本地教程

    Node-RED實現(xiàn)電表數(shù)據(jù)采集并上云

    本案例將通過Docker容器安裝DLT-645協(xié)議插件采集實現(xiàn)電表數(shù)據(jù)上云,前面已經(jīng)講過ModbusRTU協(xié)議通過Node-RED上云,如果采用支持ModbusRTU電表可以參考之前的“Docker
    的頭像 發(fā)表于 06-07 08:21 ?2619次閱讀
    <b class='flag-5'>Node-RED</b>實現(xiàn)電表數(shù)據(jù)采集并上云

    瀏覽器網(wǎng)頁與T5L迪文屏串口深度擴展(Node-RED技術)

    ——來自迪文開發(fā)者論壇本期為大家推送一個很有創(chuàng)意的迪文開發(fā)者論壇獲獎開源案例——瀏覽器網(wǎng)頁與T5L迪文屏串口深度擴展(Node-RED技術)。工程師使用T5L智能屏,通過Node-RED
    的頭像 發(fā)表于 12-09 08:13 ?717次閱讀
    瀏覽器網(wǎng)頁與T5L迪文屏串口深度擴展(<b class='flag-5'>Node-RED</b>技術)

    IoT和IIoT應用選擇微控制器開發(fā)工具包的介紹性指南

    IoT和IIoT應用選擇微控制器開發(fā)工具包的介紹性指南
    的頭像 發(fā)表于 11-30 15:51 ?481次閱讀
    為<b class='flag-5'>IoT</b>和IIoT應用選擇微控制器<b class='flag-5'>開發(fā)工具</b>包的介紹性指南