⚙️ 运行时要求
- Python 3.6+ (需要 json, os, sys, http.client, time, collections 等标准库)
- 环境变量
YZLIOT_API_KEY- 必需,请从云智联小程序获取
🌱 云智联 IoT 设备管理
一句话就能获取设备数据和发送控制指令!
⚡ 快速使用
用户只需说:
- "获取传感器数据" → 自动获取所有土壤温湿度云传感器的温湿度
- "获取液位" / "液位数据" → 自动获取液位传感器的液位数据
- "打开电磁阀" / "开启水阀" → 开启远程电磁阀
- "关闭电磁阀" / "关闭水阀" → 关闭远程电磁阀
📋 支持的设备
土壤温湿度云传感器
| 型号前缀 | 说明 |
|---|---|
| YZLSTM1 | 土壤温湿度云传感器标准款 |
| STMCBL | 土壤温湿度云传感器加长款 |
| STMCS1 | 土壤温湿度云传感器太阳能款 |
获取数据: 温度(wd)、湿度(sf)
远程电磁阀
| 型号前缀 | 说明 |
|---|---|
| WA1CB1 | 远程电磁阀低功耗版本 |
| WANCD1 | 4G水阀 |
控制指令: 通过 kk1 设施控制开(1)/关(0)
低功耗液位传感器
| 型号前缀 | 说明 |
|---|---|
| YZLWP01 | 低功耗液位传感器 |
获取数据: 液位(yw)
📖 自然语言示例
用户: "帮我看看传感器数据"
→ 返回所有土壤温湿度云传感器的温湿度
用户: "获取液位"
→ 返回液位传感器的液位数据
用户: "打开电磁阀"
→ 开启远程电磁阀
用户: "关闭水阀"
→ 关闭远程电磁阀
🔧 手动命令(可选)
如果需要更精细控制:
# 获取所有设备
python3 tool.py all
# 查看设备详情
python3 tool.py device 设备ID
# 开启电磁阀
python3 tool.py send WA1CB1-0000000007 SetFac '["WA1CB1-0000000007","kk1","1"]'
# 关闭电磁阀
python3 tool.py send WA1CB1-0000000007 SetFac '["WA1CB1-0000000007","kk1","0"]'
⚡ 请求频率限制
工具已内置请求频率控制,自动处理以下限制:
| 接口 | 限制速率 |
|---|---|
| 获取所有设备 | 10次/10秒 |
| 获取设备列表 | 5次/10秒 |
| 获取设备详情 | 10次/10秒 |
| 获取历史数据 | 2次/10秒 |
| 发送指令 | 2次/5秒 |
| 获取指令详情 | 2次/5秒 |
| 获取指令列表 | 2次/10秒 |
当触发频率限制时,会返回错误信息。
版本历史
v1.3.9 (2026-04-21)
- 修复版本号显示问题
v1.3.8 (2026-04-21)
- 修复版本号显示问题
v1.3.7 (2026-04-21)
- 移除硬编码的默认 API 密钥,增强安全性
- YZLIOT_API_KEY 现在为必需环境变量
- 修复声明与运行时行为不一致的问题
v1.3.6 (2026-04-21)
- 同步用户更新,增加详细设备型号说明
- 土壤温湿度云传感器: YZLSTM1(标准款)、STMCBL(加长款)、STMCS1(太阳能款)
- 远程电磁阀: WA1CB1(低功耗版)、WANCD1(4G水阀)
- 低功耗液位传感器: YZLWP01
v1.3.4 (2026-04-21)
- 新增低功耗液位传感器支持 (YZLWP01)
- 土壤温湿度云传感器支持多型号 (YZLSTM1, STMCBL, STMCS1)
- 远程电磁阀支持多型号 (WA1CB1, WANCD1)
- 优化设备类型识别和中文显示
v1.3.3 (2026-04-20)
- 新增智能自然语言命令(自动识别设备型号)
- 按设备型号自动识别传感器(YZLSTM1)和电磁阀(WA1CB1)
- 新增 cmd_smart() 支持自然语言交互
v1.3.2 (2026-04-20)
- 移除自动重试逻辑,避免重复发送指令
- 新增内置 API Key(默认)
- 新增电磁阀控制支持
- 新增内置请求频率限制控制
v1.2.3 (2026-04-09)
- 添加 homepage 和 metadata 字段