# ESP32 Based Bluetooth classic presence tracker

**URL:** <https://forum.cpha.pt/t/esp32-based-bluetooth-classic-presence-tracker/15636>\
**Category:** Partilha de Projectos\
**Created:** [14 Fevereiro , 2026 12:46 UTC](https://forum.cpha.pt/t/esp32-based-bluetooth-classic-presence-tracker/15636 "2026-02-14T12:46:08Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Marco\_Moiron](https://forum.cpha.pt/user_avatar/forum.cpha.pt/marco_moiron/32/7208_2.png) [@Marco\_Moiron](https://forum.cpha.pt/u/Marco_Moiron)\
**Post date:** [14 Fevereiro , 2026 12:46 UTC](https://forum.cpha.pt/t/esp32-based-bluetooth-classic-presence-tracker/15636/1 "2026-02-14T12:46:08Z")

</div>

Olá, CPHA.  
Venho partilhar com vocês o meu último projecto para testarem, aproveitarem e melhorarem.  
Faz alguns anos que uso o projecto do andrewjfreyer/monitor: Distributed advertisement-based BTLE presence detection reported via mqtt]([https://github.com/andrewjfreyer/monitor](https://github.com/andrewjfreyer/monitor)) para detectar eficientemente a presença dos utilizadores habituais de cá de casa e despoletar diversas automações (mensagem de boas vindas, aviso de chuva ao sair de casa, desligar luzes, fechar estores, etc). Algumas destas só fazem sentido se a detecção demorar apenas alguns segundos (os metodos de deteção habituais demoram, em alguns casos, minutos). Por exemplo, a mensagem de boas vindas apenas faz sentido se for quase imediata ao entrar em casa. Como funciona isto? Ao detectar abertura de porta, é publicado num tópico especifico MQTT um comando de SCAN que pergunta o nome a cada um dos dispositivos bluetooth configurados. Os que responderem terão num tópico com o seu ID publicado um payload com o valor “home” e os restantes um payload “not\_home”. No configuration.yaml, estes tópicos são transformados em entities e o resto é o costume. Então o que traz o meu projecto de novo? sempre achei que usar um raspberry PI para o efeito era um overkill alem de propenso a falhas de cartão SD e desnecessáriamente longos tempos de boot. Por isso pensei em fazer o mesmo com um ESP32. Até à pouco tempo o suporte a bluetooth classic (em oposição a BLE) era limitado quando se usasse o IDE Arduino para programar o ESP… e nunca tive coragem para investir esforço para aprender a usar o IDE nativo da Expressif ESP-IDF. Agora… com o advento do vibe coding , tudo ficou mais fácil. Consegui implementar o este projecto, com a ajuda do Claude em apenas alguns dias e… tem funcionado perfeitamente. Se tiverem um ESP32 a apanhar pó e o mqttexplorer à mão, dêem uma oportunidade:  
[mmoiron/ESPBluetoothTracker: ESP32 Classic Bluetooth Presence Detection project](https://github.com/mmoiron/ESPBluetoothTracker)

Cumprimentos,

Marco

---

<div class="post-metadata">

**Author:** ![aerodolphin](https://forum.cpha.pt/letter_avatar_proxy/v4/letter/a/90db22/32.png) [@aerodolphin](https://forum.cpha.pt/u/aerodolphin)\
**Post date:** [16 Fevereiro , 2026 11:19 UTC](https://forum.cpha.pt/t/esp32-based-bluetooth-classic-presence-tracker/15636/2 "2026-02-16T11:19:02Z")

</div>

Muito bom. Era mesmo isso que precisava. Vou tentar implementar.
