色猫咪av在线网址_91精品国产福利在线观看雪梨还会玩转热点_丁香花的视频免费观看_国产手机在线A∨免费视频_十八禁av无码免费网站APP_综合色一区二区亚洲_日韩精品小电影_漂亮人妻熟睡中被公侵犯_全新成人高清无码片_高级厕所偷窥白领美女嘘嘘

當(dāng)前位置: 首頁(yè) >應(yīng)用方案 >技術(shù)應(yīng)用 >

Node-RED聯(lián)動(dòng)云平臺(tái)物模型實(shí)現(xiàn)電表數(shù)據(jù)上報(bào)教程

因?yàn)槠颍覀儗ode-RED聯(lián)動(dòng)云平臺(tái)物模型實(shí)現(xiàn)電表數(shù)據(jù)上報(bào)教程分為了三段,前文撰寫的《Node-RED聯(lián)動(dòng)ONENET云平臺(tái)物模型的應(yīng)用教程》、《阿里云物模型的應(yīng)用教程》兩篇文章中介紹了什么是物模型、ONENET物模型的使用以及阿里云物模型的使用教程。本文將重點(diǎn)介紹Node-RED聯(lián)動(dòng)云平臺(tái)物模型實(shí)現(xiàn)電表數(shù)據(jù)上報(bào)過程的案例教程,

DDSU666電表數(shù)據(jù)上報(bào)步驟


Node-RED實(shí)現(xiàn)電表數(shù)據(jù)上云》一文中使用Node-RED通過“MQTT節(jié)點(diǎn)”并利用“自定義topic”將透明報(bào)文數(shù)據(jù)傳輸至服務(wù)器實(shí)現(xiàn)了電表數(shù)據(jù)上云,通過自定義topic的方式連接服務(wù)器,無法使用平臺(tái)的其他開發(fā)工具,通過前面對(duì)阿里云與中移物聯(lián)網(wǎng)的物聯(lián)網(wǎng)平臺(tái)的物模型進(jìn)行報(bào)文分析,接下來就手把手教大家使用物模型連接DDSU電表;

1、物模型如何鏈接DDSU666電表

下圖為《Node-RED實(shí)現(xiàn)電表數(shù)據(jù)上云》的系統(tǒng)框架,接下來就在此基礎(chǔ)上添加JSON報(bào)文解析和報(bào)文組合就可以實(shí)現(xiàn)物模型控制;

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

按照阿里云物模型使用”提供方法在定義“正向有功總功率”“當(dāng)前電壓”“當(dāng)前電流”“當(dāng)前功率”“查詢代碼”五條屬性(查詢代碼采用枚舉,其余需要使用浮點(diǎn)值),之后就是在“阿里云查詢”節(jié)點(diǎn)后添加兩個(gè)函數(shù)節(jié)點(diǎn),分別用于提取平臺(tái)查詢代碼和查詢代碼保存(后續(xù)上報(bào)時(shí)需要用到);

Node-RED實(shí)現(xiàn)電表數(shù)據(jù)上云1

函數(shù)(提取查詢代碼)1

msg.payload = msg.payload.params.Query_code;

return msg;

函數(shù)(保存查詢代碼)2

var QueryCode=0;

flow.set("QueryCode", msg.payload);

return QueryCode;

以上步驟就可以完成阿里云平臺(tái)下發(fā)的配置指令解析,隨后和之前一樣,通過查詢碼,查詢電表數(shù)據(jù);

查詢電表數(shù)據(jù)

“電表解析”完成后,增加函數(shù)節(jié)點(diǎn),組合JSON報(bào)文;

電表解析

函數(shù)(ALIYUN報(bào)文配置)3

var cache={"id":"123","version":"1.0","params":{},"method":"thing.event.property.post"};

cache.id = String(Date.parse(new Date())/1000); //id數(shù)據(jù)用時(shí)間戳替換

var QueryCode=flow.get('QueryCode') || 0;

switch (QueryCode){

   case 1:

       cache.params.P = parseFloat(msg.payload);

       break;

   case 2:

       cache.params.V = parseFloat(msg.payload);

       break;

   case 3:

       cache.params.I = parseFloat(msg.payload);

       break;

   case 4:

       cache.params.p = parseFloat(msg.payload);

       break;

}

msg.payload=cache;

return msg;

調(diào)整“阿里云查詢”“阿里云上報(bào)”的地址:

阿里云查詢(屬性設(shè)置):/sys/a1iJTfIclao/DEV01/thing/service/property/set

阿里云查詢

阿里云上報(bào)(屬性上報(bào)):/sys/a1iJTfIclao/DEV01/thing/event/property/post

阿里云上報(bào)

和阿里云一樣的方法定義五個(gè)屬性,分別為“正向有功總電能”“當(dāng)前電壓”“當(dāng)前電流”“當(dāng)前功率”“查詢代碼”

阿里云定義3

添加mqtt in”節(jié)點(diǎn)、“函數(shù)”(返回報(bào)文)、“mqtt out”節(jié)點(diǎn);

阿里云定義4


函數(shù)(返回報(bào)文),需要id一致:

var msg_cache = {"id":"1","code":200,"msg":"success"};

msg_cache.id=msg.payload.id;

msg.payload=msg_cache;

return msg;

阿里云定義5

解析過程與阿里云同步,調(diào)整函數(shù)(ONENET報(bào)文配置):

var cache={"id":"123","version":"1.0","params":{}};

cache.id = String(Date.parse(new Date())/1000);//id數(shù)據(jù)用時(shí)間戳替換

var QueryCode=flow.get('QueryCode') || 0;

switch (QueryCode){

   case 1:

       cache.params.P={};

       cache.params.P.value = parseFloat(msg.payload);

       cache.params.P.time = Date.parse(new Date());//上傳時(shí)間錯(cuò)

       break;

   case 2:

       cache.params.V={};

       cache.params.V.value = parseFloat(msg.payload);

       cache.params.V.time = Date.parse(new Date());

       break;

   case 3:

       cache.params.I={};

       cache.params.V.value = parseFloat(msg.payload);

       cache.params.I.time = Date.parse(new Date());

       break;

   case 4:

       cache.params.p={};

       cache.params.V.value = parseFloat(msg.payload);

       cache.params.p.time = Date.parse(new Date());

       break;

}

msg.payload=cache;

return msg;

ONENET查詢(屬性設(shè)置)$sys/QpUi02FdgF/220220069406/thing/property/set

實(shí)現(xiàn)電表數(shù)據(jù)上報(bào)教程1

返回接收成功(屬性設(shè)置響應(yīng)):$sys/QpUi02FdgF/220220069406/thing/property/set_reply

實(shí)現(xiàn)電表數(shù)據(jù)上報(bào)教程2

ONENET上報(bào)(屬性上報(bào)):$sys/QpUi02FdgF/220220069406/thing/property/post

實(shí)現(xiàn)電表數(shù)據(jù)上報(bào)教程3

至此就成功將DDSU666電表連接到阿里云與中移物聯(lián)網(wǎng)。

實(shí)現(xiàn)電表數(shù)據(jù)上報(bào)教程4

2、電表數(shù)據(jù)查詢

ONENET調(diào)試窗口查詢電表數(shù)據(jù);

實(shí)現(xiàn)電表數(shù)據(jù)上報(bào)教程5

ALIYUN調(diào)試窗口查詢電表數(shù)據(jù);

實(shí)現(xiàn)電表數(shù)據(jù)上報(bào)教程6

好了,今天的分享就到這里啦,EBYTE每一天都致力于更好的助力物聯(lián)化、智能化、自動(dòng)化的發(fā)展,提升資源利用率,更多產(chǎn)品更多資料,感興趣的小伙伴可以登錄我們的億佰特官網(wǎng)進(jìn)行了解,也可以直接撥打400電話咨詢技術(shù)專員!


4000-330-990

https://www.wjx.cn/jq/84863372.aspx