IoT · ESP32 · Salud digital

Un timbre de hospital que funciona sin WiFi: ESP-NOW y lo que enseñan 256 llamados

Por Frank Ortiz Jara ·

Cuando diseñé el sistema de llamado de enfermeras para un servicio de hospitalización de cirugía, la primera pregunta no fue qué microcontrolador usar. Fue esta: ¿qué pasa con la llamada del paciente cuando se cae la red?

En un hospital, el WiFi se cae. Se satura, se reconfigura, lo apagan para mantenimiento. Un pulsador de emergencia que depende de esa red falla justo cuando nadie lo está mirando.

Separar el camino crítico del resto

La solución fue partir el sistema en dos tramos con exigencias distintas:

  1. Del pulsador al ESP32 de la habitación: el camino crítico. Va por ESP-NOW, el protocolo de radio directo de Espressif, sin router ni punto de acceso. El ESP32 recibe la llamada y enciende la luz del pasillo él solo.
  2. Del ESP32 al servidor: va por WiFi y MQTT. Aquí se registra la hora, se avisa al panel de la estación y se guarda todo en PostgreSQL. Si este tramo falla, la luz del pasillo ya se encendió.

Es una regla que sirve fuera del hospital: identifica qué función no puede fallar y haz que no dependa de la infraestructura que más falla. En automatización industrial pasa lo mismo con una seta de emergencia, que no espera a que el SCADA responda.

Que los dispositivos se reporten solos

Con 32 ESP32 repartidos por 9 habitaciones, el problema siguiente es saber cuál dejó de funcionar. Cada dispositivo manda un heartbeat periódico con su número de serie, MAC, IP, estado del relay y potencia de señal. El panel muestra cuáles están vivos sin esperar a que alguien llame para decir que una luz no prende. En un hospital, ese aviso siempre llega tarde.

El firmware se actualiza por aire (OTA). Ir cama por cama con un cable no era opción.

Lo que enseñaron los datos

El piloto corrió del 20 de febrero al 24 de julio de 2026. Las cifras salen de una exportación completa de la base de datos:

  • 256 llamados de 441 pacientes, sobre 2,239 paciente-días con timbre disponible.
  • Mediana de respuesta de 9.7 segundos, con el 74 % atendido en menos de un minuto.
  • 102 llamados, el 40 %, salieron del baño, con una mediana de 7.5 segundos.

El dato del baño es el que más cambia una decisión. El baño es donde ocurren las caídas, y es justo donde un timbre de cabecera no llega. Si el presupuesto solo alcanza para un pulsador por habitación, ese dato dice dónde ponerlo.

El otro hallazgo: de día se respondía entre 20 y 40 veces más rápido que de noche. Nadie lo pidió como función. Aparece solo cuando cada llamada queda registrada con su hora, y es información de gestión para organizar turnos.

Medir con honestidad

La cifra global está inflada por febrero y marzo, cuando el equipo de instalación acompañaba al personal. El mes más representativo de operación normal es abril: 47 llamados, mediana de 22.7 segundos y 64 % atendidos en menos de un minuto. Es la cifra que defendería ante un comité.

Y una trampa que encontré en mi propio panel: el promedio no sirve. Algunas alertas quedaron abiertas días porque nadie las canceló, y eso arrastra la media a horas. En tiempos de respuesta, con colas largas, la métrica correcta es la mediana.

Coste

Los materiales salieron por unos S/ 163 por habitación, con una placa diseñada a medida. El código completo, sin datos de pacientes, está en GitHub, y la arquitectura completa en la página del proyecto.

El CV estará disponible próximamente.