4G断路器APP与设备的数据交互通常基于MQTT协议,采用JSON格式传输控制指令与状态信息,具体交互格式及流程如下:
### **一、通信协议基础**
1. **协议选择**
主流4G断路器设备采用**MQTT协议**(部分支持TCP协议,但应用较少)进行数据传输。MQTT是一种轻量级发布/订阅消息协议,适合物联网设备低带宽、高延迟或不可靠的网络环境。
2. **连接方式**
- **标准品**:通过MQTT协议接入阿里云等公有云服务器,使用“云智能”APP控制。
- **定制品**:接入用户自有MQTT服务器,需提供服务器地址(默认端口1883)、设备唯一ClientID(格式为“ebt-”+设备出厂ID,如“ebt-S3200278S00047”)及Username(出厂ID)。Password根据服务器校验需求提供。
### **二、数据交互格式**
#### **1. 控制指令下发(APP → 设备)**
- **Topic**:默认为`yibaite/{设备出厂ID}-set`(如`yibaite/S3200278S00047-set`)。
- **消息格式**:JSON,包含必要字段`method`(固定为`thing.service.property.set`)、唯一标识`id`(时间戳)及控制参数`params`。
- **示例**:
```json
{
"method": "thing.service.property.set",
"id": "2023-6-12-16_22",
"params": {
"powerstate": 1 // 1表示开,0表示关
}
}
```
- **关键控制字段**:
- `powerstate`:第一路开关状态(多路设备可能有`ch2`、`ch3`等)。
- 其他功能字段(如定时开关、重合闸设置)根据设备支持情况添加。
#### **2. 状态信息上报(设备 → APP)**
- **Topic**:默认为`yibaite/{设备出厂ID}-post`(如`yibaite/S3200278S00047-post`)。
- **消息格式**:JSON,包含设备状态信息(`method`固定为`thing.event.property.post`)及实时参数`params`。
- **示例**:
```json
{
"id": "000001-0000010",
"version": "1.0",
"method": "thing.event.property.post",
"params": {
"powerstate": 1, // 当前开关状态
"csq": 71, // 信号强度
"ICCID": "89860495042180775849", // SIM卡标识
"electric_read": 5.2, // 电流(A)
"voltage_read": 220.3, // 电压(V)
"power_usage": 1.5 // 用电量(kWh)
}
}
```
- **关键状态字段**:
- 基础参数:`powerstate`、`csq`(信号强度)、`ICCID`。
- 电能参数:`electric_read`(电流)、`voltage_read`(电压)、`power_usage`(用电量)。
- 保护功能状态:`over_protect_up`(过流保护阈值)、`is_enable_v_protect_up`(过压保护启用状态)。
### **三、交互流程**
1. **设备连接**:4G断路器通过内置4G模块接入网络,向MQTT服务器发起连接,使用唯一ClientID和Username认证。
2. **订阅与发布**:
- 设备订阅控制Topic(如`yibaite/S3200278S00047-set`),等待APP下发指令。
- 设备定期或触发式向状态Topic(如`yibaite/S3200278S00047-post`)上报数据。
3. **指令处理**:APP发送控制指令后,设备解析JSON中的`params`字段,执行开关操作或参数调整,并返回执行结果(可选)。
4. **异常处理**:网络中断时,部分设备支持本地日志存储,恢复后补传数据。
### **四、扩展功能支持**
- **批量控制**:通过分组Topic(如所有设备订阅`eq-set`)实现多设备同步操作。
- **协议定制**:若需非标准交互格式,可联系厂商定制协议,但费用较高。
- **兼容性**:支持Modbus、CAN、RS485等协议的设备需通过网关转换后接入MQTT。