第二章:用Python破解藍牙控制
在第1 章中,我們使用Raspberry Pi、Docker 和Docker 建立了控制Terma MOA BlueTer 加熱器的基礎
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中文網其他相關文章!