第二章:用Python破解蓝牙控制
在第 1 章中,我们使用 Raspberry Pi、Docker 和 Docker 建立了控制 Terma MOA Blue 加热器的基础
Python。
低功耗蓝牙 (BLE) – 快速概述 Terma MOA Blue 加热器使用 低功耗蓝牙 (BLE) 进行通信。 BLE 设备公开GATT 特征,其作用类似于数据点,您可以从读取或
写入使用 bluetoothctl 调试蓝牙连接 在使用 Python 自动化该过程之前,我们使用
bluetoothctlbluetoothctl scan on
查找名为
“Terma Wireless”pair <DEVICE_ADDRESS>
出现提示时,输入 PIN 码
123456trust <DEVICE_ADDRESS> connect <DEVICE_ADDRESS>
bluetoothctl scan on
这会显示可用于读取和写入数据的UUID。
加热器一次只能维持一个活跃配对。
失败后重新连接:
pair <DEVICE_ADDRESS>
加热器将温度编码为两个字节(小端),0.1°C 精度。
示例:
trust <DEVICE_ADDRESS> connect <DEVICE_ADDRESS>
Python 解码:
info <DEVICE_ADDRESS>
Python 编码:
remove <DEVICE_ADDRESS>
操作模式存储为单字节,具体值:
Python 解码:
Hex: 012d → Decoded: 30.1°C
Python 编码:
def decode_temperature(data): current_temp = ((data[1] << 8) | data[0]) / 10 target_temp = ((data[3] << 8) | data[2]) / 10 return round(current_temp, 1), round(target_temp, 1)
蓝牙配对挑战:
编码错误:
模式处理问题:
在下一章中,我将:
查看 GitHub 存储库:
? GitHub - ha-hudsonread-heater-control
请在下面的评论中告诉我您的想法和建议!
以上是使用 Python、Docker 和蓝牙构建智能加热器控制器 #2的详细内容。更多信息请关注PHP中文网其他相关文章!