实战 4:BlueZ 源码中添加自定义设备过滤规则在嵌入式蓝牙开发中,设备扫描通常面临一个实际问题:周围可能有几十上百个蓝牙设备在广播,但我们只关心特定的几个——某个厂商的传感器、某个 MAC 段的设备、名称包含特定前缀的信标。原生 BlueZ 的扫描过滤机制虽然支持 UUID/RSSI/Pathloss 过滤,但无法按 MAC 地址、设备名称、厂商 ID 进行精准筛选,更不支持黑白名单机制。每次扫描都会将所有设备上报给上层应用,造成大量无效数据处理和 D-Bus 通信开销。本文手把手改造 BlueZ 5.x 源码,在设备发现的核心路径中添加自定义过滤规