From 7584d0209eb09a25927539f88fd2e04bb7d83a66 Mon Sep 17 00:00:00 2001 From: "victor.fraile" Date: Wed, 25 Mar 2026 15:44:51 +0000 Subject: [PATCH] =?UTF-8?q?A=C3=B1adir=20lsn50-v2-xkc-y25-v-drainage/READM?= =?UTF-8?q?E.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lsn50-v2-xkc-y25-v-drainage/README.md | 67 +++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 lsn50-v2-xkc-y25-v-drainage/README.md diff --git a/lsn50-v2-xkc-y25-v-drainage/README.md b/lsn50-v2-xkc-y25-v-drainage/README.md new file mode 100644 index 0000000..01b2540 --- /dev/null +++ b/lsn50-v2-xkc-y25-v-drainage/README.md @@ -0,0 +1,67 @@ +# Kit validado: LSN50 v2 + XKC-Y25-V para drenaje + +## Qué es + +Este kit documenta la combinación validada entre: + +- nodo LoRaWAN `Dragino LSN50 v2.x` +- sensor capacitivo `XKC-Y25-V` +- circuito de adaptación para leer el estado del sensor sobre `PA12` +- codec de ChirpStack con `decodeUplink()` y `encodeDownlink()` +- lógica de operación orientada a drenaje en invernadero hidropónico NGS + +## Qué problema resuelve + +Permite: + +1. alimentar el `XKC-Y25-V` desde el propio nodo, sin fuente externa +2. leer el estado del sensor por entrada digital +3. transportar ese estado por LoRaWAN hasta ChirpStack +4. cambiar remotamente por downlink: + - `TDC` + - `5VT` +5. dejar una base técnica válida para una vertical de drenaje controlable desde el stack MESAVAULT + +## Qué queda validado en este kit + +- el circuito funcional con `pull-up + diodo` +- el pin correcto de entrada digital: `PA12` +- el mapeo correcto del payload: `byte6 & 0x02` +- el uso de downlinks: + - `set_tdc` + - `set_5vt` +- el comportamiento de `5VT` como ventana real de alimentación del sensor +- el uso de `TDC` para controlar la frecuencia de muestreo + +## Qué no pertenece a este kit + +Este kit **no** contiene todavía toda la vertical reusable. + +No deben vivir aquí: + +- scheduler multi-sensor +- SQL de `mv_control.*` +- `pg_sink.py` +- dashboards finales de Grafana +- routing de OVH +- tenant de cliente +- integración final con `/control/ui` + +Eso pertenece a: + +- `30-verticals/climate-drainage-ngs/` +- `10-platforms/homelab/platform-40/` +- `10-platforms/ovh-cloud/` + +## Resultado real + +El resultado de este trabajo no es solo “hacer que un sensor mande 0/1”. + +Lo que queda validado aquí es una combinación técnica reusable y replicable que sirve como base de un pequeño sistema productizable dentro de MESAVAULT. + +## Referencias cruzadas + +- activo base del nodo: `20-assets/models/dragino/lsn50-v2/` +- vertical asociada: `30-verticals/climate-drainage-ngs/` +- referencia humana en BookStack: `pendiente_de_crear` +- referencia de secretos en Vaultwarden: `pendiente_de_crear` \ No newline at end of file