Difference between revisions of "Transfer ODBC data from RMM to Influxdb"

From ESS-WIKI
Jump to: navigation, search
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
<span style="font-size:large;">'''Transfer ODBC data from RMM to Influxdb with Node-RED User guide'''</span>
+
<span style="font-size:large;">'''Transfer ODBC data from RMM to Influxdb with Node-RED set&nbsp;steps.'''</span>
  
  
Line 7: Line 7:
 
<span style="font-size:medium;">&nbsp;</span>
 
<span style="font-size:medium;">&nbsp;</span>
  
<span style="font-size:medium;">2.Copy&nbsp;“'''node-red-contrib-rmm3.1'''”&nbsp; folder to path: “'''C:\Program Files (x86)\Advantech\NodeRed Server\nodejs\node_modules'''”, and restart '''NodeRed service'''</span>
+
<span style="font-size:medium;">2.Copy&nbsp;“'''node-red-contrib-rmm3.1'''”&nbsp; folder to path: “'''C:\Program Files (x86)\Advantech\NodeRed Server\nodejs\node_modules'''”, and restart '''NodeRed service.'''</span>
  
 
<span style="font-size:medium;">&nbsp;</span>
 
<span style="font-size:medium;">&nbsp;</span>
  
<span style="font-size:medium;">3.Open '''node-red''' and import flow. Import flow from ""&nbsp;匯入以下flow。</span>
+
<span style="font-size:medium;">3.Open '''node-red''' and import flow from "'''NodeRed transfer ODBC to influxdb.txt'''".</span>
  
&nbsp;
 
  
[{"id":"f9570582.8b9a08","type":"ServerSetting","z":"b33839c.55bc0c8","sa_credential":"","location":{"protocol":"http:","hostname":"127.0.0.1","port":"1880"},"url":"127.0.0.1","port":"8080","encodestr":"YWRtaW4kYWRtaW4=","flag":"encode","connectype":"basic","user":"admin","x":336,"y":261,"wires":&#x5B;&#x5B;"ec1579ad.ea58b8"&#x5D;&#x5D;},{"id":"bb11585b.e07ab8","type":"inject","z":"b33839c.55bc0c8","name":"","topic":"","payload":"","payloadType":"date","repeat":"3600","crontab":"","once":false,"x":159,"y":259,"wires":&#x5B;&#x5B;"f9570582.8b9a08"&#x5D;&#x5D;},{"id":"ec1579ad.ea58b8","type":"ODBC-SensorGet","z":"b33839c.55bc0c8","deviceid":"0000000BABB4B249","x":548,"y":341,"wires":&#x5B;&#x5B;"51f5e222.eb3acc"&#x5D;&#x5D;},{"id":"51f5e222.eb3acc","type":"ODBC_Handler","z":"b33839c.55bc0c8","deviceid":"0000000BABB4B249","x":728,"y":197,"wires":&#x5B;&#x5B;"7340f73d.a94d08"&#x5D;&#x5D;},{"id":"7340f73d.a94d08","type":"function","z":"b33839c.55bc0c8","name":"Data parse For RMM3.3","func":"var msgtemp = {\"payload\":{}};\nmsg.payload = JSON.parse(msg.payload);\nvar data_set = msg.sensornum; //The number of sensor id.\nvar itemlist = msg.payload.result.itemList;\nvar data_number = msg.payload.result.totalsize;\n\nfor (i=0; i<data_number; i+=data_set)\n{\n&nbsp;&nbsp;&nbsp; for(j=i; j<i+data_set; j++)\n&nbsp;&nbsp;&nbsp; {\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var tempid = itemlist[j].sensorId;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;var array = tempid.split(\"/\");\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (array[3] == \"TIME\")\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var tempv = itemlist[j].opTS.slice(0, -4);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var n_date = covert_date(tempv);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; msgtemp.payload[\"time\"] = new Date(n_date).getTime();\n&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var tempv = itemlist[j].val;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; msgtemp.payload[tempid] = tempv;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }\n&nbsp;&nbsp;&nbsp; }\n&nbsp;&nbsp;&nbsp; node.send(msgtemp);\n&nbsp;&nbsp;&nbsp; msgtemp = {\"payload\":{}}\n}\n\nfunction covert_date(get_date)\n{\n&nbsp;&nbsp;&nbsp; var new_date = \"\";\n&nbsp;&nbsp;&nbsp; get_date = get_date.replace(/\\s+/g, \"T\");\n&nbsp;&nbsp;&nbsp; new_date = get_date + \"Z\";\n&nbsp;&nbsp;&nbsp; return new_date;\n} \n","outputs":1,"noerr":0,"x":981,"y":205,"wires":&#x5B;&#x5B;"3008bcae.c627d4","2d7a101.84d16f"&#x5D;&#x5D;},{"id":"3008bcae.c627d4","type":"influxdb out","z":"b33839c.55bc0c8","influxdb":"6f47f9fb.27d7e8","name":"ODBC_data","measurement":"ODBC","precision":"ms","retentionPolicy":"","x":1224,"y":143,"wires":[]},{"id":"2d7a101.84d16f","type":"debug","z":"b33839c.55bc0c8","name":"","active":true,"console":"false","complete":"payload","x":1206,"y":366,"wires":[]},{"id":"6f47f9fb.27d7e8","type":"influxdb","z":"","hostname":"127.0.0.1","port":"8086","protocol":"http","database":"ODBC_data","name":"","usetls":false,"tls":""}]
 
  
&nbsp;
+
<span style="font-size:medium;">4.Edit '''ServerSetting node, '''input information as below.</span>
 
 
<span style="font-size:medium;">4.Edit '''ServerSetting node, '''input below information.</span>
 
  
 
<span style="font-size:medium;">Type&nbsp;: Basic</span>
 
<span style="font-size:medium;">Type&nbsp;: Basic</span>
Line 65: Line 61:
 
<span style="font-size:medium;">7.Edit influxdb out node, input information as below. Remember&nbsp;to create influx datebase by self.</span>
 
<span style="font-size:medium;">7.Edit influxdb out node, input information as below. Remember&nbsp;to create influx datebase by self.</span>
  
<span style="font-size:medium;">Note: Time Precision must set milliseconds(ms). 需設定為Milliseconds(ms)</span>
+
<span style="font-size:medium;">Note: Time Precision must set milliseconds(ms).</span>
  
 
<span style="font-size:small;">Node-RED “influxdb out” node - 1</span>
 
<span style="font-size:small;">Node-RED “influxdb out” node - 1</span>

Latest revision as of 08:39, 17 September 2018

Transfer ODBC data from RMM to Influxdb with Node-RED set steps.


1.install “NodeRed Server IoT Gateway_v1.1.2.exe

 

2.Copy “node-red-contrib-rmm3.1”  folder to path: “C:\Program Files (x86)\Advantech\NodeRed Server\nodejs\node_modules”, and restart NodeRed service.

 

3.Open node-red and import flow from "NodeRed transfer ODBC to influxdb.txt".


4.Edit ServerSetting node, input information as below.

Type : Basic

URL: RMM server url

Username: RMM server account

Password: RMM server password

 

Node-RED “ServerSetting” node

Node-red ServerSettings.jpg



5.Edit ODBC_Handler node,input RMM Agent device id

Node-RED “ODBC_Handler” node

Node-red ODBCHandler.jpg




6.Edit ODBC-SensorGet node, input RMM Agent device id

Node-RED “ODBC_Handler” node

Node-red ODBCHandler.jpg




7.Edit influxdb out node, input information as below. Remember to create influx datebase by self.

Note: Time Precision must set milliseconds(ms).

Node-RED “influxdb out” node - 1

Node-red InfluxdbOut 1.jpg

Node-RED “influxdb out” node - 2

Node-red InfluxdbOut 2.jpg