WISE-PaaS/2.0 Protocol
From ESS-WIKI
Revision as of 05:50, 4 June 2018 by Eric.liang (talk | contribs)
Contents
Overview
- Introduction for "EI-Agent to WISE-PaaS-2.0 communication protocol". WISEAgent communication protocol is base on standard MQTT protocol. We also define Advantech IoT Topic and message in JSON format. Follow standard to design our [Sensor Format in JSON ] EI-Agent Protocol
Protocol
Connect
- Description: Agent Client sends the "Connect Info" to WISE-PaaS-2.0 Server for on-line notification.
- Type: Info
- Direction: Agent -> Server
- Topic: /wisepaas/device/00000001-0000-0000-0000-001077C25002/agentinfoack
- QoS: 0
- Retained: 0
- Payload:
{ "content": { "parentID": "00000001-0000-0000-8888-0034115521a4", "hostname": "ESL-Tag-5002", "sn": "0000001077C25002", "mac": "0000001077C25002", "version": "1.0.7.252316989", "type": "SenHub", "product": "ESL-Tag", "manufacture": "", "account": "", "passwd": "", "status": 1, "tag": "ESL" }, "commCmd": 1, "agentID": "00000001-0000-0000-0000-001077C25002", "handlerName": "SenHub", "sendTS": { "$date": 1513232002117 } }
OS Info
- Description: Agent Client sends the OS Info" to RMM Server for device OS information.
- Type: Info
- Direction: Agent -> Server
- Topic: /wisepaas/RMM/00000001-0000-0000-0000-999BAB6F4000/agentactionack
- QoS: 0
- Retained: 0
- Payload:
{ "content": { "cagentVersion": "1.0.6.0", "cagentType": "IPC", "osVersion": "Windows Embedded Standard", "biosVersion": "V1.10", "platformName": "ARK-DS762", "processorName": "Intel(R) Core(TM) i7-3610QE CPU @ 2.30GHz", "osArch": "X64", "totalPhysMemKB": 1973544, "macs": "00:0B:AB:6F:37:52", "IP": "172.22.12.84" }, "commCmd": 116, "agentID": "00000001-0000-0000-0000-999BAB6F4000", "handlerName": "general", "sendTS": { "$date": 1510044371812 } }
Disconnect
- Description: Agent Client sends the "Disconnect Info" to Server for off-line notification.
- Type: Info
- Direction: Agent -> Server
- Topic: /wisepaas/device/00000001-0000-0000-0000-001077C25002/agentinfoack
- QoS: 0
- Retained: 0
- Payload:
{ "content": { "parentID": "00000001-0000-0000-8888-0034115521a4", "hostname": "ESL-Tag-5002", "sn": "0000001077C25002", "mac": "0000001077C25002", "version": "1.0.7.252316989", "type": "SenHub", "product": "ESL-Tag", "manufacture": "", "account": "", "passwd": "", "status": 0, "tag": "ESL" }, "commCmd": 1, "agentID": "00000001-0000-0000-0000-001077C25002", "handlerName": "SenHub", "sendTS": { "$date": 1513232002117 } }
Will Message
- Description: While Client lost connection or keep-alive timeout, the will message will send to the client that subscribe the topic
- Type: Info
- Direction: Agent -> Broker
- Topic: /wisepaas/device/00000001-0000-0000-0000-999BAB6F4000/willmessage
- QoS: 0
- Retained: 0
- Payload:
{ "content": { "parentID": "", "hostname": "chihyu-PC", "sn": "000BAB578433", "mac": "000BAB6F3752", "version": "1.0.6.0", "type": "IPC", "product": "", "manufacture": "", "account": "", "passwd": "", "status": 0, "tag": "RMM" }, "commCmd": 1, "agentID": "00000001-0000-0000-0000-999BAB6F4000", "handlerName": "general", "sendTS": { "$date": 1510044370561 } }
Info or Update Device's Capability
- Description: Agent will send it's capability to Server for description all resource.
- Type: Auto update
- Direction: Agent-> Server
- Topic: /wisepaas/RMM/00000001-0000-0000-0000-999BAB6F4000/agentactionack
- QoS: 0
- Retained: 0
- Payload:
Example: HDD PMQ Capability
{ "content": { "HDD_PMQ": { "info": { "bn": "info", "e": [{"n": "type","sv": "PMQ","asm": "r"},{"n": "name","sv": "HDD_PMQ","asm": "r"},{"n": "description","sv": "This service is HDD PMQ Service","asm": "r"}, {"n": "version","sv": "1.0.2","asm": "r"},{"n": "confidence level","v": 83.12,"asm": "r","u": "%"},{"n": "update","sv": null,"asm": "rw"}, {"n": "eventNotify","bv": true,"asm": "r"}] }, "action": { "bn": "action", "e": [{"n": "a1","bv": false,"asm": "r","msg": "Lower system temperature ( < 40 Celsius )."},{"n": "a2","bv": false,"asm": "r","msg": "Backup data to new disk."}, {"n": "a3","bv": false,"asm": "r","msg": "Check power source."},{"n": "ActionLog","sv": null,"asm": "r"}] }, "param": { "bn": "param", "e": [{"n": "report interval","v": 60,"max": 3600,"min": 10,"asm": "rw","u": "sec"},{"n": "enable report","bv": true,"asm": "rw"}] }, "opTS": { "$date": 1510044371815 } } }, "commCmd": 2052, "agentID": "00000001-0000-0000-0000-999BAB6F4000", "handlerName": "general", "sendTS": { "$date": 1510044371815 } }
Auto Update Data Value
- Description: Agent will update latest value to server.
- Type: Auto update
- Direction: Agent-> Server
- Topic: /wisepaas/device/00000001-0000-0000-0000-999BAB6F4000/devinfoack
- QoS: 0
- Retained: 0
- Payload:
{ "content": { "HDD_PMQ": { "info": { "bn": "info", "e": [{"n": "version","sv": "1.0.2"},{"n": "confidence level","v": 89.6,"asm": "r","u": "%"}] }, "param": { "bn": "param", "e": [{"n": "report interval","v": 30},{"n": "enable report","bv": true}] }, "opTS": { "$date": 1510044371815 } } }, "commCmd": 2055, "agentID": "00000001-0000-0000-0000-999BAB6F4000", "handlerName": "general", "sendTS": { "$date": 1510044371815 } }
Get Sensor Data
- Description: Server can send mqtt message to get sensor data value.
- Type: Request
- Direction: Server -> Agent
- Topic: /wisepaas/device/00000001-0000-0000-0000-000babbb7ef3/agentactionreq
- QoS: 0
- Retained: 0
- Payload:
{ "agentId": "00000001-0000-0000-0000-000babbb7ef3", "handlerName": "custom", "commCmd": 523, "content": { "sessionID": "2A1FBCA22A64C2E27341DB5FA7E83FBF", "sensorIDList": { "e": [{"n": "custom/custom_data2"}] } } }
- Description: Agent will reply its data value.
- Type: Reply
- Direction: Agent -> Server
- Topic: /wisepaas/device/00000001-0000-0000-0000-000babbb7ef3/agentactionack
- QoS: 0
- Retained: 0
- Payload:
{ "agentID": "00000001-0000-0000-0000-000babbb7ef3", "commCmd": 524, "handlerName": "custom", "content": { "sessionID": "2A1FBCA22A64C2E27341DB5FA7E83FBF", "sensorInfoList": { "e": [{"n": "custom/custom_data2","v": 123,"StatusCode": 200}] } }, "sendTS": {"$date": 1499328934471} }
Set Data
- Description: Server can send mqtt message to set sensor data value.
- Type: Request
- Direction: Server -> Agent
- Topic:/wisepaas/device/00000001-0000-0000-0000-000babbb7ef3/agentactionreq
- QoS: 0
- Retained: 0
- Payload:
{ "agentId": "00000001-0000-0000-0000-000babbb7ef3", "handlerName": "custom", "commCmd": 525, "content": { "sessionID": "B303E3DE2C062B8C148DAEF2D3F6C723", "sensorIDList": { "e": [ { "v": 12, "n": "custom/custom_data2" } ] } } }
- Description: Agent will reply its result. There are have two status 1. status code: 202 -> device receive this command, 2. code: 200 -> succesful to set, code: is not 200 => Fail to set
- Type: Reply
- Direction: Agent -> Server
- Topic: /wisepaas/device/00000001-0000-0000-0000-000babbb7ef3/agentactionack
- QoS: 0
- Retained: 0
- Payload:
Accept 1:
{ "agentID": "00000001-0000-0000-0000-000babbb7ef3", "commCmd": 526, "handlerName": "custom", "content": { "sessionID": "B303E3DE2C062B8C148DAEF2D3F6C723", "sensorInfoList":{ "e": [ { "n": "custom/custom_data2", "sv": "Accept", "StatusCode": 202 } ] }, }, "sendTS": {"$date": 1499329284038} }
Success:
{ "agentID": "00000001-0000-0000-0000-000babbb7ef3", "commCmd": 526, "handlerName": "custom", "content": { "sessionID": "B303E3DE2C062B8C148DAEF2D3F6C723", "sensorInfoList":{ "e": [ { "n": "custom/custom_data2", "sv": "Success", "StatusCode": 200 } ] }, }, "sendTS": {"$date": 1499329284038} }