Python之python-eq3bt包语法、参数和实际应用案例
2026/6/10 19:53:09 网站建设 项目流程

Python-eq3bt 完整使用指南

python-eq3bt专门用于控制 EQ3 蓝牙智能恒温阀的 Python 第三方库,支持通过蓝牙低功耗(BLE)直接连接、控制 EQ3/CC-RT-BLE 系列恒温阀,无需网关,可实现本地自动化温控、状态读取、模式切换等核心功能。

它是智能家居、Python 蓝牙控制、暖通自动化的常用工具,仅支持 Linux 系统(树莓派、Ubuntu 等),不支持 Windows/macOS(依赖 Linux 蓝牙栈 bluez)。


一、核心功能

  1. 设备发现:扫描附近的 EQ3 蓝牙恒温阀
  2. 状态读取:温度、模式、电池、阀门开度、锁定状态等
  3. 温控控制:设置目标温度、手动/自动/假日模式切换
  4. 设备管理:开关恒温阀、温度偏移校准、窗口模式、定时功能
  5. 本地自动化:结合 Python 脚本实现定时温控、联动控制

二、环境要求与安装

1. 系统要求

  • 系统:Linux(树莓派、Ubuntu、Debian)
  • 蓝牙:支持 BLE(蓝牙4.0+),需安装bluez
  • Python:3.6+

2. 依赖安装(必须先执行)

# 安装蓝牙依赖sudoapt-getupdatesudoapt-getinstallbluez bluez-tools python3-pip libglib2.0-dev# 启动蓝牙服务sudosystemctlenablebluetoothsudosystemctl start bluetooth

3. 安装 python-eq3bt

# 标准安装pip3installpython-eq3bt# 若权限不足,使用用户级安装pip3install--userpython-eq3bt

4. 验证安装

eq3cli--help# 若输出帮助信息,说明安装成功

三、核心语法、命令与参数

python-eq3bt提供两种使用方式

  1. 命令行工具eq3cli(快速操作)
  2. Python 代码 API(编程开发)

1. 命令行语法(eq3cli)

基础格式
eq3cli[参数]<蓝牙MAC地址>[命令]
常用参数
参数作用
-h, --help查看帮助
-d, --debug开启调试日志
--scan扫描附近 EQ3 设备
核心命令
命令功能示例
info读取设备完整状态eq3cli AA:BB:CC:DD:EE:FF info
temp <数值>设置目标温度(4.5–30°C)eq3cli AA:BB:CC:DD:EE:FF temp 21
auto切换自动模式(跟随定时)eq3cli ... auto
manual手动模式(固定温度)eq3cli ... manual
off关闭恒温阀eq3cli ... off
on打开恒温阀eq3cli ... on
boost开启/关闭 boost 模式eq3cli ... boost
lock锁定设备面板eq3cli ... lock
unlock解锁面板eq3cli ... unlock
offset <数值>温度校准(-3.5 ~ +3.5°C)eq3cli ... offset 0.5

2. Python 代码 API 语法

基础使用模板
fromeq3btimportThermostat# 1. 初始化设备(填入你的恒温阀 MAC)thermo=Thermostat("AA:BB:CC:DD:EE:FF")# 2. 更新设备状态(必须执行)thermo.update()# 3. 读取状态print("当前温度:",thermo.target_temperature)print("电池状态:",thermo.low_battery)print("阀门开度:",thermo.valve)print("工作模式:",thermo.mode)# 4. 控制设备thermo.set_temperature(21)# 设置温度thermo.mode="manual"# 切换模式thermo.boost=True# 开启增压
常用属性(只读)
属性说明
thermo.target_temperature目标温度
thermo.low_battery低电量(True/False)
thermo.valve阀门开度百分比
thermo.mode模式(auto/manual/away/boost)
thermo.locked面板锁定状态
thermo.window_open窗口开启状态
常用方法
方法作用
update()刷新设备状态
set_temperature(temp)设置温度
set_mode(mode)设置模式

四、8 个实际应用案例(可直接运行)

案例 1:扫描 EQ3 恒温阀(获取 MAC 地址)

# 命令行扫描sudoeq3cli--scan

输出示例:

Found EQ3 device: AA:BB:CC:DD:EE:FF (LivingRoom)

案例 2:Python 读取恒温阀完整状态

fromeq3btimportThermostat# 替换为你的设备 MACdev=Thermostat("AA:BB:CC:DD:EE:FF")dev.update()print("=== 设备状态 ===")print(f"目标温度:{dev.target_temperature}°C")print(f"电池低电量:{dev.low_battery}")print(f"阀门开度:{dev.valve}%")print(f"当前模式:{dev.mode}")print(f"面板锁定:{dev.locked}")

案例 3:一键设置温度(命令行)

# 设置卧室恒温阀为 22°Ceq3cli AA:BB:CC:DD:EE:FF temp22

案例 4:Python 定时温控(白天/夜间自动切换)

fromeq3btimportThermostatimporttime thermo=Thermostat("AA:BB:CC:DD:EE:FF")whileTrue:now=time.localtime()hour=now.tm_hour# 白天 7:00-22:00 → 21°Cif7<=hour<22:thermo.set_temperature(21)# 夜间 → 17°C 节能else:thermo.set_temperature(17)print("已调整温度")time.sleep(600)# 每10分钟检查一次

案例 5:切换手动/自动/关闭模式

fromeq3btimportThermostat thermo=Thermostat("AA:BB:CC:DD:EE:FF")# 手动模式thermo.mode="manual"# 自动模式(跟随设备定时)thermo.mode="auto"# 关闭设备thermo.mode="off"

案例 6:电池低电量告警

fromeq3btimportThermostatimporttime thermo=Thermostat("AA:BB:CC:DD:EE:FF")whileTrue:thermo.update()ifthermo.low_battery:print("⚠️ 警告:恒温阀电量过低!")time.sleep(3600)# 每小时检查一次

案例 7:温度偏移校准(解决测温不准)

# 设备显示偏高,调低 0.5°Ceq3cli AA:BB:CC:DD:EE:FF offset-0.5# 设备显示偏低,调高 1.0°Ceq3cli AA:BB:CC:DD:EE:FF offset1.0

案例 8:多房间恒温阀批量控制

fromeq3btimportThermostat# 定义多个房间设备rooms={"客厅":"AA:BB:CC:DD:EE:FF","卧室":"11:22:33:44:55:66","书房":"AA:AA:BB:BB:CC:CC"}# 批量设置为 20°Cforname,macinrooms.items():try:thermo=Thermostat(mac)thermo.set_temperature(20)print(f"{name}已设置为 20°C")exceptExceptionase:print(f"{name}控制失败:{e}")

五、常见错误与解决方案

错误 1:BluetoothError: Can't connect

原因:蓝牙未开启、距离过远、MAC 错误、设备被占用
解决

  • 确认 MAC 地址正确
  • 设备距离电脑<3米
  • 重启蓝牙:sudo systemctl restart bluetooth
  • 取消其他设备的连接

错误 2:Permission denied

原因:蓝牙操作需要 root 权限
解决

sudoeq3cli...# 或 Python 脚本用 sudo 运行sudopython3 thermostat.py

错误 3:No backend available

原因:缺少 bluez 依赖
解决

sudoapt-getinstallbluez libglib2.0-dev

错误 4:设备无响应

原因:设备休眠、蓝牙信号差
解决

  • 手动按一下恒温阀按钮唤醒
  • 缩短控制距离
  • 重试命令

错误 5:温度设置无效

原因:温度超出范围(4.5–30°C)
解决:仅使用 4.5、5.0、5.5…30 的合法值


六、使用注意事项

  1. 系统限制仅支持 Linux,Windows/macOS 无法使用
  2. 权限:蓝牙操作必须用sudo管理员权限
  3. 距离:BLE 有效距离 3–5 米,隔墙会降低稳定性
  4. 温度范围:仅支持4.5°C ~ 30°C,步长 0.5°C
  5. 设备唤醒:设备休眠时需先按键唤醒再控制
  6. 稳定性:不要高频操作,建议间隔≥5秒
  7. 电池:低电量会导致连接失败,及时更换电池
  8. MAC 格式:必须是XX:XX:XX:XX:XX:XX大写格式

总结

  1. python-eq3bt是 Linux 下专用的EQ3 蓝牙恒温阀控制库
  2. 支持命令行 + Python 代码两种使用方式
  3. 可实现状态读取、温度控制、模式切换、自动化定时等功能
  4. 8 个案例覆盖日常使用、定时控制、告警、批量管理等场景
  5. 核心注意:必须 Linux 系统 + sudo 权限 + 有效蓝牙距离

《动手学PyTorch建模与应用:从深度学习到大模型》是一本从零基础上手深度学习和大模型的PyTorch实战指南。全书共11章,前6章涵盖深度学习基础,包括张量运算、神经网络原理、数据预处理及卷积神经网络等;后5章进阶探讨图像、文本、音频建模技术,并结合Transformer架构解析大语言模型的开发实践。书中通过房价预测、图像分类等案例讲解模型构建方法,每章附有动手练习题,帮助读者巩固实战能力。内容兼顾数学原理与工程实现,适配PyTorch框架最新技术发展趋势。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询