• 正文
  • 推薦器件
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

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

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

本案例將通過Docker容器安裝DLT-645協(xié)議插件采集實(shí)現(xiàn)電表數(shù)據(jù)上云,前面已經(jīng)講過Modbus RTU協(xié)議通過Node -RED上云,如果采用支持Modbus RTU電表可以參考之前的“Docker容器實(shí)現(xiàn)邊緣采集”。

首先需要搭建Node-RED運(yùn)行環(huán)境,可以參考以往案例,也可以直接百度搜索,接下來的部分都是在搭建好環(huán)境的基礎(chǔ)上進(jìn)行。

安裝插件

打開“菜單”選擇“節(jié)點(diǎn)管理”在點(diǎn)擊控制板,選擇“安裝”;

搜索插件“node-red-contrib-meter-works”,點(diǎn)擊安裝即可,該插件由Node-RED社區(qū)的三方開發(fā)者制作的免費(fèi)插件,具體功能以及使用說明建議自行查看(https://flows.nodered.org/node/node-red-contrib-meter-works);

創(chuàng)建“流程”

這次使用MQTT服務(wù)器來轉(zhuǎn)發(fā)數(shù)據(jù),Node-RED內(nèi)置MQTT3.1.1協(xié)議可以快速接入云服務(wù)器,創(chuàng)建一個(gè)“MQTT IN”節(jié)點(diǎn)用于接收平臺(tái)請求數(shù)據(jù);

上圖“2”為添加一個(gè)MQTT連接(通過EMQX搭建的私有服務(wù)器,使用阿里云、ONENET等支持標(biāo)準(zhǔn)MQTT3.1.1服務(wù)器與此處類似);

以阿里云為例演示如何配置標(biāo)準(zhǔn)MQTT3.1.1服務(wù)連接方法。

登錄阿里云查詢?nèi)兀?/p>

填入上面查詢得到的三要素;

查詢或定義用于測試的Topic,也可以使用標(biāo)準(zhǔn)物模型的訂閱發(fā)布Topic,如果使用標(biāo)準(zhǔn)物模型需要加入編解碼過程,筆者這里先不講,大家可以自己先研究下,只需要使用一個(gè)節(jié)點(diǎn)一個(gè)腳本即可實(shí)現(xiàn);

配置訂閱地址(也就是剛才選擇的MQTT IN節(jié)點(diǎn)):

點(diǎn)擊部署,連接成功后于節(jié)點(diǎn)下方會(huì)提示“已連接”代表設(shè)備連接服務(wù)器成功,并成功訂閱;

code_meter(DLT654查詢節(jié)點(diǎn))采用固定查詢方式,為了實(shí)現(xiàn)不同的數(shù)據(jù)查詢引入“SWITCH”節(jié)點(diǎn),如若使用阿里云標(biāo)準(zhǔn)物模型就可以在“SWITCH”節(jié)點(diǎn)前加入“function”節(jié)點(diǎn)實(shí)現(xiàn)數(shù)據(jù)的解碼;

筆者為了演示方便直接使用服務(wù)器下發(fā)“1”“2”“3”“4”分別代表查詢“正向有功功率”“當(dāng)前電壓”“當(dāng)前電流”“當(dāng)前功率”;

配置code_meter節(jié)點(diǎn)的表號(hào)和功能碼,按照相同方法配置“當(dāng)前電壓”“當(dāng)前電流”“當(dāng)前功率”;

DLT645是一個(gè)用于串口的收發(fā)協(xié)議,筆者暫時(shí)沒有測試過Node-RED直接驅(qū)動(dòng)串口節(jié)點(diǎn)(node-red-node-serialport),并且搭建Node-RED的USB被之前搭建的3D打印機(jī)(Kilpper)占用,不想調(diào)試參數(shù),這里就使用串口服務(wù)器來轉(zhuǎn)發(fā)數(shù)據(jù),添加網(wǎng)絡(luò)節(jié)點(diǎn)“tcp out”;

根據(jù)配置的服務(wù)器參數(shù)配置串口服務(wù)器網(wǎng)絡(luò)參數(shù)和串口參數(shù),DDSU666電表默認(rèn)采用2400-8O1,將串口服務(wù)器的串口參數(shù)與電表一致;

至此已經(jīng)完成指令發(fā)送的全部過程,如下所示。

接下來處理電表返回?cái)?shù)據(jù),配置“tcp in”節(jié)點(diǎn)采集串口服務(wù)器返回?cái)?shù)據(jù);

添加“decode_meter”節(jié)點(diǎn)解析電表返回參數(shù);

配置發(fā)布地址用于向服務(wù)器返回采集數(shù)據(jù),一圖為自建MQTT服務(wù)器,二圖為阿里云MQTT服務(wù)器;

至此就完成了Node-RED服務(wù)器采集DLT645電表全部流程。

測試演示

自建服務(wù)器查詢當(dāng)前電壓,利用MQTTX連接服務(wù)器,向Node-RED訂閱地址“DLT645SUB”發(fā)送數(shù)據(jù)2,就會(huì)從Node-RED發(fā)布地址“DLT645PUB”收到當(dāng)前電壓值,發(fā)送其他指令代碼也會(huì)收到對(duì)應(yīng)數(shù)據(jù);

利用阿里云查詢“當(dāng)前電壓”,利用云服務(wù)器調(diào)試接口向“/a1iJTfIclao/DEV01/user/get”Node-RED訂閱地址發(fā)送數(shù)據(jù)2,就會(huì)從Node-REN發(fā)布地址“/a1iJTfIclao/DEV01/user/test”收到當(dāng)前電壓值,發(fā)送其他指令代碼也會(huì)收到對(duì)應(yīng)數(shù)據(jù);

查詢MQTT日志,電表返回?cái)?shù)據(jù)成功傳輸?shù)椒?wù)器;

如果采用物模型就可以利用阿里云的提供的安卓軟件“云智能”查看DDSU666的采集的參數(shù)。

產(chǎn)品推薦

E870-G1邊緣計(jì)算網(wǎng)關(guān)是基于億佰特自行研發(fā)的通訊協(xié)議《億佰特云設(shè)備通訊協(xié)議》開發(fā)的以太網(wǎng)/4G邊緣采集云網(wǎng)關(guān),可通過服務(wù)器下發(fā)指令到設(shè)備達(dá)到控制或采集功能;可采集500個(gè)邊緣數(shù)據(jù)點(diǎn)。設(shè)備上支持多種協(xié)議(TCP、UDP、MQTT)接入服務(wù)器,支持心跳包、注冊包設(shè)置;同時(shí)該產(chǎn)品支持多種配置方式,支持網(wǎng)頁平臺(tái);采用工業(yè)級(jí)設(shè)計(jì)標(biāo)準(zhǔn),保證設(shè)備的高可靠性。

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
LAN8720AI-CP-TR-ABC 1 Microchip Technology Inc Ethernet Transceiver

ECAD模型

下載ECAD模型
暫無數(shù)據(jù) 查看
TJA1052IT/5Y 1 NXP Semiconductors TJA1052i - Galvanically isolated high-speed CAN transceiver SOP 16-Pin

ECAD模型

下載ECAD模型
$7.84 查看
KSZ8895MLXI 1 Microchip Technology Inc DATACOM, ETHERNET TRANSCEIVER
暫無數(shù)據(jù) 查看

相關(guān)推薦