数据上传
概述
数据上传接口用于设备上报采集的能耗数据,包括电压、电流、功率等参数。
更新数据
接口信息
| 项目 | 说明 |
|---|---|
| 接口地址 | http://iot.datacom.vip:11111/Update_Data |
| 请求方式 | POST |
Headers
| Key | Value |
|---|---|
Content-Type | application/json |
Authorization | Bearer <your_token> |
Body (raw JSON)
{
"BuildID": "1234567890",
"DateTime": "2025-03-17 10:30:00",
"Data": [
{
"MeterID": "MTR123456",
"VA": 220.5,
"VB": 221.0,
"VC": 219.8,
"Ia": 10.2,
"Ib": 10.5,
"Ic": 10.3,
"SumValue": 1234.56,
"Type": 1,
"isOnline": 1
}
]
}
Body 参数说明
顶层参数:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| BuildID | string | 是 | 建筑 ID |
| DateTime | string | 是 | 数据时间(格式:YYYY-MM-DD HH:MM:SS) |
| Data | array | 是 | 数据数组 |
Data 数组项参数:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| MeterID | string | 是 | 仪表 ID |
| VA | number | 是 | A 相电压 |
| VB | number | 是 | B 相电压 |
| VC | number | 是 | C 相电压 |
| Ia | number | 是 | A 相电流 |
| Ib | number | 是 | B 相电流 |
| Ic | number | 是 | C 相电流 |
| SumValue | number | 是 | 总电量/能量值 |
| Type | number | 是 | 数据类型(1=总表用电,2=燃气表,3=照明插座用电,4=暖通空调用电,5=动力设备用电,6=特殊用电,7=其他用电,8=可再生能源用电,9=电力局总表用电) |
| isOnline | number | 否 | 在线状态(默认 1) |
响应示例
{
"Code": 200,
"Type": "Success",
"Message": "Data stored (1 records)",
"TokenEXP": 7100,
"RequestID": "a1b2c3d4e5f6"
}
数据处理逻辑
- BuildID 验证:检查建筑 ID 是否存在
- 数据解析:解析上传的数据数组
- 增量计算:自动计算电量增量(Variation)
- 如果当前值大于历史最大值,计算差值
- 如果差值超过 10000,视为异常数据
- 批量插入:支持批量数据处理
- 自动推送:后台线程自动将数据推送到 CO2 平台
错误码
| 错误码 | 说明 |
|---|---|
| 30001 | Token 验证失败 |
| 10001 | 请求数据格式错误 |
| 41002 | BuildID 不存在 |
| 41003 | 缺少必要参数 |
| 50001 | 服务器内部错误 |
读取最后记录
接口信息
| 项目 | 说明 |
|---|---|
| 接口地址 | http://iot.datacom.vip:11111/Read_Last?BuildID={BuildID}&MeterID={MeterID} |
| 请求方式 | GET |
Headers
| Key | Value |
|---|---|
Content-Type | application/json |
Authorization | Bearer <your_token> |
请求参数(Query Params)
| Key | Value | 必填 | 说明 |
|---|---|---|---|
BuildID | 1234567890 | 是 | 建筑 ID |
MeterID | MTR123456 | 是 | 仪表 ID |
响应示例
{
"SumValue": 1234.56,
"RequestID": "a1b2c3d4e5f6"
}
说明
- 返回指定仪表的最后一条有效数据
- 如果无数据,返回 SumValue: 0