MHP 灌溉控制器 HTTP API 协议参考

MH 设备通讯协议 v1.3 · 冈仁波齐天山灌溉系统

📡 HTTP/1.1 🔌 Host: mhelectr.top:13600 👤 作者: 黄华东 📅 2023.11.29

📋 协议概览

通讯参数

参数
Hostmhelectr.top
Port13600
HTTP 版本1.1
请求方式GET / POST
Content-Typeapplication/x-www-form-urlencoded

测试账号

测试帐号: 88888888888
测试灌溉服务器 ID: 2119992778

🔌 API 接口

GET /api/devicelist/get

获取设备列表

获取关注的所有灌溉控制器设备清单,包括在线状态、控制对象数量、监测对象数量等统计信息。

请求参数

参数名类型描述必选
acctountstring帐号
pageint页码 (0~30)
注意: 当请求参数为空时,服务器返回第 0 页的内容

请求示例

GET http://mhelectr.top:13600/api/devicelist/get?acctount=88888888888&page=0

响应字段

字段类型描述
summation.deviceint所有关注的设备总数
summation.onlineint在线的设备总数
summation.ctrlcountint控制对象总数
summation.ctrlerrcountint故障控制对象数
list[].deviceidstring设备唯一 ID
list[].statusstring在线/离线
GET /api/registtab/get

获取设备注册表

获取指定灌溉服务器的完整注册表结构,包括水泵、阀门、传感器的树形层级关系。

请求参数

参数名类型描述必选
acctountstring帐号
registidstring灌溉服务器设备 ID

请求示例

GET http://mhelectr.top:13600/api/registtab/get?acctount=88888888888&registid=2119992778

控制对象字段

字段类型描述示例
nodeaddrint结点地址01
subaddrint子地址01
namestring设备名称水泵/阀门
powerstring电量百分比80%
signalstring信号强度-89dbm(强)
statusstring开关状态打开/关闭
listarray子设备列表支持多级嵌套

🌳 设备层级结构

MHP 控制器采用树形层级结构管理设备:

灌溉服务器 (registid) └── 水泵 (nodeaddr: 01, subaddr: 01) ├── 阀门 1 (nodeaddr: 01, subaddr: 02) ├── 阀门 2 (nodeaddr: 01, subaddr: 03) └── 阀门 3 (nodeaddr: 01, subaddr: 04) └── 子阀门 (支持多级嵌套) └── 水泵 (nodeaddr: 02, subaddr: 01) └── ...
地址编码规则:
nodeaddr: 主设备地址(如水泵地址)
subaddr: 从设备地址(如阀门地址)
• 一对 (nodeaddr, subaddr) 唯一标识一个控制节点

📊 信号强度解读

信号值状态建议
-50dbm ~ -70dbm🟢 极强/强通信质量良好
-70dbm ~ -85dbm🟡 中等可正常使用
-85dbm ~ -100dbm🟠 弱注意信号稳定性
< -100dbm🔴 极弱建议检查设备位置

⚡ 最佳实践

轮询策略

接口建议频率说明
/devicelist/get30 秒监控设备在线状态
/registtab/get5 分钟获取完整设备拓扑
状态变更检测实时对比上次状态差异

故障处理要点

ctrlerrcount > 0 时,表示存在故障设备:
  1. 遍历控制对象列表查找异常状态
  2. 检查 signalpower 字段
  3. 记录故障设备地址 (nodeaddr, subaddr)
  4. 发送告警通知

🔗 相关资源