前端设备开发示例

前端设备开发示例

本文记录了当前系统支持的常用的传感器或其他类型设备等事物的统一描述格式

网关

按钮

弹起按键开关量输入控制设备

属性:

事件:

环境监控设备

本节定义了常用的一些环境监控类传感设备以及其数据格式。

温湿度传感器

用来采集温湿度等简单的数据

属性:

数据上报:

{
    "did": "aabbcc112233",
    "type": "stream",
    "data": {
        "at": 1569220984936,
        "temperature": 25,
        "humidity": 60,
        "pressure": 1006.3
    }
}

气体传感器

用来采集和气体相关的数据,如气体含量,粉尘量等

属性:

常见气体类型:

常见粉尘类型:

数据上报:

{
    "did": "aabbcc112233",
    "type": "stream",
    "data": {
        "ch2o": 100,
        "co": 100,
        "co2": 100,
        "h2s": 100,
        "nh3": 100,
        "no2": 100,
        "o3": 100,
        "so2": 100,
        "pm25": 100,
        "pm10": 100
    }
}

气象站

用来采集和气象相关的数据,如温湿度,气压,风力等

属性:

数据上报:

{
    "did": String,
    "type": "stream",
    "data": {
        "humidity": 60,
        "illuminance": 300,
        "pressure": 25,
        "temperature": 25,
        "windDirection": 45,
        "windSpeed": 3,
        "pm25": 25,
        "pm10": 25
    }
}

土壤传感器

属性:

数据上报:

{
    "did": String,
    "type": "stream",
    "data": {
        "moisture": Number,
        "temperature": Number,
        "ec": Number
    }
}

水质传感器

属性:

数据上报:

{
    "did": "aabbcc112233",
    "type": "stream",
    "data": {
        "oxygen": 100,
    }
}

水浸传感器

一种能检测是否发生漏水的传感器设备

属性:

数据上报:

{
    "did": "001122334455",
    "gateway": "aa01234567890",
    "type": "stream",
    "data": {
        "leak": true,
    }
}

烟感

一种能以声光方法警告用户的设备,如烟感,一氧化碳,防盗器以及闹钟等

属性:

事件:

摄像机

一种能抓拍图片或采集视频的传感器设备

属性:

门窗传感器

一种能检测门窗是否为打开或关闭状态的传感器设备

属性:

数据上报:

{
    "did": "001122334455",
    "type": "stream",
    "data": {
        "open": true
    }
}

通风设备

属性:

操作

空调

用来采集蓝牙广播数据包的设备,和蓝牙传感器一起使用.

属性:

操作

定位器

GPS 定位器

用来定位和采集地理坐标数据

属性:

数据上报:

上传实时位置:

{
    "did": "aabbcc112233",
    "type": "stream",
    "coordinateSystem": "WGS_84", // or GCJ_02
    "data": {
        "geoLocation": {
            "lng": 100,
            "lat": -60,
            "altitude": 100,
            "time": 135509349934
        }
    }
}

上传历史位置:

{
    "did": "aabbcc112233",
    "type": "stream",
    "coordinateSystem": "WGS_84", // or GCJ_02
    "data": {
        "geoLocation": [{
            "lng": 100,
            "lat": -60,
            "altitude": 100,
            "time": 1343400534
        }]
    }
}

室内定位器

用来定位和采集室内地理坐标数据

属性:

数据上报:

上传实时位置:

{
    "did": "aabbcc112233",
    "type": "stream",
    "data": {
        "location": {
            "floor": "001122334455aabbcc112233",
            "level": 4,
            "x": 44,
            "y": 14
            "time": 135509349934
        }
    }
}

电机监控

装备

电机

关联设备

工作状态

水管

关联设备

工作状态

变频器

属性:

监控寄存器 (0x03)

参数名称 地址 长度 名称 单位 类型 缩放 偏移 范围
输出频率 8000H 1 Output Frequency Hz 1 0.1 0 -
输出速度 8001H 1 Output Speed RPM 1 1 0 -
驱动器温度 8002H 1 Driver Temperature °C 1 0.1 0 -
输出电压 8003H 1 Output Voltage V 1 0.1 0 -
输出电流 8004H 1 Output Current A 1 0.1 0 -
母线电压 8005H 1 DC Bus Voltage V 1 0.1 0 -
输出功率 8006H 1 Output Power W 1 1 0
驱动器状态 8007H 1 Driver State - 1 - - -
故障状态 8008H 1 Fault State - 1 - - -
电机温度 800AH 1 Motor Temperature °C 1 0.1 0 -
输入电压 800BH 1 Driver Input Voltage V 1 0.1 0 -
输入电流 800CH 1 Driver Input Current A 1 0.1 0 -
输入功率 800DH 1 Driver Input Power W 1 1 0 -
软件版本 800EH 2 SoftWare Version - 1 - - -
总共运行时间 8010H 2 Total Run Time H 1 1 0 -
本次运行时间 8012H 1 This Run Time min 1 1 0 -
启动次数 8013H 2 Start Times T 1 1 0 -
故障次数 8015H 1 Fault Times T 1 1 0 -

驱动器状态:

故障状态

控制寄存器 (0x06)

参数名称 地址 长度 名称 单位 类型 缩放 偏移 范围
速度 8100H 1 Speed RPM 1 1 0 -
运行 8101H 1 Driver Run - 1 - 0 0:stop, 1:run
故障复位 8102H 1 Driver Fault Reset - 1 - 0 1: reset
急停 8103H 1 Emergency Stop - 1 - 0 1234:stop

示例:

# 设定转速指令(寄存器位置 8100H,105RPM)
$ 01 03 8100 0001 ADCA <-> 01 03 02 00C8 B9D2

# 应答数据(异常)
$ 01 83 02 C0F1

# 设定转速指令(寄存器位置 8100H,105RPM)
$ 01 06 8100 0069 61D8 <-> 01 06 8100 0069 61D8

# 应答数据(异常)
$ 01 86 02 C3A1

数据上报:

{
    "did": "bb0001000402",
    "type": "stream",
    "data": {
        "rotateSpeed": 10000,
        "runningTime": 0,
        "frequency": 0,
        "runningState": 0,
        "outputVoltage": 0,
        "outputCurrent": 0,
        "busVoltage": 0,
        "outputPower": 0,
        "outputTorque": 0
    }
}

参数设置

具体定义请参考 核心产品实现参考Modbus 设备 一节

修改配置参数

{
    "did": "bb0001000402",
    "type": "action",
    "data": {
        "config": {
            "write": {
                "forms": {
                    "baudrate": 9600,
                    "address": 1,
                    "interval": 10,
                    "timeout": 2
                },
                "properties": {
                    "outputSpeed": {
                        "register": 32769,
                        "quantity": 1,
                        "flags": 1,
                        "type": 1,
                        "scale": 1,
                        "timeout": 2
                    }
                },
                "actions": {
                    "run": {
                        "register": 32775,
                        "quantity": 1,
                        "flags": 1,
                        "type": 1,
                        "timeout": 4
                    }
                },
                "updated": 1579591175513
            }
        }
    }
}

修改配置参数 (缩写版)

{
    "did": "bb0001000402",
    "type": "action",
    "data": {
        "config": {
            "write": {
                "f": {
                    "b": 9600,
                    "d": 1,
                    "l": 2,
                    "i": 10
                },
                "p": {
                    "outputSpeed": {
                        "a": 32769,
                        "q": 1,
                        "f": 1,
                        "y": 1,
                        "s": 1,
                        "t": 0
                    }
                },
                "a": {
                    "run": {
                        "a": 32775,
                        "q": 1,
                        "f": 1,
                        "y": 1,
                        "t": 4
                    }
                },
                "updated": 1579591175513
            }
        }
    }
}

应答

{
    "did": "89e2f79e",
    "mid": "....",
    "type": "action",
    "data": {
        "config": {
            "write": {
                "code": 0
            }
        }
    }
}

读取配置

{
    "did": "89e2f79e",
    "mid": "....",
    "type": "action",
    "data": {
        "config": {
            "read": []
        }
    }
}

应答

{
    "did": "89e2f79e",
    "mid": "....",
    "type": "action",
    "data": {
        "config": {
            "read": {
                "forms": {
                    "baudrate": 9600,
                    "address": 1,
                    "interval": 10,
                    "timeout": 2
                },
                "properties": {
                    "outputSpeed": {
                        "register": 32769,
                        "quantity": 1,
                        "flags": 1,
                        "type": 1,
                        "scale": 1,
                        "timeout": 2
                    }
                },
                "actions": {
                    "run": {
                        "register": 32775,
                        "quantity": 1,
                        "flags": 1,
                        "type": 1,
                        "timeout": 4
                    }
                },
                "updated": 1579591175513
            }
        }
    }
}

开机/停机

开机

{
    "did": "89e2f79e",
    "mid": "....",
    "type": "action",
    "data": {
        "run": 1
    }
}

停机

{
    "did": "89e2f79e",
    "mid": "....",
    "type": "action",
    "data": {
        "run": 0
    }
}

应答

{
    "did": "89e2f79e",
    "mid": "....",
    "type": "action",
    "result": {
        "run": {
            "code": 0
        }
    }
}

设置速率

{
    "did": "89e2f79e",
    "mid": "....",
    "type": "action",
    "data": {
        "setSpeed": 100
    }
}

应答

{
    "did": "89e2f79e",
    "mid": "....",
    "type": "action",
    "result": {
        "setSpeed": {
            "code": 0
        }
    }
}

智能电表

数据上报:

{
    "did": "cc0001000402",
    "type": "stream",
    "data": {
        "activeEnergy": 0,
        "activePower": 0,
        "apparentPower": 0,
        "phaseCurrentA": 0,
        "phaseCurrentB": 0,
        "phaseCurrentC": 0,
        "phaseVoltageA": 0,
        "phaseVoltageB": 0,
        "phaseVoltageC": 0,
        "powerFactor": 0,
        "reactivePower": 0
    }
}

气压计

属性:

数据上报:

{
    "did": "001122334455",
    "gateway": "aa01234567890",
    "type": "stream",
    "data": {
        "pressure": 0
    }
}

水压计

属性:

数据上报:

{
    "did": "001122334455",
    "gateway": "aa01234567890",
    "type": "stream",
    "data": {
        "waterPressure": 0
    }
}

液位传感器

属性:

数据上报:

{
    "did": "001122334455",
    "gateway": "aa01234567890",
    "type": "stream",
    "data": {
        "waterLevel": 0
    }
}

智能空开

Modbus 地址

寄存器地址

开关 3 地址为 0x02

HB LB Address UNIT NOTE
0 2 0x0002-2 1V 电压
1 2 0x0102-258 0.1mA 漏电流
2 2 0x0202-514 1W 功率
3 2 0x0302-770 0.1C 温度
4 2 0x0402-1026 0.01A 电流
5 2 0x0502-1282 - 报警
6 2 0x0602-1538 0.001kWh 电量低
7 2 0x0702-1794 0.001kWh 电量高
8 2 0x0802-2050 1V 电压A

配置

{
    "did": "aa1234567891",
    "mid": "1234",
    "type": "action",
    "data": {
        "config": {
            "write": {
                "version": 0,
                "properties": {
                    "power": {
                        "s": 0.001,
                        "f": 1,
                        "a": 30
                    }, 
                    "on": {
                        "code": 0x01
                    }
                },
                "actions": {
                    "setOn": {
                        "code": 0x05,
                        "value": 0xff00,
                    },
                    "setOff": {
                        "code": 0x05,
                        "value": 0x0000,
                    }
                },
                "forms": {
                    "address": 10,
                    "index": 0,
                    "mode": 0,
                    "protocol": "mantunsci",
                    "interval": 60
                }
            }
        }
    }
}

数据上报:

1P:

{
    "did": "cc0001000402",
    "type": "stream",
    "data": {
        "energy": 0,
        "power": 0,
        "current": 0,
        "temperature": 0
        "on": 0
    }
}

2P:

{
    "did": "cc0001000402",
    "type": "stream",
    "data": {
        "energy": 0,
        "power": 0,
        "leakageCurrent": 0,
        "current": 0,
        "voltage": 0,
        "temperature": 0
        "on": 0
    }    
}

3P:

{
    "did": "cc0001000402",
    "type": "stream",
    "data": {
        "energy": 0,
        "power": 0,
        "temperature": 0,
        "leakageCurrent": 0,
        "phaseCurrentA": 0,
        "phaseCurrentB": 0,
        "phaseCurrentC": 0,
        "phaseVoltageA": 0,
        "phaseVoltageB": 0,
        "phaseVoltageC": 0,
        "phasePowerA": 0,
        "phasePowerB": 0,
        "phasePowerC": 0,
        "on": 0
    }     
}

开关控制:

开:

{
    "did": "cc0001000402",
    "type": "action",
    "data": {
        "setOn": {}
    }    
}

关:

{
    "did": "cc0001000402",
    "type": "action",
    "data": {
        "setOff": {}
    }    
}

二次供水控制器

电力设备

装备

充电站

基本信息

元数据

车位

关联设备

元数据

车位锁

操作

查询

充电桩

操作

远程重启

云端可通过这个操作远程重启电桩

请求

{
    "did": "10000000000009",
    "type": "action",
    "data": {
        "reboot": {
            "mode": 1,
            "delay": 100
        }
    }
}

应答

{
    "did": "10000000000009",
    "type": "action",
    "result": {
        "reboot": {
            "code": 0,
            "result": 1
        }
    }
}
读取数据

云端可通过这个操作主动读取电桩当前状态

请求

{
    "did": "10000000000009",
    "type": "action",
    "data": {
        "read": {}
    }
}

应答

{
    "did": "10000000000009",
    "type": "action",
    "result": {
        "read": {
            "interfaceCode": 0,
            "chargingState": 0,
            "pileErrorCode": 0, 
            "tcuErrorCode": 0,
            "errorCode": 0,
            ...
        }
    }
}

发生错误

{
    "did": "10000000000009",
    "type": "action",
    "result": {
        "read": {
            "code": 408
            "error": "read timeout"
        }
    }
}

故障代码

数据上报

网关将定时采集并上报电桩当前状态

{
    "did": "10000000000009",
    "type": "action",
    "stream": {
        "interfaceCode": 0,
        "chargingState": 0,
        "pileErrorCode": 0, 
        "tcuErrorCode": 0,
        "errorCode": 0,
        ...
    }
}

充电桩工作状态 (chargingState)

直流桩故障状态 (pileErrorCode)

序号 参数名称 字节序号 字段长度 备注
2 保留 1 2 bit
3 总故障 1 1 bit
4 总告警 1 1 bit
5 急停按钮动作故障 1 1 bit
6 烟感故障 1 1 bit
7 交流输入断路器故障 1 1 bit
8 直流母线输出接触器拒动/误动故障 1 1 bit
9 直流母线输出熔断器故障 2 1 bit
10 充电接口电子锁故障 2 1 bit
11 充电桩风扇故障 2 1 bit
12 避雷器故障 2 1 bit
13 绝缘监测故障 2 1 bit
14 电池极性反接故障 2 1 bit
15 充电中车辆控制导引故障 2 1 bit
16 充电桩过温故障 2 1 bit
17 充电接口过温故障 3 1 bit
18 充电枪未归位告警 3 1 bit
19 BMS 通信故障 3 1 bit
20 输入电压过压故障 3 1 bit
21 输入电压欠压故障 3 1 bit
22 直流母线输出过压故障 3 1 bit
23 直流母线输出欠压故障 3 1 bit
24 直流母线输出过流故障 3 1 bit
25 充电模块故障 4 1 bit
26 充电模块交流输入故障 4 1 bit
27 充电模块交流输入过压故障 4 1 bit
28 充电模块交流输入欠压故障 4 1 bit
29 充电模块交流输入缺相故障 4 1 bit
30 充电模块直流输出短路故障 4 1 bit
31 充电模块直流输出过流故障 4 1 bit
32 充电模块直流输出过压故障 4 1 bit
33 充电模块直流输出欠压故障 5 1 bit
34 充电模块过温故障 5 1 bit
35 充电模块通信故障 5 1 bit
36 充电模块风扇故障 5 1 bit
37 车辆连接状态 5 1 bit
38 充电桩充电枪座状态 5 1 bit
39 充电接口电子锁状态 5 1 bit
40 直流输出接触器状态 5 1 bit
41 其它类型故障 6~8 2 byte

TCU 故障状态 (tcuErrorCode)

序号 参数名称 字节序号 字段长度
2 门禁故障 1 1 bit
3 直流输出接触器粘连故障 1 1 bit
4 绝缘监测告警 1 1 bit
5 泄放回路故障 1 1 bit
6 充电桩过温告警 1 1 bit
7 充电枪过温告警 1 1 bit
8 交流输入接触器据动/误动故障 1 1 bit
9 交流输入接触器粘连故障 1 1 bit
10 辅助电源故障 2 1 bit
11 并联接触器据动/误动故障 2 1 bit
12 并联接触器粘连故障 2 1 bit

智能监控终端故障状态 (errorCode)

序号 参数名称 字节序号 字段长度
1 急停按钮状态 1 1 bit
2 烟感状态 1 1 bit
3 紧急呼叫 1 1 bit
4 备用 1 1 bit
5 备用 1 1 bit
6 备用 1 1 bit
7 备用 1 1 bit
8 备用 1 1 bit
9 急停开关故障状态 2 1 bit
10 MCU 通信故障 2 1 bit
11 备用 2 1 bit
12 备用 2 1 bit
13 备用 2 1 bit
14 备用 2 1 bit
15 备用 2 1 bit
16 备用 2 1 bit

直流桩状态

序号 参数名称 字节序 长度 名称 单位 缩放 偏移 范围
1 充电接口标识 1 1 interfaceCode - - - 0~255
2 充电输出电压 2 2 outputVoltage V 0.1 0 0-950
3 充电输出电流 4 2 outputCurrent A 0.1 -400 -400~0
4 SOC(State of charge ) 6 1 soc % 1 0 0~100
5 电池组最低温度 7 1 minBatteryTemperature 1 -50 -50~200
6 电池组最高温度 8 1 maxBatteryTemperature 1 -50 -50~200
7 单体电池最高电压 9 2 maxCellVoltage V 0.01 0 0~24
8 单体电池最低电压 11 2 minCellVoltage V 0.01 0 0~24
9 充电机环境温度 13 1 ambientTemperature 1 -50 -50~200
10 充电导引电压 (连接确认) 14 2 ccVoltage V 0.01 0 0~30
11 BMS 需求电压 16 2 bmsDemandVoltage V 0.1 0 0-950
12 BMS 需求电流 18 2 bmsDemandCurrent A 0.1 -400 -400~0
13 充电模式 20 1 chargingMode - - - -
14 BMS充电电压测量值 21 2 bmsVoltage V 0.1 0 0-950
15 BMS充电电流测量值 23 2 bmsCurrent A 0.1 -400 -400~0
16 估算剩余充电时间 25 2 remainingTime min 1 0 0~600
17 充电接口温度探头1温度(接口1 DC+) 27 1 interfaceTemperature1 1 -50 -50~200
18 充电接口温度探头2温度(接口1 DC-) 28 1 interfaceTemperature2 1 -50 -50~200
19 充电接口温度探头3温度(接口2 DC+) 29 1 interfaceTemperature3 1 -50 -50~200
20 充电接口温度探头4温度(接口2 DC+) 30 1 interfaceTemperature4 1 -50 -50~200

智能监控终端状态

序号 参数名称 字节序 长度 名称 单位 缩放 偏移 范围
1 桩内温度 1 1 pileTemperature 1 -50 -50~200
2 输出接触器温度 2 1 contactorTemperature 1 -50 -50~200
3 充电模块温度 3 1 chargerTemperature 1 -50 -50~200

车牌识别相机

识别相机支持有线网络,通过 webhook 的方式和网关进行通信

属性

配置

串口显示屏

通信接口

显示屏直接连接到车牌识别相机 485 口

操作