BLE2MQTT 使用教程
项目介绍
BLE2MQTT 是一个开源项目,旨在将蓝牙低功耗(Bluetooth Low Energy, BLE)设备的数据写入 MQTT 主题。与其他实现不同,BLE2MQTT 主要通过侦听设备的广播数据,而不是主动轮询,这使得它更稳定、能耗更低,且在大多数情况下具有更高的通信范围。该项目支持多种设备类型,并且可以与智能家居系统集成。
项目快速启动
安装依赖
首先,确保你的系统已经安装了必要的依赖:
# 对于 Ubuntu / Debian / Raspbian
sudo apt-get install bluetooth bluez libbluetooth-dev libudev-dev
安装 BLE2MQTT
克隆项目仓库并安装:
git clone https://github.com/devbis/ble2mqtt.git
cd ble2mqtt
pip3 install -r requirements.txt
配置文件
创建配置文件 /etc/ble2mqtt/ble2mqtt.json
,并添加你的设备信息:
{
"mqtt_host": "localhost",
"mqtt_port": 1883,
"mqtt_user": "",
"mqtt_password": "",
"log_level": "INFO",
"devices": [
{
"address": "11:22:33:aa:cc:aa",
"type": "presence"
},
{
"address": "11:22:33:aa:bb:cc",
"type": "redmond_rk_g200",
"key": "ffffffffffffffff"
}
]
}
启动服务
运行 BLE2MQTT 服务:
ble2mqtt 2> /tmp/ble2mqtt.log &
应用案例和最佳实践
智能家居集成
BLE2MQTT 可以与 Home Assistant 等智能家居系统集成,通过 MQTT 协议实现对 BLE 设备的控制和监控。例如,你可以通过 Home Assistant 的 MQTT 集成来控制 BLE 温控器或传感器。
能耗监测
通过 BLE2MQTT,你可以实时监测 BLE 设备的能耗情况,并将数据发送到 MQTT 主题,进而通过其他系统进行分析和展示。
典型生态项目
ESP32-BLE2MQTT
ESP32-BLE2MQTT 是一个基于 ESP32 的 BLE 到 MQTT 的桥梁项目。它可以将 BLE GATT 特性作为 MQTT 主题公开,用于双向通信。该项目适用于需要低功耗和长距离通信的场景。
mesh2mqtt
mesh2mqtt 是一个 BLE Mesh 到 MQTT 的桥接器,具有 Home Assistant 集成。它使得 BLE Mesh 和 Home Assistant 可以协同工作,适用于需要复杂网络拓扑和高级控制功能的场景。
通过这些生态项目,BLE2MQTT 可以扩展其功能,满足更多复杂应用场景的需求。