Construyendo un sensor de ocupación con un ESP32 de 5 $ y una base de datos sin servidor

Un sensor de ocupación construido por un estudiante con un microcontrolador ESP32 de 5 $ y balizas Bluetooth Low Energy provoca reflexiones de amplio alcance sobre la fiabilidad del hardware DIY, el diseño de la alimentación y el empaquetado de proyectos más allá de las placas de desarrollo desnudas. Los comentaristas comparan variantes de ESP32, fuentes de alimentación y estrategias de sueño profundo, sugieren alternativas como LoRa, mmWave, cámaras o marcos existentes como ESPHome y Home Assistant, y debaten cuándo tienen sentido las PCB personalizadas o los ASIC. Muchos plantean preocupaciones de privacidad y ética sobre rastrear teléfonos mediante BLE —especialmente en espacios públicos o para uso comercial—, destacando la aleatorización de MAC, la investigación de fingerprinting y la falta de reglas claras para el sensado pasivo de dispositivos.

Fiabilidad del hardware y alimentación

  • Varios informes indican que las placas ESP32 y Raspberry Pi pueden ser muy fiables durante meses si se alimentan bien.
  • Muchos sospechan que la inestabilidad proviene del ruido de alimentación, no de una amperaje insuficiente: los picos de corriente de WiFi/BLE pueden causar caídas breves de voltaje.
  • Recomendaciones: añadir grandes condensadores de baja ESR en los raíles de 3.3V, usar fuentes de alimentación y cables USB cortos/de alta calidad o los oficiales, y evitar placas baratas sin marca.
  • Algunos mencionan fallos de tarjetas SD en las Pis; entre las mitigaciones se incluyen Alpine Linux con tmpfs/commits explícitos o sistemas de raíz de solo lectura.

Comportamiento de la detección de presencia por BLE

  • Los dispositivos pueden seguir “vivos” pero perder la conexión WiFi; se sugiere añadir indicadores de estado visibles y una reconexión agresiva o reinicios completos.
  • Los entornos de radiofrecuencia muy cargados, con muchas redes, pueden aumentar la probabilidad de que la pila WiFi/BLE se quede atascada.
  • Los dispositivos Apple suelen ocultarse de los escaneos salvo que ciertas configuraciones estén abiertas; esto reduce la cobertura del sensado de multitudes basado en BLE.

Privacidad, ética y rastreo

  • Debate sobre la aleatorización de direcciones MAC y sus límites. Complica vincular balizas a individuos, pero no lo hace imposible, especialmente con fingerprinting de RF y rastreo de balizas basado en aplicaciones.
  • Algunos señalan una industria ya existente, un “salvaje oeste”, de SDKs de rastreo Bluetooth/de ubicación y el uso de esos datos por parte de las fuerzas del orden.
  • Para proyectos universitarios, la gente sugiere consultar los procesos de sujetos humanos/IRB y las políticas de privacidad del campus.
  • El comportamiento individual varía: algunos mantienen Bluetooth siempre activado por los wearables, otros lo desactivan por privacidad y batería.

Algoritmos y pila de software

  • Se sugieren estimadores de cardinalidad de tamaño fijo para contar dispositivos únicos en lugar de almacenar todos los IDs.
  • Otros proponen mapas basados en TTL (refrescar al detectar, purgar entradas caducadas) y evitar la asignación dinámica en microcontroladores.
  • El soporte de Rust en ESP32 ha mejorado (especialmente en el RISC-V C3), pero la compilación cruzada con BlueZ/DBus en Linux puede ser dolorosa; se citan Python/Home Assistant o scripts de shell simples en Pis como opciones más fáciles.
  • ESPHome, Home Assistant y MicroPython pueden eliminar la mayor parte del firmware personalizado en muchos casos de uso.

Enfoques y aplicaciones de sensado alternativas

  • Otras ideas de sensado: cámaras, radar mmWave/UWB, radar de 24 GHz, micrófonos, RSSI de WiFi, radar trasero de bicicleta para tráfico, TPMS para ocupación de campus y análisis de multitudes en vehículos/recintos.
  • Existen productos comerciales de ocupación basados en BLE; informan que los recuentos de balizas se correlacionan con la ocupación, pero requieren calibración específica del recinto, y las MAC aleatorizadas hacen poco fiables las estimaciones del tiempo de permanencia.

Producto final y carcasas

  • Hay muchas opciones para dispositivos “terminados”: cajas de proyecto, carcasas genéricas, módulos en caja basados en M5Stack/ESP, sensores comerciales, carcasas impresas en 3D o cortadas con láser.
  • Se debate entre usar módulos ESP32 frente a MCU ultrabaratos o incluso ASICs personalizados; la mayoría coincide en que, para volúmenes bajos o medios, los módulos ESP32 son prácticos y muy usados en IoT comercial.