Sistema de inteligencia artificial para vigilancia y reconocimiento facial. Guía completa de instalación, configuración y uso.
Sensepot Node es un sistema de inteligencia artificial que se instala en tu red local y se conecta a las cámaras IP que ya tienes. No reemplaza tus cámaras: las potencia con reconocimiento facial, detección de personas, lectura de placas vehiculares y análisis de comportamiento, todo procesado localmente sin enviar video a internet.
| Componente | Mínimo | Recomendado |
|---|---|---|
| Sistema operativo | Ubuntu 22.04 / macOS 13+ | Ubuntu 22.04 LTS |
| Procesador | Intel/AMD x86-64 o Apple Silicon | Intel N100 o Ryzen 7 |
| RAM | 4 GB | 16 GB |
| Almacenamiento | 20 GB libres | 128 GB SSD |
| Red | 100 Mbps Ethernet | Gigabit Ethernet |
| Cámaras soportadas | 1–2 | 4–6 (Beelink SER7) |
Cualquier cámara IP que soporte el protocolo RTSP o ONVIF. Marcas verificadas:
Abre una terminal en el equipo donde instalará Sensepot Node y ejecuta:
curl -sSL -u "sensepot:CONTRASEÑA" https://install.node.sensepot.tech | bash
El instalador hará todo automáticamente:
sudo: sudo bash sensepot-install.sh
Al terminar la instalación, abre un navegador en el mismo equipo y entra a:
La primera vez verás la pantalla de Configuración inicial. Aquí creas el usuario y contraseña exclusivos para este sistema:
Para controlar el servidor desde terminal usa el comando sensepot:
sensepot start # encender sensepot stop # apagar sensepot status # ver si está corriendo
Ve al tab Cámaras en el menú superior. Hay dos formas de agregar cámaras:
usuario@dominio.com), y la contraseña es la que configuraste en la app de Tapo para esa cámara.
En el formulario "Agregar manualmente" (columna derecha), completa:
| Nombre | Nombre descriptivo, ej. "Entrada principal", "Estacionamiento norte". |
| URL RTSP | La dirección del stream de video (ver formatos en la siguiente sección). |
@, !, &, #), debes codificarlos en la URL. Usa la tabla de abajo.
| Carácter | Reemplazar por |
|---|---|
@ | %40 |
! | %21 |
& | %26 |
# | %23 |
$ | %24 |
espacio | %20 |
El usuario es el correo de tu cuenta Tapo con el @ codificado como %40. La contraseña es la de la cámara (no la de la app de Tapo). Para stream de menor resolución usa /stream2.
Canal 101 = cámara 1, stream principal. Canal 102 = stream secundario. Canal 201 = cámara 2.
Usa el número 0 para la primera webcam, 1 para la segunda, etc.
Para que el sistema reconozca a alguien, primero debes registrarlo:
En el tab Historial puedes ver todas las detecciones con su imagen, fecha, cámara y nivel de similitud.
| Campo | Descripción |
|---|---|
| Nombre | Persona identificada o "Desconocido". |
| Similitud | Porcentaje de confianza (>70% = reconocimiento confiable). |
| Cámara | En qué cámara fue detectado. |
| Fecha/Hora | Cuándo ocurrió la detección. |
Puedes filtrar por nombre, tipo de detección (conocido/desconocido) y cámara específica. El historial se actualiza automáticamente.
El tab Analíticas muestra información en tiempo real sobre el comportamiento detectado en las cámaras.
| Función | ¿Qué detecta? | Umbral |
|---|---|---|
| Aforo | Cantidad de personas presentes en el área de cada cámara. | Configurable por cámara. |
| Merodeo | Persona que permanece inmóvil en el mismo punto por más de 20 segundos. | 20 segundos. |
| Caída | Persona que cae o pasa de posición vertical a horizontal bruscamente. | Automático. |
| Movimiento rápido | Persona corriendo o en movimiento brusco inusual. | Automático. |
En la sección "Capacidad por Cámara" del tab Analíticas, define el aforo máximo permitido para cada área. Cuando se supere, el sistema lo marcará como alerta.
El sistema lee automáticamente las placas de los vehículos visibles en las cámaras. Puedes administrar listas de vehículos autorizados y bloqueados.
En cualquier pantalla, haz clic en tu nombre de usuario (esquina superior derecha) y selecciona "Cambiar contraseña".
| Comando | Acción |
|---|---|
sensepot start | Encender el servidor Sensepot Node. |
sensepot stop | Apagar el servidor Sensepot Node. |
sensepot restart | Reiniciar el servicio (útil tras cambios de configuración). |
sensepot status | Ver si el servicio está activo y en qué puerto responde. |
sensepot logs | Ver los eventos del sistema en tiempo real (Ctrl+C para salir). |
sensepot update | Actualizar Sensepot Node a la última versión disponible. |
| Archivo | Contenido |
|---|---|
camaras.json | Lista de cámaras configuradas y sus URLs. |
conocidos.pkl | Base de datos de rostros registrados. |
historial.db | Historial completo de detecciones (SQLite). |
snapshots/ | Imágenes capturadas en cada detección. |
auth.json | Credenciales de acceso (contraseña encriptada). |
conocidos.pkl y historial.db. Si el equipo falla y no tienes respaldo, perderás los rostros registrados.
Causas posibles:
ping [IP de la cámara]./login.sensepot status.sensepot restart.| Término | Definición |
|---|---|
| RTSP | Real Time Streaming Protocol. Protocolo estándar que usan las cámaras IP para transmitir video. |
| ONVIF | Estándar de comunicación para cámaras de seguridad IP. Permite que dispositivos de distintas marcas hablen entre sí. |
| Stream | Flujo de video continuo desde una cámara. |
| Stream 1 / Stream 2 | Las cámaras suelen tener dos streams: el principal (mayor resolución) y el secundario (menor resolución, menos ancho de banda). |
| FPS | Fotogramas por segundo. A mayor FPS, más fluido el video. El sistema analiza el video a ~25 FPS. |
| Similitud | Porcentaje de coincidencia entre un rostro detectado y los perfiles registrados. Por encima del 70% se considera reconocimiento confiable. |
| LPR | License Plate Recognition. Sistema de lectura automática de placas vehiculares. |
| Aforo | Cantidad de personas presentes en un área en un momento dado. |
| Merodeo | Comportamiento donde una persona permanece estática en el mismo lugar por un tiempo inusualmente largo. |
| Node | El equipo donde está instalado Sensepot (el mini PC o servidor). Un Node puede gestionar múltiples cámaras. |
| mDNS | Protocolo que permite acceder al Node por nombre (sensepot-node.local) en lugar de IP, sin configuración manual. |