EIS RESTfulAPI ProcWSNData
Contents
RESTful API Path Rule for WSNManage
This document is about EIS RESTful API service of Wireless Sensor Manage (WSNManage). There are two major classes in WSNManage service one is "Connectiviy" another is "SenHub". Connectivity is wireless interfaces information in the EIS IoT Gateway solution. "SenHub" is short of sensor hub.
Connectivity
Path: WSNManage/Connectivity
-> All Capability ( without data )
{ "IoTGW": { "WSN": { "WSN0": { "Info": { "e": [{"n":"SenHubList","sv":",","asm":"r"}, {"n":"Neighbor","sv":"","asm":"r"}, {"n":"Health","v":80,"asm":"r"}, {"n":"Name","sv":"WSN0","asm":"r"}, {"n":"sw","sv":"1.0.0.1","asm":"r"}, {"n":"reset","bv":0,"asm":"rw"}], "bn":"Info" }, "bn":"0000852CF4B7B0E8", "ver":1 }, "WSN1": { "Info": { "e": [{"n":"SenHubList","sv":"","asm":"r"}, {"n":"Neighbor","sv":"","asm":"r"}, {"n":"Health","v":50,"asm":"r"}, {"n":"Name","sv":"WSN1","asm":"r"}, {"n":"sw","sv":"1.0.0.1","asm":"r"}, {"n":"reset","bv":0,"asm":"rw"}], "bn":"Info" }, "bn":"0000852CF4B7B0E7", "ver":1 }, "bn":"WSN" }, "Bt": { "Bt0": { "Info": { "e": [{"n":"SenHubList","sv":"","asm":"r"}, {"n":"Health","v":90,"asm":"r"}, {"n":"Name","sv":"Bt0","asm":"r"}, {"n":"sw","sv":"3.0.0.1","asm":"r"}, {"n":"reset","bv":0,"asm":"rw"}], "bn":"Info" }, "bn":"0000802CF4B7B028", "ver":1 }, "bn":"Bt" }, "ver": 1, "bn":"IoTGW" } }
SenHub
Get
1.Path: WSNManage/SenHub/AllSenHubList
Reply:
{"n":"AllSenHubList","sv":"xxxxxx,0017000E40000001,xxxxx"}
2. Path: WSNManage/SenHub/<DeviceID>/DevInfo </br>
Reply:
{ "devID":"0017000E40000001", "hostname":"AAA", "sn":"0017000E40000001", "mac":"0017000E40000001", "version":"3.1.23", "type":"SenHub", "product":"WISE-1020", "manufacture":"", "status":"1", "commCmd":1, "requestID":30002, "agentID":"0017000E40000001", "handlerName":"general", "sendTS":160081026 }
3. Path: WSNManage/SenHub/<DeviceID>
Reply: Capability ( without data )
{ "SenHub": { "SenData": {"e":[ {"n":"Temperature","u":"Cel","v":0.000000,"min":-100.000000,"max":200.000000,"asm":"r","type":"d","rt":"ucum.Cel","st":"ipso","exten":""}, {"n":"Humidity","u":"%","v":0.000000,"min":0.000000,"max":100.000000,"asm":"r","type":"d","rt":"ucum.%","st":"ipso","exten":""}, {"n":"GPIO1","u":"","bv":0,"min":0.000000,"max":1.000000,"asm":"r","type":"b","rt":"","st":"ipso","exten":""}, {"n":"GPIO2","u":"","bv":0,"min":0.000000,"max":1.000000,"asm":"r","type":"b","rt":"","st":"ipso","exten":""} ], "bn":"SenData" }, "Info": {"e":[{"n":"Name","sv":"SenHub1","asm":"rw"}, {"n":"sw","sv":"1.0.00","asm":"r"} ], "bn":"Info" }, "Net": {"e":[{"n":"sw","sv":"1.0.00","asm":"r"}, {"n":"Neighbor","sv":"","asm":"r"}, {"n":"Health","v":"100.000000","asm":"r"} ], "bn":"Net" } } }
4. Path: WSNManage/SenHub/<DeviceID>/SenHub
Reply: with latest data value
{ "SenData": {"e":[ {"n":"Temperature","v":26}, {"n":"Humidity","v":80}, {"n":"GPIO1","u":"","bv":0}, {"n":"GPIO2","u":"","bv":1} ], "bn":"SenData" }, "Info": {"e":[{"n":"Name","sv":"SenHub1"}, {"n":"sw","sv":"1.0.00"} ], "bn":"Info" }, "Net": {"e":[{"n":"sw","sv":"1.0.00"}, {"n":"Neighbor","sv":"00017b8965"}, {"n":"Health","v":"100.000000"} ], "bn":"Net" }, "bn":"SenHub" }
5. Path: WSNManage/SenHub/<DeviceID>/SenHub/SenData
Reply: with latest data
{ "SenData": {"e":[ {"n":"Temperature","v":26}, {"n":"Humidity","v":80}, {"n":"GPIO1","u":"","bv":0}, {"n":"GPIO2","u":"","bv":1} ] }, "bn":"SenData" }
6. WSNManage/SenHub/<DeviceID>/SenHub/SenData/Temperature
Reply: with latest data
{"v":26}
Put
EIS RESTful only supports change one resource in each request.
Ex: To chagne SenHub's Name by 'PUT' RESTful method
Path: WSNManage/SenHub/<DeviceID>/SenHub/Info/Name
Data:
{"sv":"Room"}
Reply:
HTTP Code: 200 OK
Data:
{"sv":"Room"}
Event Trigger by WebSockt
events:[ {"event":"eConnectivity_Capability"}, // => Update Connectivity Capability ( Without data ) {"event":"eConnectivity_UpdateData"}, // => Update Connectivity's Data {"event":"eSenHub_Connected"}, // => A new SenHub connected {"event":"eSenHub_Disconnect"}, // => A SenHub is disconnected {"event":"eSenHub_Capability"}, // => Update a SenHub's Capability ( Without Data ) {"event":"eSenHub_UpdateData"}] // => Update SenHub's Data
Updtae Connectivity Capability
Event Type: eConnectivity_Capability
{ "IoTGW": { "WSN": { "WSN0": { "Info": { "e": [{"n":"SenHubList","sv":",","asm":"r"}, {"n":"Neighbor","sv":"","asm":"r"}, {"n":"Health","v":80,"asm":"r"}, {"n":"Name","sv":"WSN0","asm":"r"}, {"n":"sw","sv":"1.0.0.1","asm":"r"}, {"n":"reset","bv":0,"asm":"rw"}], "bn":"Info" }, "bn":"0000852CF4B7B0E8", "ver":1 }, "WSN1": { "Info": { "e": [{"n":"SenHubList","sv":"","asm":"r"}, {"n":"Neighbor","sv":"","asm":"r"}, {"n":"Health","v":50,"asm":"r"}, {"n":"Name","sv":"WSN1","asm":"r"}, {"n":"sw","sv":"1.0.0.1","asm":"r"}, {"n":"reset","bv":0,"asm":"rw"}], "bn":"Info" }, "bn":"0000852CF4B7B0E7", "ver":1 }, "bn":"WSN" }, "Bt": { "Bt0": { "Info": { "e": [{"n":"SenHubList","sv":"","asm":"r"}, {"n":"Health","v":90,"asm":"r"}, {"n":"Name","sv":"Bt0","asm":"r"}, {"n":"sw","sv":"3.0.0.1","asm":"r"}, {"n":"reset","bv":0,"asm":"rw"}], "bn":"Info" }, "bn":"0000802CF4B7B028", "ver":1 }, "bn":"Bt" }, "ver": 1, "bn":"IoTGW" } }