Para proveedores de seguridad
La superficie de integración es el propio bus.
No hay una API de integración aparte que esperar. Cada hecho que el sistema conoce, cada orden que acepta y cada resultado que produce es un evento en un protocolo documentado. Si su central puede mantener un socket, puede mantener el sistema completo.
La gramática de eventos
Los eventos están tipados y con espacio de nombres. Los tipos de detección por clase son distintos: un vehículo en un aparcamiento y una persona en una puerta no son la misma suscripción. El estado de la cámara viaja en el mismo flujo que su contenido, y cada orden devuelve su resultado como un evento emparejado.
$ cctv_console --plain --types 'detect.*,sys.cam_*,alarm.*,exec::*,stat::*' 2:41:07.318 PM detect.person driveway src==cctv_detect conf==0.91 "person detected 91%" 2:41:09.902 PM detect.vehicle driveway src==cctv_detect conf==0.88 "car moving 88%" 2:43:22.114 PM sys.cam_down terrace src==cctv_hub 2:43:22.117 PM alarm.cam_down terrace src==cctv_watchdog 2:44:03.551 PM sys.cam_up terrace src==cctv_hub 2:45:10.220 PM exec::camctl.ptz terrace src==cctv_android 2:45:10.286 PM ↳ stat::camctl.ptz terrace src==cctv_camctl +66ms
Qué ocurre cuando falla
Una cámara se apaga. El vigilante lo eleva como evento con una regla de alarma y lo cierra al recuperarse. El silencio nunca es la señal.
Un suscriptor muere. La ingesta no se ve afectada: los consumidores están aguas abajo del hub por construcción, no por convención. El hub informa además de que el módulo ha dejado de responder.
Necesita la grabación. Exportación exacta al fotograma con marca de tiempo y cámara incrustadas, encolada en el bus, con una procedencia declarada.
Necesita conocer la postura. Está escrita como un registro con hallazgos abiertos, no afirmada como un sello. Léalo.
Solicitar un equipo de prueba
Cifras de latencia del bus
El equipo de prueba funciona con cámaras sintéticas: no interviene ninguna grabación real.