先确认边界
老网关改造最容易犯的错,是一上来就批量切。正确顺序是:先确认网关型号、固件、下行协议、平台侧会话方式,再选一路非关键负载做单点。
1. 确认网关是主动连接还是被动监听
本项目的老网关是反向拨号:它主动连平台,平台不能主动连它。平台只能在已建立的 TCP 会话上下发命令。这个前提决定了后面所有超时、重连、心跳的设计。
2. 确认报文边界
现场协议是 <packet>{json}</packet>。先抓一次心跳和状态上报,确认分包、粘包、最大长度和超时;不要凭猜写解析器。
3. 先做只读
只实现 ping、deviceStatus、backupData 这类只读动作,观察 24 小时。确认网关在线率、状态字段、设备映射都对,再做控制。
4. 单点控制
选 1 台网关 + 1 路智能插座,执行开、关、再开,记录每次回执和实际状态。控制成功不等于状态正确,必须双向核对。
5. 回滚
回滚不是“再点一次关”。先把网关配置改回原平台,确认它重新连回原平台,再记录回滚时间和原平台在线状态。没有回滚验证,不算完成。
6. 再批量
按区域逐台接入,每台记录 MAC、出口 IP、在线时长、命令回执。任何一台异常,先停下查因,不要带着问题上量。
验收口径
- 网关在线率
- 控制成功率与回执一致性
- 断线重连时间
- 回滚成功率
- 7 天试运行记录
边界
不同厂商的网关协议差异很大,以上步骤是方法,不是通用协议。没有抓到报文、没有单点验证,就不要承诺“都能接”。