本案例將通過(guò)Docker容器安裝DLT-645協(xié)議插件采集實(shí)現(xiàn)電表數(shù)據(jù)上云,我們講過(guò)Modbus RTU協(xié)議通過(guò)Node -RED上云,如果采用支持Modbus RTU電表可以參考之前的“Docker容器實(shí)現(xiàn)邊緣采集”。
首先需要搭建Node-RED運(yùn)行環(huán)境,可以參考以往案例,也可以直接百度搜索,接下來(lái)的部分都是在搭建好環(huán)境的基礎(chǔ)上進(jìn)行。
打開(kāi)“菜單”選擇“節(jié)點(diǎn)管理”在點(diǎn)擊控制板,選擇“安裝”;
搜索插件“node-red-contrib-meter-works”,點(diǎn)擊安裝即可,該插件由Node-RED社區(qū)的三方開(kāi)發(fā)者制作的免費(fèi)插件,具體功能以及使用說(shuō)明建議自行查看(https://flows.nodered.org/node/node-red-contrib-meter-works);
這次使用MQTT服務(wù)器來(lái)轉(zhuǎn)發(fā)數(shù)據(jù),Node-RED內(nèi)置MQTT3.1.1協(xié)議可以快速接入云服務(wù)器,創(chuàng)建一個(gè)“MQTT IN”節(jié)點(diǎn)用于接收平臺(tái)請(qǐng)求數(shù)據(jù);
上圖“2”為添加一個(gè)MQTT連接(通過(guò)EMQX搭建的私有服務(wù)器,使用阿里云、ONENET等支持標(biāo)準(zhǔn)MQTT3.1.1服務(wù)器與此處類似),
已阿里云為例演示如何配置標(biāo)準(zhǔn)MQTT3.1.1服務(wù)連接方法;
登錄阿里云查詢?nèi)兀?/span>
填入上面查詢得到的MQTT三要素;
查詢或定義用于測(cè)試的Topic,也可以使用標(biāo)準(zhǔn)物模型的訂閱發(fā)布Topic,如果使用標(biāo)準(zhǔn)物模型需要加入編解碼過(guò)程,我這里先不講,你們可以自己先研究下,只需要使用一個(gè)節(jié)點(diǎn)一個(gè)腳本即可實(shí)現(xiàn);
注:E870-G1邊緣計(jì)算網(wǎng)關(guān)是基于億佰特自行研發(fā)的通訊協(xié)議《億佰特云設(shè)備通訊協(xié)議》開(kāi)發(fā)的以太網(wǎng)/4G邊緣采集云網(wǎng)關(guān),可通過(guò)服務(wù)器下發(fā)指令到設(shè)備達(dá)到控制或采集功能;可采集500個(gè)邊緣數(shù)據(jù)點(diǎn)。設(shè)備上支持多種協(xié)議(TCP、UDP、MQTT)接入服務(wù)器,支持心跳包、注冊(cè)包設(shè)置;同時(shí)該產(chǎn)品支持多種配置方式,支持網(wǎng)頁(yè)平臺(tái);采用工業(yè)級(jí)設(shè)計(jì)標(biāo)準(zhǔn),保證設(shè)備的高可靠性。
配置訂閱地址(也就是剛才選擇的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協(xié)議是一個(gè)用于串口的收發(fā)協(xié)議,筆者暫時(shí)沒(méi)有測(cè)試過(guò)Node-RED直接驅(qū)動(dòng)串口節(jié)點(diǎn)(node-red-node-serialport),并且搭建Node-RED的USB被之前搭建的3D打印機(jī)(Kilpper)占用,不想調(diào)試參數(shù),這里就使用串口服務(wù)器來(lái)轉(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ù)的串口參數(shù)與電表一致;
至此已經(jīng)完成指令發(fā)送的全部過(guò)程,如下所示;
接下來(lái)處理電表返回?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ù);
今天的分享就到這里啦,EBYTE每一天都致力于更好的助力物聯(lián)化、智能化、自動(dòng)化的發(fā)展,提升資源利用率,更多產(chǎn)品更多資料,感興趣的小伙伴可以登錄我們的億佰特官網(wǎng)和企業(yè)公眾號(hào)(微信號(hào):cdebyte)進(jìn)行了解,也可以直接撥打400電話咨詢技術(shù)專員!
7 X 24 銷售服務(wù)熱線
4000-330-990深圳辦事處柯經(jīng)理:18218726658 杭州辦事處戴經(jīng)理:17512568697
常州辦事處崔經(jīng)理:15906110783 南京辦事處葛經(jīng)理:17626012283
業(yè)務(wù)郵箱:support@cdebyte.com
全國(guó)銷售投訴電話:19934352316
地址:四川省成都市高新西區(qū)西區(qū)大道199號(hào)B5棟(前臺(tái)座機(jī):028-61543675)
?? 成都億佰特電子科技有限公司【版權(quán)所有】 蜀ICP備13019384號(hào)-3