Install
openclaw skills install tianjin-anxinhuarui-gas-monitoring-iot-skillThis skill should be used when the user wants to generate, customize, or deploy QuecPython code for reading gas detector data from an Anxin Huarui AX100 seri...
openclaw skills install tianjin-anxinhuarui-gas-monitoring-iot-skill本技能基于安信华瑞 AX100 系列气体报警控制器 + 移远通信(Quectel)QuecPython 模组, 提供一套完整的「读取传感器数据 → 组包 → HTTP 上报」程序模板。
使用场景:
assets/template/ — 完整可运行的 QuecPython 代码模板(5个文件)references/code_guide.md — 各文件职责、所有配置项含义、JSON 格式说明、状态码表在开始写代码前,向用户确认以下关键信息(未提供的项不要假设):
URL_OTA 设为空字符串读取 references/code_guide.md,了解:
config.py 配置项的含义和默认值build_payload() 组装的 JSON 结构以 assets/template/ 中的 5 个文件为基础进行定制:
直接输出修改后的 config.py,其余4个文件照搬模板。
需要修改的典型字段:
URL_CLIENT = "https://客户平台地址/接口路径" # 必改
URL_OTA = "" # 不需要OTA则留空
REPORT_CYCLE_MIN = 5 # 按客户约定的频率(分钟)
MANUFACTURER = "xxx公司"
TERMINAL_TYPE = "型号"
FW_VERSION = "版本号"
修改 main.py 中的 build_payload() 函数,按客户平台协议重新组装字典。
保持其他函数(check_network, http_post, check_ota, init, loop)不变。
只修改 config.py 中的 REG_* 常量,sensor.py 中所有地址均从 config 读取,无需改动。
向用户输出需要修改的文件(通常只有 config.py,其余不变的文件注明"使用模板原文"即可)。
同时提示用户:
.py 文件上传到模组 /usr/ 目录(使用 QPYcom 工具)main.py 已在模组启动脚本中设为自动运行用户:上报地址改成 https://api.xxx.com/gas/upload,每5分钟上报一次
→ 只修改 config.py:
URL_CLIENT = "https://api.xxx.com/gas/upload"
REPORT_CYCLE_MIN = 5
用户:客户平台要的格式是 {"imei":"...","sensors":[{"id":1,"val":0.0,"status":2}]}
→ 修改 main.py 中的 build_payload() 函数,按新格式重组字典。
→ config.py 中 URL 和周期照常配置。
用户:这个控制器探头状态起始地址是 0x0200,浓度起始地址是 0x0201
→ 只修改 config.py:
REG_SENSOR_STAT_BASE = 0x0200
REG_SENSOR_DENS_BASE = 0x0201
.py 文件 → 模组 /usr/ 目录main.py 设为 auto runprint 输出,定位问题config.py 中 WDT_TIMEOUT_SEC 建议设为 REPORT_CYCLE_MIN × 60 × 3,留足余量URL_OTA 若为空字符串,需在 check_ota() 调用前加空值判断(已在模板中处理)LED_NET_PIN / LED_BUS_PIN 需对照硬件图纸确认MODBUS_SLAVE 默认为 1,若控制器地址不同需修改