Difference between revisions of "WISE-PaaS/2.0 Protocol"
From ESS-WIKI
Eric.liang (talk | contribs) |
Eric.liang (talk | contribs) |
||
| Line 236: | Line 236: | ||
} | } | ||
] | ] | ||
| + | }, | ||
| + | "opTS": { | ||
| + | "$date": 1510044371815 | ||
} | } | ||
| − | |||
| − | |||
| − | |||
} | } | ||
}, | }, | ||
Revision as of 08:20, 8 November 2017
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 ]
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-999BAB6F4000/agentinfoack
- 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": 1,
"tag": "RMM"
},
"commCmd": 1,
"agentID": "00000001-0000-0000-0000-999BAB6F4000",
"handlerName": "general",
"sendTS": {
"$date": 1510044371567
}
}
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-999BAB6F4000/agentinfoack
- 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": 1,
"tag": "RMM"
},
"commCmd": 1,
"agentID": "00000001-0000-0000-0000-999BAB6F4000",
"handlerName": "general",
"sendTS": {
"$date": 1510044371567
}
}
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/RMM/00000001-0000-0000-0000-999BAB6F4000/deviceinfo
- 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: /cagent/admin/<devID>/agentcallbackreq
- QoS: 0
- Retained: 0
- Payload:
{
"susiCommData":{
"sessionID":"2746E3B65BAB115338B9668CDC5C35C4",
"sensorIDList":{
"e":[
{
"n":"SenHub/Info/sw"
}
]
},
"commCmd":523,
"requestID":0,
"agentID":"",
"handlerName":"SenHub",
"sendTS":1466057267
}
}
- Description: Agent will reply its data value.
- Type: Reply
- Direction: Agent -> Server
- Topic: /cagent/admin/<devID>/agentactionreq
- QoS: 0
- Retained: 0
- Payload:
{
"susiCommData":{
"commCmd":524,
"handlerName":"SenHub",
"sessionID":"2746E3B65BAB115338B9668CDC5C35C4",
"sensorInfoList":{
"e":[
{
"n":"/Info/sw",
"sv":"1.0.00",
"StatusCode":200
}
]
}
}
}
Set Data
- Description: Server can send mqtt message to set sensor data value.
- Type: Request
- Direction: Server -> Agent
- Topic: /cagent/admin/<devID>/agentcallbackreq
- QoS: 0
- Retained: 0
- Payload:
{
"susiCommData":{
"sensorIDList":{
"e":[
{
"sv":"SenHub1",
"n":"SenHub/Info/Name"
}
]
},
"sessionID":"4DDF0B6DE2773176095F55E8C930507A",
"commCmd":525,
"requestID":0,
"agentID":"",
"handlerName":"SenHub",
"sendTS":1466088605
}
}
- Description: Agent will reply its result.
- Type: Reply
- Direction: Agent -> Server
- Topic: /cagent/admin/<devID>/agentactionreq
- QoS: 0
- Retained: 0
- Payload:
{
"susiCommData":{
"commCmd":526,
"handlerName":"SenHub",
"sessionID":"4DDF0B6DE2773176095F55E8C930507A",
"sensorInfoList":{
"e":[
{
"n":"/Info/Name",
"sv":"SenHub1",
"StatusCode":200
}
]
}
}
}