整理日期:2026-08-08 源码目录:天权/tianquan-PRO-AF 固件版本:1.3.7 BLE 名称:天权DipperConverge 检测能力:KH、钙、镁 相关文档:README 、设备绑定与 BLE 配网
1. 通信入口
项目
说明
下行主题
配网参数 mqtttopic,设备订阅
上行主题
配网参数 pubtopic,设备发布
MQTT Client ID
clientid,同时作为上行 JSON 的 ID
MQTT 连接
client.connect(clientid),无用户名、无密码、无 TLS、无遗嘱
QoS
发布和订阅均使用 QoS 0
串口
串口收到的完整 JSON 会进入同一个 Analyze_json(),格式与 MQTT 下行一致
设备启动并连接 MQTT 后立即发布三组快照 DF_SJSB1()、DF_SJSB2()、DF_SJSB3(),随后发布 {"ID":"...","state":0}。
2. 上行 JSON
所有上行 JSON 都包含 ID。固件没有通用请求 ID、ACK 或离线补发,上层不能依赖“收到响应”判断指令成功。
2.1 数据上报 1:设备状态与参数
字段
类型
说明
ID
string
设备 ID
GFKG
int
钙反开关,10=开,20=关
DDAKG
int
滴定 A 开关
DDBKG
int
滴定 B 开关
DDCKG
int
滴定 C 开关
GFZS
int
钙反转速
GFZDZS
int
钙反最大转速
KHLDKG
int
KH 联动开关
GAILDKG
int
钙联动开关
MEILDKG
int
镁联动开关
GFLDKG
int
钙反联动开关
STRL
int
水体容量
KHYSZ
string
KH 预设值,两位小数
GAIYSZ
int
钙预设值
MEIYSZ
int
镁预设值
KHBCND
string
KH 补充液浓度
GAIBCND
string
钙补充液浓度
MEIBCND
string
镁补充液浓度
KHZDTJ
int
KH 最大添加量
GAIZDTJ
int
钙最大添加量
MEIZDTJ
int
镁最大添加量
KHXZYZ
int
KH 校准因子
GAIXZYZ
int
钙校准因子
MEIXZYZ
int
镁校准因子
JIAXZYZ
int
钾校准因子
NO3XZYZ
string
NO3 校准因子
PO4XZYZ
string
PO4 校准因子
GJBB
string
固件版本
2.2 数据上报 2:周期、模式与最新结果
字段
类型
说明
ID
string
设备 ID
KHXQ
string
7 个逗号分隔整数,周日到周六,10=开,20=关
GAIXQ
string
钙周期,同上
MEIXQ
string
镁周期,同上
JIAXQ
string
钾周期,同上
NO3XQ
string
NO3 周期,同上
PO4XQ
string
PO4 周期,同上
KHJCCS
int
KH 每日检测次数
GAIJCCS
int
钙每日检测次数
MEIJCCS
int
镁每日检测次数
JIAJCCS
int
钾每日检测次数
NO3JCCS
int
NO3 每日检测次数
PO4JCCS
int
PO4 每日检测次数
KHJCMS
int
KH 检测模式,10=高精度,20=普通
GAIJCMS
int
钙检测模式
MEIJCMS
int
镁检测模式
KHBCMS
int
KH 自动补充检测模式
GAIBCMS
int
钙自动补充检测模式
MEIBCMS
int
镁自动补充检测模式
FSTMS
int
废水桶模式,10=使用,20=不使用
KX
string
KH 最新结果
KJ
string
KH 上次结果
GX
int
钙最新结果
GJ
int
钙上次结果
MX
int
镁最新结果
MJ
int
镁上次结果
2.3 数据上报 3:余量、PID 与滴定参数
字段
类型
说明
ID
string
设备 ID
KHDDCS
int
KH 滴定次数
GAIDDCS
int
钙滴定次数
MEIDDCS
int
镁滴定次数
KHSJL
string
KH 试剂余量
GAISJL
string
钙试剂余量
MEISJL
string
镁试剂余量
JIASJL
string
钾试剂余量
NO3SJL
string
NO3 试剂余量
PO4SJL
string
PO4 试剂余量
FSTYL
string
废水桶余量
SYXH
int
水样消耗量
GFP
string
钙反 P
GFI
string
钙反 I
GFD
string
钙反 D
KHP
string
KH P
KHI
string
KH I
GAIP
string
钙 P
GAII
string
钙 I
MEIP
string
镁 P
MEII
string
镁 I
KHRDD
string
KH 每日补充量
GAIRDD
string
钙每日补充量
MEIRDD
string
镁每日补充量
KHBCYL
string
KH 补充液余量
GAIBCYL
string
钙补充液余量
MEIBCYL
string
镁补充液余量
2.4 心跳与实时状态
字段
说明
ID
设备 ID
ORP
当前固件固定返回 430
PH1
当前固件固定返回 8.0
WIFI
网络状态
设备约每 55 秒发布一次心跳。检测、清洗、校准等过程通过动态键上报进度:
{"ID":"AF240001","KHCSW":20}
其中键名是 YXXM 运行项目,值是 XMJC 进度百分比整数。本型号可能出现的键:
键
含义
KHCSW
KH 检测
GAICSW
钙检测
MEICSW
镁检测
CGQZZ
传感器校准
KHWBXZ
KH 微量泵校准
GAIWBXZ
钙微量泵校准
MEIWBXZ
镁微量泵校准
FYCQJ
反应仓清洁
微量泵动作还会发布 {"ID":"...","KHBZZ":0} 开始、{"ID":"...","KHBZZ":1,"state":0} 结束;钙和镁对应 GAIBZZ、MEIBZZ。滴定动作完成后会发布 KHDOS、GAIDOS 或 MEIDOS,表示本次滴定液用量。
2.5 错误码
错误上报通常为 {"ID":"...","error":n,"state":0}。
错误码
含义
1
水样添加失败
2
红色 LED 校准失败
3
废水桶余量低
4
KH 试剂余量低
5
钙试剂余量低
6
镁试剂余量低
10
液位传感器出错
11
KH 偏差过大
12
钙偏差过大
13
镁偏差过大
14
KH 滴定液余量低
15
钙滴定液余量低
16
镁滴定液余量低
17
KH 超过最大补充量
18
钙超过最大补充量
19
镁超过最大补充量
20
KH 微量泵出错
21
钙-B 微量泵出错
22
镁微量泵出错
28
KH 微量泵校准失败
29
钙微量泵校准失败
30
镁微量泵校准失败
32
KH 标准液校准失败
33
钙标准液校准失败
34
镁标准液校准失败
38
KH 智能补充关闭
39
钙智能补充关闭
40
镁智能补充关闭
46
试剂非官方
3. 下行指令
将 JSON 发布到设备的 mqtttopic,或通过串口发送同一 JSON。每次只发送一个动作或一个完整设置组。检测、滴定、泵动作、校准、恢复出厂和 OTA 都不是幂等的,不能使用 retained 消息或超时后盲目重发。
3.1 系统指令
字段
类型
值
说明
OTAUpdate
int
1
从 OTA 服务检查并升级,完成后重启
HFCC
int
1
恢复出厂设置,清业务参数,不清网络配置
CGQXZ
int
1
传感器校准
SYXH
int
1
水样消耗量归零
FYCQJ
int
1
反应仓清洁
FSTYL
float
余量
设置废水桶余量
FSTMS
int
10/20
废水桶模式
SBJS
int
10/其他
10=上锁,其他值=解锁
FuncList
string
A/B/C
立即检测,A=KH,B=钙,C=镁
时钟校准通过 year 键触发,需要同时提供 month、day、hour、minute、second。成功后上行 {"ID":"...","SZXZ":1}。
{"year":2026,"month":8,"day":8,"hour":10,"minute":30,"second":0}
3.2 检测周期设置
字段
类型
说明
KHXQ
array int[7]
周日到周六,1=开启,未提供项默认 20
KHJCCS
int
KH 每日检测次数
KHMS
int
KH 检测模式,10=高精度,20=普通
钙和镁使用相同结构:GAIXQ/GAIJCCS/GAIMS、MEIXQ/MEIJCCS/MEIMS。设置成功后设备会重新发布 DF_SJSB2()。
{"KHXQ":[1,0,1,0,1,0,1],"KHJCCS":2,"KHMS":10}
3.3 滴定设置
KH 滴定设置字段:
字段
类型
说明
KHDDCS
int
KH 滴定次数
KHRDD
float
KH 每日补充量
DDAKG
int
KH 滴定开关,10/20
KHLDKG
int
KH 联动开关,10/20
KHYSZ
float
KH 预设值
STRL
int
水体容量
KHZDTJ
int
KH 最大添加量
KHBC
int
KH 自动补充检测模式,10/20
钙对应 GAIDDCS、GAIRDD、DDBKG、GAILDKG、GAIYSZ、STRL、GAIZDTJ、GAIBC;镁对应 MEIDDCS、MEIRDD、DDCKG、MEILDKG、MEIYSZ、STRL、MEIZDTJ、MEIBC。每个字段可用字符串 "A" 表示“不修改”。设置完成后设备会重新发布三组快照。
3.4 PID 设置
字段:GFP、GFI、GFD、KHP、KHI、GAIP、GAII、MEIP、MEII。数值为两位小数的浮点数,固件会按 0.001 精度比较。完成后重新发布 DF_SJSB3()。
{"GFP":0.4,"GFI":0.2,"GFD":0.05,"KHP":0.4,"KHI":0.2,"GAIP":0.4,"GAII":0.2,"MEIP":0.4,"MEII":0.2}
3.5 检测与校准
字段
类型
值
说明
KH
int
1
KH 检测
GAI
int
1
钙检测
MEI
int
1
镁检测
KHXZ
float
标准液值
KH 标准液校准
GAIXZ
int
标准液值
钙标准液校准
MEIXZ
int
标准液值
镁标准液校准
3.6 微量泵
字段
类型
值
说明
KHWBXZ
int
1
KH 微量泵校准
GAIWBXZ
int
1
钙微量泵校准
MEIWBXZ
int
1
镁微量泵校准
KHPQ
int
1
KH 微量泵正转
KHPQ1
int
1
KH 微量泵反转
GAIPQ
int
1
钙微量泵正转
GAIPQ1
int
1
钙微量泵反转
MEIPQ
int
1
镁微量泵正转
MEIPQ1
int
1
镁微量泵反转
KGMPQ
int
1
整体微量泵正转
KGMPQ1
int
1
整体微量泵反转
KGMMH
int
1
微量泵磨合
3.7 试剂、补充液与滴定点动
字段
类型
说明
KHSJL
float
设置 KH 试剂余量
GAISJL
float
设置钙试剂余量
MEISJL
float
设置镁试剂余量
KHBCND
float
设置 KH 补充液浓度
GAIBCND
float
设置钙补充液浓度
MEIBCND
float
设置镁补充液浓度
KHBCYL
float
设置 KH 补充液余量
GAIBCYL
float
设置钙补充液余量
MEIBCYL
float
设置镁补充液余量
DDAD
float
KH 滴定点动,毫升数
DDBD
float
钙滴定点动,毫升数
DDCD
float
镁滴定点动,毫升数
DDAPQ
int
KH 滴定泵正转
DDBPQ
int
钙滴定泵正转
DDCPQ
int
镁滴定泵正转
DDAML
float
KH 滴定泵校准
DDBML
float
钙滴定泵校准
DDCML
float
镁滴定泵校准
4. 接入注意事项
固件没有“主动查询全部状态”指令;三组快照主要在启动和部分设置变更后上报。
多数数值字段会以 JSON 字符串返回,PH/ORP 相关的本型号为固定值;上层必须宽容解析。
HFCC 只恢复业务参数,不清网络配置,不能用于远程解绑。
检测、校准和泵动作期间不要并发发送其他动作;固件按 Analyze_json() 顺序处理。
当前源码的 EEPROM 地址存在 ID 写入重叠风险,量产联调阶段应使用不超过 9 个 ASCII 字节的 clientid,详见 README 第 4 节。