欣仰邦物联网环境监测云平台软件接口说明书
发表时间:2021-12-17作者:xmsiyb
一、统一说明
1、通讯方式数据接口采用http协议,通讯内容采用JSON数据格式。
接口返回数据格式如下:
{"code":1001, "message":"信息内容", "data":object}
ResultData字段说明
字段 | 类型 | 说明 |
code | Integer | 代码(参考返回代码说明表) |
message | String | 返回操作结果描述 |
data | Json | Json数据,具体格式参考各个接口 |
文档中所有接口的返回数据说明表,如无特殊说明均为ResultData数据格式,返回的数据均存放于data字段中
- 接口调用注意事项
userId通过登录接口获取。根据用户名和密码调用登录接口,登录成功后接口返回userId。
接口中如无特殊说明,采用post方法的接口中参数为json格式,放入请求body中;采用get方法的接口中参数为查询参数,放入请求地址后
- 接口地址
物联云平台 http://iot.xmsiyb.cn/
-k http://ip:port(默认9001)
二、接口详细
1、登录操作
1.1 地址可用性测试
1.1.1接口描述
接口编号 | 1.1 |
接口名称 | 接口可用性测试 |
功能描述 | 测试接口是否可用 |
接口地址 | /app/TestConnect |
请求方式 | GET |
参数格式 | JSON |
返回数据格式 | String |
备注 |
1.1.2请求参数说明
字段 | 类型 | 说明 |
id | string | 随机字符串 |
1.1.3返回数据说明
测试通过返回请求的随机字符串调用异常则表示为测试失败
1.1.4返回格式示例
{"code":1000,"message":"测试成功","data":"123"}1.2 登录
1.2.1接口描述
接口编号 | 1.2 |
接口名称 | 登录接口 |
功能描述 | 用户登录 |
接口地址 | /app/Login |
请求方式 | POST |
参数格式 | JSON |
返回数据格式 | JSON |
备注 |
1.2.2请求参数说明
字段 | 类型 | 说明 |
loginName | String | 登录名 |
password | String | 密码 |
1.2.3返回数据说明
字段 | 类型 | 说明 |
userId | String | 用户编号 |
userName | String | 用户名 |
projectName | String | 项目名称 |
authList | JSON数组 | 该用户所具有的权限列表,参考表1.2.3.3 |
表.用户权限
权限 | 说明 | 备注 |
DeviceNew | 新建设备 | |
DeviceScan | 扫描设备 | |
DeviceEdit | 编辑设备 | |
DeviceDelete | 删除设备 | |
SystemSetting | 系统设置 | |
DataSync | 数据同步 | |
AlarmSetting | 报警设置 | |
ExportConfig | 导出配置 | |
ImportConfig | 导入配置 | |
Org | 组织权限 | |
QueryHistoryData | 查询历史数据 | |
QueryAlarmData | 查询报警数据 | |
DataEdit | 数据编辑 | 重要 |
UserManager | 用户管理 | |
DeviceCoefficientEdit | 设备参数编辑 |
1.2.4返回格式示例
{"code":1000,
"message":"登录成功",
"data":
{
"userId":"6a25694572484ac1a4c211fe4872b7dc",
"userName":"master",
"authList":
["DeviceNew","DeviceScan","DeviceEdit","DeviceDelete","SystemSetting","DataSync","AlarmSetting","ExportConfig","ImportConfig","Org","QueryHistoryData","QueryAlarmData","UserManager"]
}
}
2、设备操作
2.1 获取用户设备分组列表
2.1.1接口描述
接口编号 | 2.1 |
接口名称 | 获取用户的设备分组列表 |
功能描述 | 获取用户设备分组信息 |
接口地址 | /app/GetUserDeviceGroups |
请求方式 | GET |
参数格式 | JSON |
返回数据格式 | JSON数组 |
备注 |
2.1.2请求参数说明
请求头字段 | 类型 | 说明 |
userId | String | 用户编号 |
2.1.3返回数据说明
字段 | 类型 | 说明 |
groupId | String | 组编号 |
groupName | String | 组名 |
2.1.4返回格式示例
{"code":1000,"message":"获取成功",
"data":
[
{"groupId":"733e5346f3414d1e840bfb7d8b581022","groupName":"温湿度"},
{"groupId":"d1a84321cee54503b6ab7f44c5474005","groupName":"气象"},
{"groupId":"eb3fab3155e64d7d9c74ef4a1f57fbf3","groupName":"未命名"}
]
}
2.2 获取设备信息及实时数据接口
2.2.1接口描述
接口编号 | 2.2 |
接口名称 | 获取设备信息及实时数据接口 |
功能描述 | 根据用户编号、设备组编号获取设备实时数据 |
接口地址 | /app/GetDeviceData |
请求方式 | GET |
参数格式 | JSON |
返回数据格式 | JSON数组 |
备注 |
2.2.2请求参数说明
请求参数字段 | 类型 | 说明 |
groupId | String | 设备组编号(接口2.1所获取的组编号)。如果获取所有数据,则该参数可以填空字符串”” |
请求头
字段 | 类型 | 说明 |
userId | String | 用户编号 |
2.2.3返回数据说明
字段 | 类型 | 说明 |
groupId | String | 组编号 |
deviceKey | String | 设备编号 |
deviceAddr | Integer | 设备地址 |
nodeID | Integer | 节点编号 |
nodeType | Integer | 节点类型1:模拟量1启用;2:模拟量2启用;3:同时启用 |
deviceDisabled | Boolean | 停用状态,true停用 |
deviceName | String | 设备名称 |
lng | Float | 经度 |
lat | Float | 维度 |
deviceStatus | Integer | 设备运行状态,0未运行,1离线,2在线 |
realTimeData | JSON | 实时数据,当两个模拟量同时启用时分别为模拟量1和模拟量2的实时数据。格式参考表2.2.3.2 |
字段 | 类型 | 说明 |
dataName | String | 模拟量名称 |
dataValue | String | 实时数据 |
isAlarm | Boolean | 是否报警 |
alarmMsg | String | 报警信息 |
2.2.4返回格式示例
{"code":1000,
"message":"获取成功",
"data":[
{"groupId":"97a355ad117b45ae8bd7bdc4ee1af85b",
"deviceKey":"e33bdc470f484993aeabf79851532e82",
"deviceAddr":40000342,"nodeID":1,nodeType:3,"deviceDisabled":false,
"deviceName":"网络设备40000342#1",
"lng":0.0,"lat":0.0,"deviceStatus":2,
"realTimeData":
[{"dataName":"温度(℃)","dataValue":"0","isAlarm":false,"alarmMsg":""},
{"dataName":"湿度(%RH)","dataValue":"0","isAlarm":false,"alarmMsg":""}
]
},
{"groupId":"97a355ad117b45ae8bd7bdc4ee1af85b",
"deviceKey":"768a72794d3c4eb9a1ca7e4a049b3cf1",
"deviceAddr":40000342,"nodeID":2,nodeType:1,"deviceDisabled":false,
"deviceName":"模拟量1使能模拟量2禁用",
"lng":0.0,"lat":0.0,"deviceStatus":2,
"realTimeData":
[{"dataName":"温度(℃)","dataValue":"0","isAlarm":false,"alarmMsg":""}]
},
{"groupId":"97a355ad117b45ae8bd7bdc4ee1af85b",
"deviceKey":"59e0b7a349af4d96adf1e2f91efe0382",
"deviceAddr":40000342,"nodeID":3,nodeType:2,"deviceDisabled":false,
"deviceName":"模拟量1禁用模拟量2使能",
"lng":0.0,"lat":0.0,"deviceStatus":2,
"realTimeData":
[{"dataName":"湿度(%RH)","dataValue":"0","isAlarm":false,"alarmMsg":""}]
},
{"groupId":"97a355ad117b45ae8bd7bdc4ee1af85b",
"deviceKey":"482570be4a43433587193167460c6be6",
"deviceAddr":40000342,"nodeID":4,nodeType:1,"deviceDisabled":false,
"deviceName":"浮点设备",
"lng":0.0,"lat":0.0,"deviceStatus":2,
"realTimeData":
[{"dataName":"温度(℃)","dataValue":"0","isAlarm":false,"alarmMsg":""}]
},
{"groupId":"97a355ad117b45ae8bd7bdc4ee1af85b",
"deviceKey":"f491eebe9169465cb847ec4396efcc75",
"deviceAddr":40000342,"nodeID":5,nodeType:1,"deviceDisabled":false,
"deviceName":"开关量设备",
"lng":0.0,"lat":0.0,"deviceStatus":2,
"realTimeData":
[{"dataName":"温度(℃)","dataValue":"断开","isAlarm":false,"alarmMsg":"断开"}]
},
{"groupId":"97a355ad117b45ae8bd7bdc4ee1af85b",
"deviceKey":"27e66ad63e494ad2a2669de21c759901",
"deviceAddr":40000342,"nodeID":6,nodeType:1,"deviceDisabled":false,
"deviceName":"遥调设备",
"lng":0.0,"lat":0.0,"deviceStatus":2,
"realTimeData":
[{"dataName":"温度(℃)","dataValue":"北风","isAlarm":true,"alarmMsg":"北风"}]
}
]}
2.5 获取设备继电器状态接口
2.5.1接口描述
接口编号 | 2.5 |
接口名称 | 获取设备的继电器状态 |
功能描述 | 根据设备编号获取设备当前的继电器状态 |
接口地址 | /app/GetRelays |
请求方式 | GET |
参数格式 | JSON |
返回数据格式 | JSON数组 |
备注 |
2.5.2请求参数说明
请求参数字段 | 类型 | 说明 |
deviceKey | String | 设备编号(设备编号,如果查询所有继电器,则填写空字符串””) |
请求头
字段 | 类型 | 说明 |
userId | String | 用户编号 |
2.5.3返回数据说明
字段 | 类型 | 说明 |
deviceKey | String | 设备编号 |
deviceStatus | Integer | 设备运行状态,0未运行,1离线,2在线 |
relayID | Integer | 继电器编号(从0开始) |
realyName | String | 继电器名称 |
status | Integer | 继电器状态0闭合 1断开 |
2.5.4返回格式示例
{"code":1000,
"message":"获取成功",
"data":[
{"deviceKey":"2232","deviceStatus":2,"relayID":0,"realyName":"湖北中医院继电器1",
"status":0},
{"deviceKey":"2232","deviceStatus":2,"relayID":1,"realyName":"湖北中医院继电器2",
"status":0},
{"deviceKey":"2232","deviceStatus":2,"relayID":2,"realyName":"湖北中医院继电器3",
"status":0},
{"deviceKey":"2232","deviceStatus":2,"relayID":3,"realyName":"湖北中医院继电器4",
"status":0},
{"deviceKey":"2232","deviceStatus":2,"relayID":4,"realyName":"湖北中医院继电器5",
"status":0},
{"deviceKey":"2232","deviceStatus":2,"relayID":5,"realyName":"湖北中医院继电器6",
"status":0},
{"deviceKey":"2232","deviceStatus":2,"relayID":6,"realyName":"湖北中医院继电器7",
"status":0},
{"deviceKey":"2232","deviceStatus":2,"relayID":7,"realyName":"湖北中医院继电器8",
"status":0}
]
}
2.6 操作设备继电器状态接口
2.6.1接口描述
接口编号 | 2.6 |
接口名称 | 操作设备继电器状态接口 |
功能描述 | 根据设备编号操作设备的继电器状态 |
接口地址 | /app/SetRelays |
请求方式 | Post |
参数格式 | JSON |
返回数据格式 | String |
备注 |
2.6.2请求参数说明
请求参数字段 | 类型 | 说明 |
deviceKey | String | 设备编号 |
relayId | Integer | 继电器编号 |
opt | Integer | 操作 0闭合 1断开 |
请求头
字段 | 类型 | 说明 |
userId | String | 用户编号 |
2.6.3返回数据说明
字符串,表示操作结果;异常信息参考message字段2.6.4返回格式示例
{"code":1000,"message":"操作成功","data":"操作成功"}3、数据操作
3.1 查询历史数据
3.1.1接口描述
接口编号 | 3.1 |
接口名称 | 查询历史数据 |
功能描述 | 根据设备编号、时间等条件查询历史数据 |
接口地址 | /app/QueryHistoryList |
请求方式 | GET |
参数格式 | JSON |
返回数据格式 | JSON数组 |
备注 |
3.1.2请求参数说明
请求参数字段 | 类型 | 说明 |
deviceKey | String | 设备编号 |
nodeId | Integer | 节点编号(如果查询所有节点的数据,则nodeId填写-1) |
beginTime | DateTime | 开始时间(YYYY-MM-dd HH:mm:ss) |
endTime | DateTime | 结束时间(YYYY-MM-dd HH:mm:ss) |
isAlarmData | Integer | 报警数据标识。-1查询全部数据,0查询正常数据,1查询报警数据 |
请求头
字段 | 类型 | 说明 |
userId | String | 用户编号 |
3.1.3返回数据说明
字段 | 类型 | 说明 |
ID | String | 编号 |
DeviceKey | String | 设备编号 |
DeviceID | Integer | 设备地址 |
NodeID | Integer | 节点编号 |
Tem | Double |
模拟量1值 (文档中只是示例,以平台实际节点名称为准。不同的传感器表示的意义不同。例如温湿度传感器,该值表示为温度值;PM传感器表示为PM10的值。 具体参考传感器类型。) |
Hum | Double |
模拟量2值 (文档中只是示例,以平台实际节点名称为准。不同的传感器表示的意义不同。例如温湿度传感器,该值表示为湿度值;PM传感器表示为PM2.5的值。 具体参考传感器类型。) |
Lng | Double | 经度 |
Lat | Double | 维度 |
CoordinateType | Integer | 坐标类型 0百度坐标,1移动基站 2联通基站 3GPS |
RecordTime | Datetime | 记录时间 |
IsAlarmData | Integer | 是否为报警数据,0正常数据,1报警数据 |
RecordTimeStamp | Long | 记录时间时间戳 |
DeviceName | String | 设备名称 |
3.1.4返回格式示例
{"code":1000,
"message":"获取成功",
"data":
[
{"ID":"139c213100b64ab581268b42acfa85b7","DeviceKey":"dfea0630a8e949d9b828647f4b8bfbfc","DeviceID":40001739,"NodeID":1,"Tem":0.0,"Hum":0.0,"Lng":0.0,"Lat":0.0,"CoordinateType":2,"RecordTime":"2018-04-07 15:28:35","IsAlarmData":0,"RecordTimeStamp":1523086115000,"DeviceName":"网络设备40001739#1"},
{"ID":"c0c90da1abe749e89510b62e2128600e","DeviceKey":"dfea0630a8e949d9b828647f4b8bfbfc","DeviceID":40001739,"NodeID":1,"Tem":0.0,"Hum":0.0,"Lng":0.0,"Lat":0.0,"CoordinateType":2,"RecordTime":"2018-04-07 15:23:35","IsAlarmData":0,"RecordTimeStamp":1523085815000,"DeviceName":"网络设备40001739#1"},
{"ID":"1aa66f2c293d431d92218cc7246f267d","DeviceKey":"dfea0630a8e949d9b828647f4b8bfbfc","DeviceID":40001739,"NodeID":1,"Tem":0.0,"Hum":0.0,"Lng":0.0,"Lat":0.0,"CoordinateType":2,"RecordTime":"2018-04-07 15:20:50","IsAlarmData":0,"RecordTimeStamp":1523085650000,"DeviceName":"网络设备40001739#1"}
]
}
三、附录
返回代码
代码 | 说明 |
1000 | 接口执行成功,具体参考各个接口 |
1001 | 接口执行失败,具体参考各个接口,原因参考Message |
1002 | 参数错误 |
1003 | 程序内部异常,异常信息参考Message |
1004 | 鉴权失败 |
相关资讯
17850532774