TCP设备接入准备
概述
本文档介绍TCP设备接入平台的准备工作,包括设备定义、协议规范、数据格式等内容。通过本指南,您可以快速了解TCP设备接入的完整流程。
设备定义示例
说明:以下设备定义由AI生成,仅供参考。实际设备可能与此定义存在差异,请根据实际情况进行调整。
设备基本信息
- 设备名称:简易智能插座
- 核心功能:远程控制开关状态、实时上报用电参数(电流/电压/功率)、触发过载报警等事件
- 通信方式:TCP直连,16进制报文传输
TCP协议规范
通用报文格式
平台采用16进制报文格式进行数据传输,确保数据传输的可靠性和效率。
| 字段名称 | 长度 | 说明 | 示例值 |
|---|---|---|---|
| 帧头 | 2B | 固定标识报文开始 | A5A5 |
| 设备ID | 4B | 设备唯一标识 | 0001 |
| 命令码 | 1B | 区分报文类型 | 01 |
| 数据长度 | 1B | 数据区字节数 | 07 |
| 数据区 | NB | 业务数据内容 | 变长 |
| 帧尾 | 2B | 固定标识报文结束 | 5A5A |
字段详细说明
- 帧头:固定为
A5A5(标识报文开始) - 设备ID:4字节16进制字符串(如
0001表示第1台设备) - 命令码:1字节,区分报文类型(见下表)
- 数据长度:1字节16进制,标识数据区的字节数(如
07表示7字节) - 数据区:变长,存储属性、事件或控制指令的具体内容
- 帧尾:固定为
5A5A(标识报文结束)
命令码定义
| 命令码(16进制) | 方向 | 含义 | 数据区内容格式 |
|---|---|---|---|
| 01 | 上行 | 属性上报 | 开关状态(1B) + 电流(2B) + 电压(2B) + 功率(2B) |
| 02 | 上行 | 事件上报 | 事件类型(1B) + 事件参数(2B) |
| 03 | 下行 | 开关控制指令 | 控制类型(1B) + 目标状态(1B) |
| 04 | 上行 | 指令响应 | 执行结果(1B)(00=成功,01=失败) |
数据区详细定义
属性上报(命令码01)
数据区格式:[开关状态(1B)][电流(2B)][电压(2B)][功率(2B)]
- 开关状态:
01=开,00=关 - 电流:2字节16进制,单位
0.01A(如05DC→ 1500 → 1500×0.01=15.00A) - 电压:2字节16进制,单位
0.1V(如08F0→ 2288 → 2288×0.1=228.8V) - 功率:2字节16进制,单位
1W(如04B0→ 1200 → 1200W)
示例报文:
json
A5A5000101070105DC08F004B05A5A解析:设备0001上报,开关状态为开,电流15.00A,电压228.8V,功率1200W
事件上报(命令码02)
数据区格式:[事件类型(1B)][事件参数(2B)]
- 事件类型:
01=过载报警,03=上线,04=下线 - 事件参数:仅过载报警有效,单位
1W(如04B0→ 1200W)
示例报文(过载报警):
json
A5A5000102030104B05A5A解析:设备0001触发过载报警,当前功率1200W
开关控制指令(命令码03)
数据区格式:[控制类型(1B)][目标状态(1B)]
- 控制类型:固定为
01(开关控制) - 目标状态:
01=开,00=关
示例报文(打开开关):
json
A5A50001030201015A5A解析:平台向设备0001发送指令,控制开关打开
指令响应(命令码04)
数据区格式:[执行结果(1B)]
- 执行结果:
00=成功,01=失败
示例报文(执行成功):
json
A5A500010401005A5A