Skip to content

4G充电桩开放协议 V1.0

当前版本:V1.0 上一版本:开放协议 V0.9

1 协议基础

1.1 通信链路

开放协议由注册平台分配业务 MQTT 参数后启用。设备先向注册平台登录,注册平台通过 #LOGIN-RETURN 下发业务服务器地址、Topic、productCategory、商户信息、桩编号和业务密钥。

productCategory = 5 时,NCS 模板选择开放协议适配器;其它数值选择私有协议适配器。

业务 MQTT 链路使用注册平台下发的 chargerKey 做 AES-128-CBC/PKCS7 加解密,IV 为 16 字节全 0。本文所有业务报文均指解密后的明文协议文本。

1.2 数据结构

起始标志指令类型指令序号消息体
#英文语义化指令idx使用逗号分隔的字段列表

示例数据:#<指令类型>,<指令序号>,<消息体>

  1. 指令以 # 开头,字段以英文逗号 , 分隔。
  2. 指令序号 idx 由发送方生成,用于匹配请求和响应;设备上行开放协议序号持久化,范围 0~65535,溢出后归 0。
  3. 端口号 chn 从 1 开始。
  4. 金额单位为分;电量单位为 Wh。
  5. 功率字段按指令说明使用 W 或 W * 10 的整数。
  6. 业务心跳空闲周期固定为 4 分钟,充电中运行调度会按 1 分钟尝试上报。

1.3 数据类型

类型参数名说明
数值型Number十进制数字,用于金额、功率、端口、状态、时间等
字符型String以字符形式传输的数据
列表型List使用 |, 连接的数据组,按字段说明解析

2 设备上行指令

2.1 设备注册 #REGISTER

设备 → 平台:业务 MQTT 就绪后,设备发送一次业务注册报文。

示例报文:#REGISTER,1,123456789012345,864710071234567,460047661234567,89860846123456789000,0.0.5,1,2,0,1,10,60,15000,15000,900,4

序号字段名类型示例值说明
1指令类型String#REGISTER固定为 #REGISTER;业务注册指令
2指令序号Number1取值 0~65535;设备生成的业务指令序号
3充电桩注册码String123456789012345长度 15 字节;优先使用注册平台下发桩编号,无桩编号时使用 IMEI,不足 15 位右侧补 0,超长截取 15 位
4IMEIString864710071234567长度 15 字节;设备 IMEI,不足 15 位右侧补 0,超长截取 15 位
5IMSIString460047661234567长度 15 字节;SIM 卡 IMSI,不足 15 位右侧补 0,超长截取 15 位
6ICCIDString89860846123456789000长度 20 字节;SIM 卡 ICCID,不足 20 位右侧补 0,超长截取 20 位
7固件版本String0.0.5固件版本,唯一事实来源为项目入口常量封装
8注册类型Number1固定为 1;充电桩类型,当前固定为电动自行车充电桩
9端口数量Number21~项目端口数;设备端口数量,由项目入口常量提供
10计费模型编号Number0取值 >=0;当前开放协议计费模型 ID
11充满自停开关Number1取值 01;充满自停开关,1 开启,0 关闭
12充满功率阈值Number10取值 >=0;充满自停功率阈值,单位 W
13充满自停延时Number60取值 >=0;充满自停延时,单位秒
14单端口过载阈值Number15000取值 >0;单端口过载阈值,单位 W
15整桩过载阈值Number15000取值 >0;整桩过载阈值,单位 W
16最长充电时间Number900取值 >0;最长充电时间,单位分钟
17心跳间隔Number4固定为 4;业务心跳配置值,当前开放协议固定为 4 分钟

平台 → 设备:平台可返回业务注册确认,当前固件不解析该响应。

示例报文:#REGISTER,1,1

序号字段名类型示例值说明
1指令类型String#REGISTER固定为 #REGISTER;业务注册响应指令
2指令序号Number1取值 0~65535;等同设备上行业务注册序号
3执行结果Number1平台自定义;当前固件不解析,仅供平台日志或兼容旧平台使用

2.2 心跳 #HEARTBEAT

设备 → 平台:上报充电桩运行数据、计费模型和端口状态。

示例报文:#HEARTBEAT,2,123456789012345,30,0,2,1|1|1234|64,2|0|0|0

序号字段名类型示例值说明
1指令类型String#HEARTBEAT固定为 #HEARTBEAT;心跳指令
2指令序号Number2取值 0~65535;设备生成的业务指令序号
3桩编号String123456789012345长度 15 字节;15 位桩编号,不足补 0,超长截取
4信号强度Number30取值 0~31;信号强度,数值越大信号越好
5计费模型编号Number0取值 >=0;当前计费模型 ID
6端口数量Number21~项目端口数;端口数量
7端口数据组List1|1|1234|64与端口数一致;每个端口一个数据组,多个端口用逗号连接;组内字段用 | 分隔

端口数据组格式:port|state|powerInt|balance

序号字段名类型示例值说明
1端口号Number11~端口数量;端口号
2状态Number1取值 011 表示充电中,0 表示非充电
3功率整数Number1234取值 >=0;当前有功功率按 W * 10 后四舍五入取整
4余额Number64取值 >=0;当前订单剩余金额,单位分;非充电中为 0

平台 → 设备:平台可确认心跳,当前固件不解析该响应。

示例报文:#HEARTBEAT,2

序号字段名类型示例值说明
1指令类型String#HEARTBEAT固定为 #HEARTBEAT;心跳响应指令
2指令序号Number2取值 0~65535;等同设备上行心跳序号

2.3 充电自停 #AUTO-STOP

设备 → 平台:设备因充满、余额用完、超载、拔出、超时等原因结束充电后,上报订单费用明细。

示例报文:#AUTO-STOP,3,2,1,20250101120000123456,30,150,100,24,12,64

序号字段名类型示例值说明
1指令类型String#AUTO-STOP固定为 #AUTO-STOP;自停上报指令
2指令序号Number3取值 0~65535;设备生成的业务指令序号
3自停类型Number2取值 1~3;开放协议自停类型:1 充满/超时/余额类,2 拔出或无余额超时,3 过载
4端口号Number11~端口数量;自停端口号
5订单编号String20250101120000123456长度 1~30 字节;无订单为 0;当前订单编号
6充电时长Number30取值 >=0;充电时长,单位分钟
7充电电量Number150取值 >=0;充电电量,单位 Wh
8预付金额Number100取值 >=0;订单预付金额,单位分
9电费Number24取值 >=0;电费,单位分
10服务费Number12取值 >=0;服务费,单位分
11余额Number64取值 >=0;订单剩余金额,单位分

平台 → 设备:平台确认自停事件。

示例报文:#AUTO-STOP,3,1,20250101120000123456,1

序号字段名类型示例值说明
1指令类型String#AUTO-STOP固定为 #AUTO-STOP;自停确认指令
2指令序号Number3取值 0~65535;等同设备上行自停序号
3端口号Number11~端口数量;自停端口号;当前固件从该字段读取端口
4订单编号String20250101120000123456长度 1~30 字节;平台确认的订单编号;当前固件不校验该字段
5执行结果Number1取值 1 表示成功;1 表示平台确认自停,设备移除待确认自停队列;其它值固件忽略

3 平台下行指令

3.1 开启充电 #CHARGE-START

平台 → 设备:平台下发开启充电指令,启动指定端口订单。

示例报文:#CHARGE-START,4,1,20250101120000123456,100

序号字段名类型示例值说明
1指令类型String#CHARGE-START固定为 #CHARGE-START;开启充电指令
2指令序号Number4取值 0~65535;平台生成的指令序号
3端口号Number11~端口数量;目标端口号
4订单编号String20250101120000123456长度 1~30 字节,不能为 0;订单编号,不能为空,不能为 0
5充电金额Number100取值 >0;预付金额,单位分,必须大于 0

设备 → 平台:返回开启充电结果。

示例报文:#CHARGE-START,4,1,20250101120000123456,1

序号字段名类型示例值说明
1指令类型String#CHARGE-START固定为 #CHARGE-START;开启充电响应指令
2指令序号Number4取值 0~65535;等同平台下发序号
3端口号Number11~端口数量;端口号;端口无效时返回 0
4订单编号String20250101120000123456长度 1~30 字节;订单无效时按请求值回传
5执行结果Number1取值 1~4;执行结果,见下表
result说明
1成功
2金额无效
3端口忙、重复请求或启动失败
4端口无效或订单编号无效

同一端口相同 idx + orderId + amount 的重复启动请求会返回 3


3.2 终止充电 #CHARGE-STOP

平台 → 设备:平台下发终止充电指令,结束指定端口订单。

示例报文:#CHARGE-STOP,5,1,20250101120000123456

序号字段名类型示例值说明
1指令类型String#CHARGE-STOP固定为 #CHARGE-STOP;终止充电指令
2指令序号Number5取值 0~65535;平台生成的指令序号
3端口号Number11~端口数量;目标端口号
4订单编号String20250101120000123456长度 1~30 字节,不能为 0;必须与当前端口订单编号一致

设备 → 平台:返回终止结果和费用明细;成功响应组包后设备结束充电。

示例报文:#CHARGE-STOP,5,1,1,20250101120000123456,30,150,100,24,12,64

序号字段名类型示例值说明
1指令类型String#CHARGE-STOP固定为 #CHARGE-STOP;终止充电响应指令
2指令序号Number5取值 0~65535;等同平台下发序号
3执行结果Number1取值 145;执行结果,见下表
4端口号Number11~端口数量;端口号;端口无效时返回 0
5订单编号String20250101120000123456长度 1~30 字节;订单编号
6充电时长Number30取值 >=0;充电时长,单位分钟;result 为 1 时必填
7充电电量Number150取值 >=0;充电电量,单位 Wh;result 为 1 时必填
8预付金额Number100取值 >=0;订单预付金额,单位分;result 为 1 时必填
9电费Number24取值 >=0;电费,单位分;result 为 1 时必填
10服务费Number12取值 >=0;服务费,单位分;result 为 1 时必填
11余额Number64取值 >=0;订单剩余金额,单位分;result 为 1 时必填
result说明
1成功,设备随后结束充电
4端口无效或订单编号无效
5订单编号与当前端口订单不一致

3.3 查询设备 #DEVICE-QUERY

平台 → 设备:查询计费模型、端口数量和全部端口状态。

示例报文:#DEVICE-QUERY,6

序号字段名类型示例值说明
1指令类型String#DEVICE-QUERY固定为 #DEVICE-QUERY;查询设备指令
2指令序号Number6取值 0~65535;平台生成的指令序号

设备 → 平台:返回当前计费模型和端口状态。

示例报文:#DEVICE-QUERY,6,0,2,1,0

序号字段名类型示例值说明
1指令类型String#DEVICE-QUERY固定为 #DEVICE-QUERY;查询设备响应指令
2指令序号Number6取值 0~65535;等同平台下发序号
3计费模型编号Number0取值 >=0;当前计费模型 ID
4端口数量Number21~端口数量;端口数量
5端口1状态Number1取值 01;端口 1 状态,1 充电中,0 非充电
...端口N状态Number0取值 01;按端口数量继续追加,每个端口一个字段

3.4 查询端口 #PORT-QUERY

平台 → 设备:查询指定端口订单、状态和费用。

示例报文:#PORT-QUERY,7,1

序号字段名类型示例值说明
1指令类型String#PORT-QUERY固定为 #PORT-QUERY;查询端口指令
2指令序号Number7取值 0~65535;平台生成的指令序号
3端口号Number11~端口数量;目标端口号

设备 → 平台:返回端口状态、订单、时长、电量和费用。

示例报文:#PORT-QUERY,7,1,1,20250101120000123456,30,150,100,24,12,64

序号字段名类型示例值说明
1指令类型String#PORT-QUERY固定为 #PORT-QUERY;查询端口响应指令
2指令序号Number7取值 0~65535;等同平台下发序号
3端口状态Number1取值 0~20 非充电,1 充电中,2 端口无效
4端口号Number11~端口数量;端口号;端口无效时返回 0
5订单编号String20250101120000123456长度 1~30 字节;无订单为 0;当前端口订单编号
6充电时长Number30取值 >=0;充电时长,单位分钟
7充电电量Number150取值 >=0;充电电量,单位 Wh
8预付金额Number100取值 >=0;订单预付金额,单位分
9电费Number24取值 >=0;电费,单位分
10服务费Number12取值 >=0;服务费,单位分
11余额Number64取值 >=0;订单剩余金额,单位分

3.5 查询计费模型 #RATE-QUERY

平台 → 设备:查询当前计费模型。

示例报文:#RATE-QUERY,8

序号字段名类型示例值说明
1指令类型String#RATE-QUERY固定为 #RATE-QUERY;查询计费模型指令
2指令序号Number8取值 0~65535;平台生成的指令序号

设备 → 平台:返回当前计费模型数据。

示例报文:#RATE-QUERY,8,0,3,1200|1830|2359,E,850|850|850,E,150|150|150,A94F21C8

序号字段名类型示例值说明
1指令类型String#RATE-QUERY固定为 #RATE-QUERY;查询计费模型响应指令
2指令序号Number8取值 0~65535;等同平台下发序号
3计费模型编号Number0取值 >=0;当前计费模型 ID
4计费分组数Number3取值 1~10;计费分组数量
5时间阈值列表List1200|1830|2359HHMM,数量等于 groupNum;使用 | 分隔的时间阈值列表,最后一项按实现归一为 2359
6电费模式StringE取值 ETE 按电量计电费,T 按时间计电费
7电费费率列表List850|850|850数量等于 groupNum,电费费率 >0;使用 | 分隔的电费费率,单位厘
8服务费模式StringE取值 ETE 按电量计服务费,T 按时间计服务费
9服务费费率列表List150|150|150数量等于 groupNum,服务费费率 >=0;使用 | 分隔的服务费费率,单位厘
10费率摘要StringA94F21C8rateHash 或等价配置摘要;用于平台确认当前配置内容,可选尾部字段

3.6 设置计费模型 #RATE-SET

平台 → 设备:设置当前计费模型。当前固件支持两种格式。

格式一:列表格式

示例报文:#RATE-SET,9,101,3,1200|1830|2359,E,850|850|850,E,150|150|150,A94F21C8

序号字段名类型示例值说明
1指令类型String#RATE-SET固定为 #RATE-SET;设置计费模型指令
2指令序号Number9取值 0~65535;平台生成的指令序号
3计费模型编号Number101取值 >=0;计费模型 ID
4计费分组数Number3取值 1~10;计费分组数量
5时间阈值列表List1200|1830|2359HHMM,数量等于 groupNum;使用 | 分隔的时间阈值列表;最后一项会按实现归一为 2359
6电费模式StringE取值 ET;电费计费模式
7电费费率列表List850|850|850数量等于 groupNum,每项 >0;电费费率列表,单位厘
8服务费模式StringE取值 ET;服务费计费模式
9服务费费率列表List150|150|150数量等于 groupNum,每项 >=0;服务费费率列表,单位厘
10费率摘要StringA94F21C8rateHash 或等价配置摘要;可选尾部字段,携带时设备应校验并在响应中回传

格式二:分组展开格式

示例报文:#RATE-SET,10,102,3,E,E,1200,850,150,1830,850,150,2359,850,150,B72D1E90

序号字段名类型示例值说明
1指令类型String#RATE-SET固定为 #RATE-SET;设置计费模型指令
2指令序号Number10取值 0~65535;平台生成的指令序号
3计费模型编号Number102取值 >=0;计费模型 ID
4计费分组数Number3取值 1~10;计费分组数量
5电费模式StringE取值 ET;电费计费模式
6服务费模式StringE取值 ET;服务费计费模式
7第1组结束时间Number1200取值 0000~2400 的 HHMM;第 1 组结束时间
8第1组电费费率Number850取值 >0;第 1 组电费费率,单位厘
9第1组服务费费率Number150取值 >=0;第 1 组服务费费率,单位厘
...分组字段Number2359,850,150groupNum 重复;每组 3 个字段,顺序为结束时间、电费费率、服务费费率
末尾费率摘要StringB72D1E90rateHash 或等价配置摘要;可选尾部字段,携带时设备应校验并在响应中回传

设备 → 平台:返回计费模型设置结果。

示例报文:#RATE-SET,9,1,101,A94F21C8

序号字段名类型示例值说明
1指令类型String#RATE-SET固定为 #RATE-SET;设置计费模型响应指令
2指令序号Number9取值 0~65535;等同平台下发序号
3执行结果Number1取值 1~3;执行结果,见下表
4计费模型编号Number101rateModelId;实际保存的费率模型编号,可选尾部字段
5费率摘要StringA94F21C8rateHash 或等价配置摘要;实际保存的配置摘要,可选尾部字段
result说明
1成功
2参数无效
3分组数无效

#RATE-SET 设置的是设备级费率,只影响后续新订单;正在运行的订单继续使用启动时锁定的费率快照。平台携带 rateHash 时,设备应按完整配置计算摘要并确认一致,不一致时返回参数无效,不保存部分配置。


3.7 查询工作参数 #PARAM-QUERY

平台 → 设备:查询充电桩当前工作参数。

示例报文:#PARAM-QUERY,11

序号字段名类型示例值说明
1指令类型String#PARAM-QUERY固定为 #PARAM-QUERY;查询工作参数指令
2指令序号Number11取值 0~65535;平台生成的指令序号

设备 → 平台:返回工作参数。

示例报文:#PARAM-QUERY,11,1,10,60,15000,15000,900,4

序号字段名类型示例值说明
1指令类型String#PARAM-QUERY固定为 #PARAM-QUERY;查询工作参数响应指令
2指令序号Number11取值 0~65535;等同平台下发序号
3充满自停开关Number1取值 01;充满自停开关
4充满功率阈值Number10取值 >=0;充满功率阈值,单位 W
5充满自停延时Number60取值 >=0;充满延时,单位秒
6单端口过载阈值Number15000取值 >0;单端口过载阈值,单位 W
7整桩过载阈值Number15000取值 >0;整桩过载阈值,单位 W
8最长充电时间Number900取值 >0;最长充电时间,单位分钟
9心跳间隔Number4固定为 4;固件固定返回 4

3.8 设置工作参数 #PARAM-SET

平台 → 设备:在线修改充电桩工作参数。

示例报文:#PARAM-SET,12,1,10,60,15000,15000,900,4

序号字段名类型示例值说明
1指令类型String#PARAM-SET固定为 #PARAM-SET;设置工作参数指令
2指令序号Number12取值 0~65535;平台生成的指令序号
3充满自停开关Number1取值 01;充满自停开关
4充满功率阈值Number10取值 >=0;充满功率阈值,单位 W
5充满自停延时Number60取值 >=0;充满延时,单位秒
6单端口过载阈值Number15000取值 >0;单端口过载阈值,单位 W
7整桩过载阈值Number15000取值 >0;整桩过载阈值,单位 W
8最长充电时间Number900取值 >0;最长充电时间,单位分钟
9心跳间隔Number4固定为 4;可选字段;如携带,必须为 4,否则返回参数无效

设备 → 平台:返回工作参数设置结果。

示例报文:#PARAM-SET,12,1

序号字段名类型示例值说明
1指令类型String#PARAM-SET固定为 #PARAM-SET;设置工作参数响应指令
2指令序号Number12取值 0~65535;等同平台下发序号
3执行结果Number1取值 121 成功,2 参数无效

3.9 远程重启 #REBOOT

平台 → 设备:远程重启设备。

示例报文:#REBOOT,13

序号字段名类型示例值说明
1指令类型String#REBOOT固定为 #REBOOT;远程重启指令
2指令序号Number13取值 0~65535;平台生成的指令序号

设备 → 平台:返回重启结果,随后约 3 秒执行重启。

示例报文:#REBOOT,13,1

序号字段名类型示例值说明
1指令类型String#REBOOT固定为 #REBOOT;远程重启响应指令
2指令序号Number13取值 0~65535;等同平台下发序号
3执行结果Number1固定为 11 表示设备已接受重启

3.10 掉电提醒 #DROP_POWER

设备 → 平台:设备检测掉电时上报掉电提醒和端口状态摘要。

示例报文:#DROP_POWER,15,30,55,2,1|1|1234|64,2|0|0|0

序号字段名类型示例值说明
1指令类型String#DROP_POWER固定为 #DROP_POWER;掉电提醒
2指令序号Number15取值 0~65535;设备生成的业务指令序号
3信号强度Number30取值 0~31;信号强度
4信号接收功率Number55模块返回值;信号接收功率
5端口数量Number21~项目端口数;端口数量
6端口数据组List1|1|1234|64与端口数一致;多个端口用逗号连接,组内用 | 分隔

端口数据组格式:port|state|powerInt|balance,字段含义与 #HEARTBEAT 一致。

平台 → 设备:平台可确认掉电提醒,当前设备可忽略该响应。

示例报文:#DROP_POWER,15,1

序号字段名类型示例值说明
1指令类型String#DROP_POWER固定为 #DROP_POWER;掉电提醒响应
2指令序号Number15取值 0~65535;等同设备上行序号
3执行结果Number1返回码,见下表
result说明
1平台已接收
2平台拒绝或字段无效

异常处理:设备端口摘要不完整时不得补默认端口数据;平台无法识别字段时返回 2 或不响应,设备不因响应缺失阻塞掉电处理。

业务影响:用于掉电事件追踪和订单对账辅助,不主动停止端口;实际停充仍由设备掉电保护和恢复流程决定。


3.11 设备绑定 #BIND_DEVICE

平台 → 设备:设置设备绑定状态。

示例报文:#BIND_DEVICE,16,1

序号字段名类型示例值说明
1指令类型String#BIND_DEVICE固定为 #BIND_DEVICE;绑定状态指令
2指令序号Number16取值 0~65535;平台生成的指令序号
3绑定状态Number1取值 010 解绑,1 绑定

设备 → 平台:返回绑定处理结果。

示例报文:#BIND_DEVICE,16,1

序号字段名类型示例值说明
1指令类型String#BIND_DEVICE固定为 #BIND_DEVICE;绑定响应
2指令序号Number16取值 0~65535;等同平台下发序号
3执行结果Number1返回码,见下表
result说明
1成功,状态已处理
2参数无效
3解绑停充处理失败

异常处理:绑定状态不是 0/1 时返回 2。解绑时设备应结束所有运行端口;若存在端口无法结束,应返回 3 并保留可追踪状态。

业务影响:绑定成功更新设备业务状态;解绑会结束所有端口充电,平台应准备接收相应停充或自停事件。


3.12 刷卡校验 #CARD_VERIFY

设备 → 平台:用户刷卡后,设备请求平台校验卡 UID。

示例报文:#CARD_VERIFY,17,1,AABB1122

序号字段名类型示例值说明
1指令类型String#CARD_VERIFY固定为 #CARD_VERIFY;刷卡校验请求
2指令序号Number17取值 0~65535;设备生成的业务指令序号
3端口号Number11~端口数量;刷卡端口
4卡 UIDStringAABB1122十六进制字符串;卡 UID

平台 → 设备:返回刷卡校验结果。

示例报文:#CARD_VERIFY,17,1,1

序号字段名类型示例值说明
1指令类型String#CARD_VERIFY固定为 #CARD_VERIFY;刷卡校验响应
2指令序号Number17取值 0~65535;等同设备上行序号
3端口号Number11~端口数量;刷卡端口
4校验结果Number1返回码,见下表
result说明
0卡片无效
1校验成功
2余额不足
3端口无效

异常处理:端口号无效时平台返回 3;卡 UID 缺失或格式非法时返回 0。设备等待响应超时时按校验失败处理,不启动订单。

业务影响:校验成功后设备可进入刷卡启动流程;失败或超时不得开启充电。


3.13 远程升级 #UPGRADE

平台 → 设备:请求设备进入远程升级流程。

示例报文:#UPGRADE,18

序号字段名类型示例值说明
1指令类型String#UPGRADE固定为 #UPGRADE;远程升级指令
2指令序号Number18取值 0~65535;平台生成的指令序号

设备 → 平台:返回升级受理结果。

示例报文:#UPGRADE,18,1

序号字段名类型示例值说明
1指令类型String#UPGRADE固定为 #UPGRADE;远程升级响应
2指令序号Number18取值 0~65535;等同平台下发序号
3执行结果Number1返回码,见下表
result说明
1已接受升级
2当前状态不允许升级
3升级参数或环境检查失败

异常处理:设备存在不能中断的运行状态时返回 2;升级入口检查失败时返回 3,不得进入半升级状态。

业务影响:返回 1 后设备进入升级流程,可能断开业务 MQTT;平台应停止继续下发普通业务指令并等待设备重新注册。


4 兼容说明

  • #LOGIN 仅用于注册平台登录阶段,不属于开放协议业务 MQTT 指令。
  • BILLING-QUERYBILLING-SET 不是当前 NCS 模板实现的开放协议业务指令;计费模型统一使用 #RATE-QUERY#RATE-SET
  • 当前开放协议以订单编号贯穿开启、停止、自停流程;订单编号缺失或不匹配会被拒绝。
  • 开放协议当前代码尚未实现刷卡、绑定、掉电提醒和远程升级;协议目标已在对应 #* 小节中补齐。
  • 费率类指令使用 rateModelIdrateHash 或等价配置摘要确认设备级配置;设备级费率只影响后续新订单。
  • #AUTO-STOP 平台确认字段位置以当前代码为准:第 3 字段为 chn,第 5 字段为 result