# Biblioteca de Conocimiento — Laboratorio Repositorio de **laboratorio / pruebas** con la misma estructura que `biblioteca_negocio_prolongo`. ## Proyecto principal: Sistema de Vigilancia Cerebro de casa 24/7 en **Raspberry Pi 3** (`minipc`, 192.168.50.187/251). ### Funcionalidades | Función | Comando / Descripción | |---------|----------------------| | **Estado de la Pi** | `estado` (temp, RAM, disco, IPs) | | **Temperatura** | `temperatura` | | **Mensaje a la tele** | `tv ` (enciende → habla → apaga) | | **Alarma completa** | `alarma ` (sirena Protección Civil → mensaje x3 → texto 30s → apagado) | | **YouTube** | `youtube ` (reproduce video → apaga al terminar) | | **Panorámica** | `panorama` (fotos de cámaras → Telegram IDD) | | **Reconocimiento** | Identifica a INES/CAROLINA por cara y cuerpo (80%) | | **Acceso remoto** | `ssh minipc` vía VPS (ProxyJump) o `tv_api.py:8600` | ### Bot de Telegram - **@juanjer_casa_bot** — bot dedicado (sin competir con el de la VPS) - Comandos: `estado`, `temperatura`, `tv `, `alarma `, `youtube `, `panorama` ### Apagado de la tele - **AndroidTVRemote2** (protocolo oficial Google): emparejamiento por PIN, certificado persistente - Sin ADB, sin VoiceMonkey — funciona siempre ### Acceso remoto (Opción C: túnel SSH vía VPS) - **Pi → VPS**: túnel inverso autossh (`-R 2222:localhost:22 -R 8600:localhost:8600`) - **Portátil → VPS → Pi**: `ssh minipc` (ProxyJump) - **API remota**: `curl http://:8600/tv/mensaje?texto=...` - **Telegram**: `@juanjer_casa_bot` con comandos `tv`/`alarma`/`youtube`/`panorama` ### Estructura del proyecto ``` vigilancia/ ├── pi_bot.py # Bot de Telegram (estado, tv, alarma, youtube, panorama) ├── tv_api.py # API HTTP para control de la tele ├── voz.py # Generación de voz, sirena, teleprompter, YouTube, apagado TV ├── panorama.py # Snapshots de cámaras a Telegram IDD ├── config.py # Configuración del sistema ├── tv_mensaje.py # CLI para mensajes a la tele ├── tv_adb.py # ADB (legacy, ahora usa AndroidTVRemote2) ├── reconocedor.py # Reconocimiento facial (YuNet + ArcFace + ResNet18) ├── enroll.py # Registro por webcam ├── notificador.py # Telegram, Alexa (VoiceMonkey) ├── detector_persona.py # Detección YOLO ├── main.py # Orquestador de vigilancia ├── test_prueba.py # Suite de pruebas (18/18) ├── test_alerta.py # Prueba de alerta E2E ├── adb-tools/ # ADB + AndroidTVRemote2 ├── modelos/ # Modelos YuNet + ArcFace └── conocidos/ # Embeddings de INES/CAROLINA ``` ### Lecciones aprendidas Ver `docs/lecciones_aprendidas_vigilancia.md` — 26 lecciones cubriendo hardware, red, SSH, Telegram, TV, audio y despliegue. ### Infraestructura | Componente | Detalle | |-----------|---------| | **Pi** | 192.168.50.187 (eth0) / 192.168.50.251 (wlan0) | | **VPS** | 185.187.169.109 (Contabo, Docker) | | **TV** | 192.168.50.16 (AndroidTVRemote2, PIN emparejado) | | **Cámara** | 192.168.50.227 (Tapo, RTSP + ffmpeg) | | **SSH** | `ssh minipc` (ProxyJump vps) → Pi | | **Telegram** | @juanjer_casa_bot (bot dedicado) |