superguardado: README + AGENTS + lecciones aprendidas vigilancia (26 lecciones)

This commit is contained in:
minguezsanzjuanjose
2026-08-02 22:46:40 +02:00
parent e33d4c1369
commit 33e50ca274
3 changed files with 137 additions and 28 deletions

View File

@@ -1,41 +1,75 @@
# Biblioteca de Conocimiento — Laboratorio
Repositorio de **laboratorio / pruebas** (test de laboratorio) con la misma estructura y características que `biblioteca_negocio_prolongo`, pero con **contenido vacío**.
Repositorio de **laboratorio / pruebas** con la misma estructura que `biblioteca_negocio_prolongo`.
## Propósito
## Proyecto principal: Sistema de Vigilancia
- Entorno aislado para hacer tests de laboratorio sin tocar la base de conocimiento real.
- Misma configuración de asistentes IA (AGENTS.md), MCP servers y sincronización.
- Se irán añadiendo proyectos de prueba conforme se necesiten.
Cerebro de casa 24/7 en **Raspberry Pi 3** (`minipc`, 192.168.50.187/251).
## Estructura
### Funcionalidades
| Carpeta | Contenido previsto |
|---------|-------------------|
| `conocimiento_prolongo_faccsa/` | (vacío — en producción: esquemas BBDD, catálogo artículos, glosario ERP) |
| `guardias/` | (vacío — en producción: manuales, catálogo equipos, wiki errores, extensiones) |
| `planificacion/` | (vacío — planning, pendientes) |
| `powerbi/` | (vacío — conocimiento Power BI) |
| `docs/` | (vacío — documentación arquitectura, integraciones) |
| `config/` | `opencode.jsonc` (MCP: engram, obsidian, telegram, image-vision, context7, fetch, etc.) + `CLAUDE.md` |
| `scripts/` | Scripts de automatización (a rellenar) |
| Función | Comando / Descripción |
|---------|----------------------|
| **Estado de la Pi** | `estado` (temp, RAM, disco, IPs) |
| **Temperatura** | `temperatura` |
| **Mensaje a la tele** | `tv <mensaje>` (enciende → habla → apaga) |
| **Alarma completa** | `alarma <mensaje>` (sirena Protección Civil → mensaje x3 → texto 30s → apagado) |
| **YouTube** | `youtube <URL>` (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` |
## Características (idénticas al repo de producción)
### Bot de Telegram
- **AGENTS.md**: mismas reglas e instrucciones para asistentes IA (protocolo RE, memoria absoluta, Engram cloud, sync bidireccional, comandos rápidos)
- **Engram**: conexión al mismo Engram local + cloud (`biblioteca_conocimiento_laboratorio` como proyecto)
- **Obsidian**: conexión al vault vía Local REST API (MCP obsidian)
- **MCP servers**: engram, image-vision, context7, fetch, sequential-thinking, duckduckgo-search, obsidian, telegram (config/opencode.jsonc)
- **.env**: credenciales locales (NO se sube al repo, está en .gitignore)
- **@juanjer_casa_bot** — bot dedicado (sin competir con el de la VPS)
- Comandos: `estado`, `temperatura`, `tv <msg>`, `alarma <msg>`, `youtube <URL>`, `panorama`
## Configuración
### Apagado de la tele
Copiar `.env.example` a `.env` y rellenar con valores reales (o copiar el `.env` del repo de producción si se quiere acceso completo).
- **AndroidTVRemote2** (protocolo oficial Google): emparejamiento por PIN, certificado persistente
- Sin ADB, sin VoiceMonkey — funciona siempre
## Notas
### Acceso remoto (Opción C: túnel SSH vía VPS)
- Las carpetas están vacías a propósito: es un entorno de pruebas.
- Convenciones de nomenclatura: ver AGENTS.md (faccsa con doble C+S-A, programas con guiones 8-4-8, PCs con prefijo+numero VC0012).
- **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://<VPS>:8600/tv/mensaje?texto=...`
- **Telegram**: `@juanjer_casa_bot` con comandos `tv`/`alarma`/`youtube`/`panorama`
---
*Creado: 01/08/2026 — Laboratorio*
### 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) |