新聞中心
PRESS CENTERNode-RED作為一種基于流式編程的開源工具,為開發(fā)者提供靈活的可視化編程方式,使得縱橫智控的EG邊緣計算網(wǎng)關(guān)能夠輕松連接各種數(shù)據(jù)源,進(jìn)行數(shù)據(jù)處理和轉(zhuǎn)換。EG邊緣計算網(wǎng)關(guān)能夠在數(shù)據(jù)生成的邊緣處對數(shù)據(jù)進(jìn)行實(shí)時采集和初步分析,減少了帶寬需求,提高了數(shù)據(jù)處理效率。還能通過各種協(xié)議(如Modbus、MQTT、OPC UA等)收集數(shù)據(jù),并對數(shù)據(jù)進(jìn)行必要的轉(zhuǎn)換和存儲。
(一、EG邊緣計算網(wǎng)關(guān)的基本功能)
EG邊緣計算網(wǎng)關(guān)在系統(tǒng)中起到數(shù)據(jù)采集和處理的中間層作用,靈活處理多個傳感器和設(shè)備的數(shù)據(jù),實(shí)時過濾和初步分析。EG邊緣計算網(wǎng)關(guān)具有以下功能:
協(xié)議轉(zhuǎn)換:支持不同設(shè)備之間的數(shù)據(jù)傳輸協(xié)議,如Modbus、OPC UA、MQTT等。
本地處理與分析:提供計算能力對數(shù)據(jù)進(jìn)行過濾、轉(zhuǎn)換和簡單分析。
數(shù)據(jù)存儲與傳輸:將處理后的數(shù)據(jù)通過網(wǎng)絡(luò)傳輸至云端或本地服務(wù)器中的數(shù)據(jù)庫。
(二、Node-RED的工作機(jī)制)
Node-RED提供了基于瀏覽器的流編輯器,用戶可以通過拖放節(jié)點(diǎn)來創(chuàng)建數(shù)據(jù)處理流程。每個節(jié)點(diǎn)具有輸入和輸出的特性,并能夠執(zhí)行特定的數(shù)據(jù)處理任務(wù)。Node-RED具有豐富的插件支持,如Modbus、MQTT、OPC UA等,使得它能夠集成多種數(shù)據(jù)源。
(三、數(shù)據(jù)采集與處理)
參考流程:通過EG網(wǎng)關(guān)定時采集從設(shè)備數(shù)據(jù),并將采集到的數(shù)據(jù)格式化為Mysql數(shù)據(jù)庫可識別的格式,上傳用戶自己的Mysql數(shù)據(jù)庫。這里以采集modbus rtu從機(jī)數(shù)據(jù)上傳為例,操作流程如下:
1.連接Mysql數(shù)據(jù)庫
首先確保安裝Msql節(jié)點(diǎn),然后在Node-RED編輯器中,添加MySQL節(jié)點(diǎn),并配置數(shù)據(jù)庫連接參數(shù),包括主機(jī)、端口、用戶名、密碼和數(shù)據(jù)庫名稱。
使用Mysql節(jié)點(diǎn)配置用戶的Mysql數(shù)據(jù)庫連接參數(shù),配置完成部署,顯示connected即連接成功。
2.采集從機(jī)數(shù)據(jù)
使用Modbus RTU數(shù)據(jù)采集
配置Modbus節(jié)點(diǎn)的主機(jī)地址和端口,并指定需要采集的數(shù)據(jù)寄存器。
創(chuàng)建一個數(shù)據(jù)采集流程,將Modbus節(jié)點(diǎn)連接到MySQL節(jié)點(diǎn)。設(shè)置定時器節(jié)點(diǎn)以定期觸發(fā)數(shù)據(jù)采集任務(wù),確保數(shù)據(jù)的實(shí)時性和準(zhǔn)確性。
3.數(shù)據(jù)格式化
數(shù)據(jù)上傳至 MySQL 數(shù)據(jù)庫時,需要根據(jù) MySQL 的要求將數(shù)據(jù)格式化為正確的 SQL 語句。使用函數(shù)計算節(jié)點(diǎn)進(jìn)行數(shù)據(jù)格式化處理,本次要轉(zhuǎn)換的數(shù)據(jù)格式如下:
Modbus節(jié)點(diǎn)輸出數(shù)據(jù)格式 | 描述 | Mysql上傳數(shù)據(jù)的SQL格式 |
{ "temp": 31.0, "hum": 45.5 } | 將左側(cè) Modbus 節(jié)點(diǎn)輸出的對象數(shù)據(jù)轉(zhuǎn)換為右側(cè) MySQL 所需的 SQL 語句 | INSERT INTO my_table (temp, hum) VALUES (25.55, 45.5); |
示例代碼:
var data = msg.payload var sql = `INSERT INTO my_table (temp, hum) VALUES(${data.temp},${data.hum});` msg.topic = sql return msg;
4.數(shù)據(jù)上傳
數(shù)據(jù)格式化完成后,連接函數(shù)計算節(jié)點(diǎn)和Mysql節(jié)點(diǎn),點(diǎn)擊注入節(jié)點(diǎn)即可實(shí)現(xiàn)數(shù)據(jù)采集上傳。測試成功可以設(shè)置注入節(jié)點(diǎn)周期性執(zhí)行,即可實(shí)現(xiàn)數(shù)據(jù)定時采集上傳Mysql數(shù)據(jù)庫。
EG邊緣計算網(wǎng)關(guān)定時采集數(shù)據(jù)并轉(zhuǎn)換成MySQL支持的格式,這一方法實(shí)現(xiàn)對大量現(xiàn)場設(shè)備數(shù)據(jù)的實(shí)時處理和長期存儲。提高了數(shù)據(jù)處理效率,能為后續(xù)的數(shù)據(jù)分析和決策提供了基礎(chǔ)。邊緣計算的引入,使數(shù)據(jù)的初步處理可以在靠近數(shù)據(jù)源的地方完成,減少了對云端計算的依賴,降低了數(shù)據(jù)傳輸?shù)难舆t和成本。
注意:如需從Mysql數(shù)據(jù)庫獲取數(shù)據(jù),也可以通過傳參SQL語句給msg.topic屬性上傳Mysql節(jié)點(diǎn),進(jìn)行數(shù)據(jù)的請求。