ESP32 低功耗蓝牙信标
esp32_ble_beacon 组件使用 ESP32 设备创建一个 Bluetooth Low Energy 信标。
信标是 BLE 设备,会重复地发送预定义的数据包。此数据包
随后可以被智能手机等设备接收,并可用于追踪手机的位置。
# Example configuration entryesp32_ble_beacon: type: iBeacon uuid: 'c29ce823-e67a-4e71-bff2-abaa32e77a98'高级选项:
-
major (可选, int):此信标的 iBeacon major 标识符。通常用于 分组信标,例如将同一建筑内的所有信标分组,但如果 BLE 接收端不使用它,则没有效果。默认为
10167。 -
minor (可选, int):此信标的 iBeacon minor 标识符。通常用于 识别 iBeacon 组内的信标。默认为
61958。 -
min_interval (可选, Time):iBeacon 的最小发送间隔,单位为毫秒,范围从 20 到 10240。 将此值设置为小于
max_interval,可以让 BLE 硬件有更好的机会避免 与其他 BLE 传输发生冲突。默认为 iBeacon 规范中定义的间隔:100ms。 -
max_interval (可选, Time):iBeacon 的最大发送间隔,单位为毫秒,范围从 20 到 10240。 将此值设置为大于
min_interval,可以让 BLE 硬件有更好的机会避免 与其他 BLE 传输发生冲突。默认为 iBeacon 规范中定义的间隔:100ms。 -
measured_power (可选, int):在距设备 1 米处测量到的 iBeacon RSSI。 此值用于在 iOS 中校准测距计算。设置此值的方法可在 Apple 的iBeacon 入门 PDF 中的 Calibrating iBeacon 标题下找到。范围为 -128 到 0。默认为
-59。 -
tx_power (可选, int):iBeacon 的发送功率,单位为 dBm。 取值为 -12、-9、-6、-3、0、3、6、9 之一。默认为
3dBm。ESP-Hosted 平台(如 ESP32-P4)不可用。
首先,您需要为 ESPHome 设置配置。只需复制上面的配置并 将 UUID 更改为唯一的值。例如,您可以复制这个随机生成的 UUID:
然后,只需编译并烧录 ESP32。
当一切设置正确时,您应该能够在您选择的 iBeacon 扫描器中看到它。在 iPhone 上, 这应该已经在蓝牙界面中可用(未测试),在 Android 上,您需要使用像 “nRF Connect for Mobile”这样的应用。
如果要使用这些信标来追踪手机的位置,您需要使用另一个应用。例如,我使用了 owntracks 的指南让家庭自动化系统 知道我在家里还是外出。另一个不错的 Android 应用是 Beacon MQTT。 它可以同时与多个信标配合使用。