Construindo um sensor de ocupação com um ESP32 de US$ 5 e um banco de dados serverless

Um sensor de ocupação construído por um estudante usando um microcontrolador ESP32 de US$ 5 e beacons Bluetooth Low Energy provoca reflexões amplas sobre confiabilidade de hardware DIY, projeto de energia e embalagem de projetos além de placas de desenvolvimento nuas. Os comentaristas comparam variantes de ESP32, fontes de alimentação e estratégias de deep-sleep, sugerem alternativas como LoRa, mmWave, câmeras ou estruturas já existentes como ESPHome e Home Assistant, e debatem quando PCBs customizadas ou ASICs fazem sentido. Muitos levantam preocupações de privacidade e ética sobre rastrear telefones via BLE — especialmente em espaços públicos ou para uso comercial — destacando randomização de MAC, pesquisa de fingerprinting e a falta de regras claras para sensoriamento passivo de dispositivos.

Confiabilidade do hardware e energia

  • Vários relatos de que placas ESP32 e Raspberry Pi podem ser muito confiáveis por meses, desde que alimentadas corretamente.
  • Muitos suspeitam que a instabilidade venha de ruído na alimentação, não de amperagem insuficiente: picos de corrente de WiFi/BLE podem causar quedas breves de tensão.
  • Recomendações: adicionar capacitores grandes de baixo ESR nos trilhos de 3,3 V, usar fontes de alimentação e cabos USB curtos/de alta qualidade ou oficiais, e evitar placas baratas sem marca.
  • Alguns mencionam falhas de cartões SD em Pis; as mitigações incluem Alpine Linux com tmpfs/commits explícitos ou sistemas de arquivos raiz somente leitura.

Comportamento da detecção de presença BLE

  • Dispositivos podem continuar “vivos” mas cair da rede WiFi; sugerem-se indicadores visíveis de status e reconexão agressiva ou reinicializações completas.
  • Ambientes de RF muito movimentados, com muitas redes, podem aumentar a chance de a pilha WiFi/BLE travar.
  • Dispositivos Apple frequentemente se ocultam de varreduras, a menos que certas configurações estejam abertas; isso reduz a cobertura de crowd-sensing baseada em BLE.

Privacidade, ética e rastreamento

  • Discussão sobre randomização de endereços MAC e seus limites. Ela complica vincular beacons a indivíduos, mas não torna isso impossível, especialmente com fingerprinting de RF e rastreamento de beacons baseado em apps.
  • Alguns observam uma indústria existente, estilo “velho oeste”, de SDKs de rastreamento por Bluetooth/localização e o uso desses dados por órgãos de aplicação da lei.
  • Para projetos universitários, sugerem consultar processos de pesquisa com seres humanos/IRB e as políticas de privacidade do campus.
  • O comportamento individual varia: alguns mantêm o Bluetooth sempre ligado por causa de wearables, outros o desligam por privacidade e bateria.

Algoritmos e pilha de software

  • Sugestões de usar estimadores de cardinalidade de tamanho fixo para contar dispositivos únicos em vez de armazenar todos os IDs.
  • Outros propõem mapas baseados em TTL (renovar ao detectar, remover entradas expiradas) e evitar alocação dinâmica em microcontroladores.
  • O suporte a Rust no ESP32 melhorou (especialmente no C3 RISC-V), mas compilar cruzado com BlueZ/DBus no Linux pode ser trabalhoso; Python/Home Assistant ou scripts shell simples em Pis são citados como mais fáceis.
  • ESPHome, Home Assistant e MicroPython podem eliminar a maior parte do firmware customizado para muitos casos de uso.

Abordagens e aplicações alternativas de sensoriamento

  • Outras ideias de sensoriamento: câmeras, radar mmWave/UWB, radar de 24 GHz, microfones, RSSI de WiFi, radar traseiro de bicicleta para tráfego, TPMS para ocupação de campus e análises de público em veículos/locais.
  • Existem produtos comerciais de ocupação baseados em BLE; eles relatam que a contagem de beacons se correlaciona com a ocupação, mas exige calibração específica do local, e MACs randomizados tornam as estimativas de tempo de permanência pouco confiáveis.

Produto final e caixas

  • Há muitas opções para dispositivos “prontos”: caixas de projeto, gabinetes genéricos, módulos em caixa baseados em M5Stack/ESP, sensores prontos de prateleira, cases impressos em 3D ou cortados a laser.
  • Há debate sobre usar módulos ESP32 versus MCUs ultrabaratos ou até ASICs personalizados; a maioria concorda que, para volumes baixos a médios, módulos ESP32 são práticos e amplamente usados em IoT comercial.