|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254 |
- 鼎鼎所有售出模块的数据会统一指向到开放平台。所以,针对模块的所有操作围绕开放平台接口进行。本文档针对.NET Core后端开发人员。
-
- > 原理
-
- 所有模块目前被记录在总部数据库的`TestMac`表,该表记录着模块和项目的映射关系。当通过项目寻找模块,通过`HeaderQuarterRepository`找到项目下的模块。
-
- 如何找到模块下的开关呢?通过开放平台接口(`api/breaker/data`)就可以。
-
- > 开放平台:获取模块实时数据接口
-
- 请求
- ```
- POST http://47.103.61.198:5008/api/breaker/data
-
- Headers:
-
- Content-Type: application/json
- DD-Open-Key: d2ca79f1-4666-4ad5-953b-7ba5ee480fe0
-
- Body:
-
- {
- "mac":"187ED53338C4"
- }
- ```
-
- 响应:
- ```
- {
- "data": {
- "serverinfo": {
- "port": "12345",
- "hardware": "T25",
- "execleakcheck": "false",
- "protocol_ver": "19",
- "mac": "187ED53338C4",
- "loginid": "187ED53338C4",
- "gate": "",
- "ip": "192.168.8.134",
- "version": "1.3.08",
- "loginpwd": "7a57a5a743894ae4",
- "ssidpwd": "2803f88db851c67a",
- "ssid": "DDINGW",
- "timezoneId": "Asia/Shanghai",
- "ServerProtocol": "2",
- "server": "47.103.61.198:5008/ebx-bishop/data/carry",
- "datetime": "2021-01-25 14:24:56",
- "leakcheckdate": "3,13,33",
- "lastleakcheckdate": "2017-01-01 10:00:00"
- },
- "distributbox": {
- "breakers": {
- "1": {
- "version": "1.03",
- "title": "总路",
- "model": "JZK2L100-BL6523",
- "alarm": 0,
- "enableNetCtrl": true,
- "mxdw": 0,
- "mxgg": 14080,
- "mxgl": 96,
- "mxgw": 90,
- "mxgy": 260,
- "mxld": 30,
- "mxqy": 0,
- "openClose": true,
- "addr": 1,
- "power": 0,
- "specification": "64",
- "control": 1,
- "visibility": 1,
- "totalChannelId": -1,
- "lineType": "220",
- "a_A": 0,
- "a_T": 32.1,
- "a_V": 226,
- "a_WP": 0,
- "a_LD": 0.5,
- "a_PF": 0,
- "g_A": 0,
- "g_T": 0,
- "g_V": 0,
- "g_WP": 0,
- "g_LD": 0,
- "g_PF": 0,
- "b_A": 0,
- "b_T": 0,
- "b_V": 0,
- "b_WP": 0,
- "b_PF": 0,
- "c_A": 0,
- "c_T": 0,
- "c_V": 0,
- "c_WP": 0,
- "c_PF": 0,
- "n_A": 0,
- "n_T": 0
- },
- "2": {
- "version": "1.03",
- "title": "线路1",
- "model": "JZK2L100-BL6523",
- "alarm": 0,
- "enableNetCtrl": true,
- "mxdw": 0,
- "mxgg": 100,
- "mxgl": 30,
- "mxgw": 90,
- "mxgy": 260,
- "mxld": 30,
- "mxqy": 175,
- "openClose": true,
- "addr": 2,
- "power": 0,
- "specification": "20",
- "control": 1,
- "visibility": 1,
- "totalChannelId": 1,
- "lineType": "220",
- "a_A": 0,
- "a_T": 35,
- "a_V": 226,
- "a_WP": 0,
- "a_LD": 0,
- "a_PF": 0,
- "g_A": 0,
- "g_T": 0,
- "g_V": 0,
- "g_WP": 0,
- "g_LD": 0,
- "g_PF": 0,
- "b_A": 0,
- "b_T": 0,
- "b_V": 0,
- "b_WP": 0,
- "b_PF": 0,
- "c_A": 0,
- "c_T": 0,
- "c_V": 0,
- "c_WP": 0,
- "c_PF": 0,
- "n_A": 0,
- "n_T": 0
- },
- "3": {
- "version": "1.03",
- "title": "线路2",
- "model": "JZK2L100-BL6523",
- "alarm": 0,
- "enableNetCtrl": true,
- "mxdw": 0,
- "mxgg": 4400,
- "mxgl": 30,
- "mxgw": 90,
- "mxgy": 260,
- "mxld": 30,
- "mxqy": 175,
- "openClose": true,
- "addr": 3,
- "power": 0,
- "specification": "20",
- "control": 1,
- "visibility": 1,
- "totalChannelId": 1,
- "lineType": "220",
- "a_A": 0,
- "a_T": 35,
- "a_V": 226,
- "a_WP": 0,
- "a_LD": 0,
- "a_PF": 0,
- "g_A": 0,
- "g_T": 0,
- "g_V": 0,
- "g_WP": 0,
- "g_LD": 0,
- "g_PF": 0,
- "b_A": 0,
- "b_T": 0,
- "b_V": 0,
- "b_WP": 0,
- "b_PF": 0,
- "c_A": 0,
- "c_T": 0,
- "c_V": 0,
- "c_WP": 0,
- "c_PF": 0,
- "n_A": 0,
- "n_T": 0
- }
- },
- "change": null
- }
- },
- "isError": false,
- "message": "success",
- "code": 200
- }
- ```
-
- 在Application层,按如下方式调用:
- ```
- using Flurl.Http;
- using DD.Libs.Devices.ManDun;
-
- string url = "http://47.103.61.198:5008/api/breaker/data";
-
- var dto = new SomeClass{ mac="187ED53338C4"};
-
-
- var response = await url
- .WithHeader("Content-Type", "application/json")
- .WithHeader("DD-Open-Key", "d2ca79f1-4666-4ad5-953b-7ba5ee480fe0")
- .PostJsonAsync(dto)
- .ReceiveJson<RealtimeData>();
-
- ```
-
- > 开放平台:合闸或分断
-
- 请求
- ```
- POST http://47.103.61.198:5008/api/breaker/oc
-
- Headers:
-
- Content-Type: application/json
- DD-Open-Key: d2ca79f1-4666-4ad5-953b-7ba5ee480fe0
-
- Body:
-
- {
- "cmd":"OCSWITCH",
- "value1":"open",
- "value2":"1,2,3",
- "mac":"187ED53338C4",
- "extra":""
- }
- ```
-
- 在Application层,按如下方式调用:
- ```
- using Flurl.Http;
-
- string url = "http://47.103.61.198:5008/api/breaker/oc";
-
- var dto = new SomeClass{ cmd="",value1="",value2="",mac="",extra=""};
-
- var response = await url
- .WithHeader("Content-Type", "application/json")
- .WithHeader("DD-Open-Key", "d2ca79f1-4666-4ad5-953b-7ba5ee480fe0")
- .PostJsonAsync(dto);
-
- ```
|