I ported over the ESP32 code for BLE beacon tracking for use on Raspberry Pi that has Bluetooth capability. It complies with the API that is described in http://mcsSprinklers.com mcsMQTT.pdf so it can be used with mcsMQTT with no real difference between it and ESP32 as the beacon scanner.

The advantage of the RPi over the ESP32 is that the RPi does not need to share antennae between WiFi and Bluetooth. This allows the RPi to poll at effectively continuous rates if desired. The nominal ESP32 polling was on intervals of 60 seconds but could increase rates for intervals of 5 seconds.

For many the RPi will be easier to use than the ESP32 as there is not flashing needed. It is simply loading the BLEMQTT executable on the RPi and following the instructions on setting up systemclt so it autostarts.

The source and object code is at http://mcsSprinklers.com/BLEMQTT.zip. Instructions are in Section 15.15.6 of mcsMQTT.