5Tech Edge Bridge (ESP32) — MVP de la Fase 1
Ficha técnica · esp32-edge-bridge-datasheet · Borrador de revisión (preliminar) · 2026-07-08
PRELIMINAR. Esta ficha técnica describe un MVP de la Fase 1 construido sobre una placa de desarrollo ESP32 estándar. Es un prototipo de monitoreo y automatización, no un producto terminado ni certificado. Las constantes verificadas por firmware (pines, UUID de BLE, temas MQTT, temporización, umbrales) se toman directamente del firmware distribuido y se indican tal cual. Los valores marcados con ‡ son marcadores de posición de ingeniería propuestos, de clase ESP32-WROOM-32, dados con la condición bajo la cual deben confirmarse — no están medidos, no son finales, y ningún valor ‡ es una declaración de certificación. Los valores marcados con
[TBD]siguen pendientes. Las certificaciones son n/a — prototipo de desarrollo. Véase §12 para el control de cambios.
Figura FIG-001 — 5Tech Edge Bridge, el MVP de la Fase 1 sobre una placa de desarrollo ESP32.
1. De un vistazo
El 5Tech Edge Bridge es el MVP de la Fase 1 de la pila 5Tech: firmware sobre una placa de desarrollo ESP32 estándar que conecta sensores, señales de máquina y eventos de prueba con sistemas de automatización por Wi-Fi, Bluetooth LE y MQTT. La Fase 1 valida la canalización completa de sensor a automatización para que la Fase 2 pueda convertir un diseño probado en una PCB personalizada.
| Producto | 5Tech Edge Bridge (ESP32) — MVP de la Fase 1 |
| Familia / función | 5Tech · Puente / Prototipo (MVP de la Fase 1) |
| Función | Conectar sensores / señales de máquina / eventos de prueba con la automatización por Wi-Fi, Bluetooth LE y MQTT; validar la canalización de sensor a automatización |
| Plataforma de hardware | Placa de desarrollo ESP32-WROOM-32 estándar (board = esp32dev) |
| Conectividad | Wi-Fi 2.4 GHz (estación), Bluetooth LE (servidor GATT), MQTT sobre TCP |
| Alimentación | USB 5 V (banco de desarrollo) |
| Firmware | v0.1.0; dos variantes (ESP-IDF C / Arduino C++) que comparten un mismo contrato de comunicación |
| Certificaciones | n/a — prototipo de desarrollo |
Características principales
- Canalización completa de sensor a automatización sobre una placa de desarrollo ESP32 estándar — sin hardware personalizado.
- Tres transportes: Wi-Fi + MQTT, Bluetooth LE (funciona sin red) y una consola serie.
- JSON estructurado: telemetría cada 5 s, un latido de estado de 30 s, publicación inmediata de eventos, estado retenido + Last Will.
- Modelo de dispositivo de nueve estados con un modelo de peligro con enclavamiento WARNING / DANGER (solo limpieza explícita).
- Tres fuentes de entrada intercambiables: GPIO real, botón integrado y un sensor simulado.
- Dos variantes de firmware que hablan un protocolo de comunicación idéntico y verificado por paridad.
Aplicaciones típicas
- Validar la canalización MQTT + Bluetooth LE de extremo a extremo antes de comprometerse con una PCB.
- Demostraciones a clientes / inversores de la ruta de sensor a automatización.
- Pruebas de banco de la integración de automatización (n8n / Node-RED / personalizada).
- El diseño de referencia y la base de firmware a partir de los cuales se construye el hardware de producción de la Fase 2.
2. Contexto del sistema
Figura FIG-002 — Sense → Connect → Decide. El Edge Bridge es un prototipo de borde de un solo dispositivo: adquiere la señal de un dispositivo y publica hacia arriba el estado propio de ese dispositivo.
El Edge Bridge es un periférico BLE (un servidor GATT) que publica el estado de su propio y único dispositivo. Adquiere una señal, la resuelve a un estado, expone ese estado por Bluetooth LE y lo publica por MQTT. Arquitectónicamente pertenece al lado Sense, como un nodo de borde de adquisición y publicación — no es un agregador central de otros nodos.
- Sense — un sensor GPIO real, el botón integrado, un sensor simulado o un comando remoto (BLE / MQTT / serie) indica una condición en este único dispositivo.
- Connect (transporte) — el ESP32 resuelve su estado, construye una carga útil JSON y la publica por Wi-Fi a un broker MQTT; un servidor GATT Bluetooth LE expone las características propias de este dispositivo (Det1, Det2, Con1, Cmd, Resp) para control local que sobrevive a una red caída.
- Decide — un flujo de automatización (n8n / Node-RED / personalizado) se suscribe, filtra y enruta el mensaje a paneles, alertas y registros.
Límite del producto frente al Sensorium™ Gateway. Este prototipo es un periférico BLE que sirve el estado propio de un único dispositivo; no agrega otros nodos BLE. El rol Connect de agregación central — un central BLE que recopila muchos nodos Sensorium™ y los reenvía aguas arriba — pertenece al Sensorium™ Gateway, un producto aparte. Lo que el Edge Bridge valida son los patrones de adquisición de borde y publicación MQTT (identidad del dispositivo, el modelo de estados, cargas útiles JSON, estado retenido + Last Will y manejo de comandos) — no la lógica de agregación del Gateway.
3. Descripción funcional
Figura FIG-003 — Bloques funcionales: fuentes de entrada, el núcleo de decisión compartido, tres transportes y E/S local.
El firmware se organiza en cuatro grupos funcionales:
- Fuentes de entrada — las entradas digitales Det1 (GPIO18) y Det2 (GPIO19), el botón integrado (GPIO0) y un sensor simulado (un paseo aleatorio acotado), además de comandos remotos por cualquier transporte. Cualquier fuente puede alimentar la canalización; ninguna es necesaria para ejecutar la demo.
- Núcleo de decisión compartido — un detector de eventos (
NORMAL < WARNING < DANGER, con enclavamiento) y un modelo de dispositivo de nueve estados resuelto en prioridad estricta. Este núcleo se compila textualmente en ambas variantes de firmware, de modo que su lógica no puede divergir. - Comunicación — un cliente Wi-Fi estación + MQTT, un servidor GATT Bluetooth LE y una consola serie. Los comandos entrantes de las tres se ponen en cola y se ejecutan en el bucle principal.
- E/S local — un LED de estado con un patrón de parpadeo por estado (GPIO2), un zumbador opcional (GPIO25, deshabilitado de forma predeterminada) y la salida de contacto Con1 (GPIO23).
Ruta de datos: entrada → detector de eventos → estado del dispositivo → carga útil JSON → MQTT / BLE / serie → automatización. Los comandos recorren la ruta inversa y se ponen en cola, nunca se ejecutan en una tarea de callback de radio, de modo que una respuesta QoS 1 no puede bloquearse contra la tarea que debe confirmarla.
4. Información de pedido
El Edge Bridge es un MVP de la Fase 1, no un producto comercial; no hay códigos de pedido. Se ensambla a partir de piezas estándar:
| Artículo | Especificación | Notas |
|---|---|---|
| Placa de desarrollo ESP32 | Cualquier devkit ESP32-WROOM-32 (board = esp32dev) |
El único hardware obligatorio |
| Cable USB | Con capacidad de datos (no solo de carga) | Alimentación, flasheo y consola serie |
| Botón (opcional) | GPIO0 | El botón BOOT integrado funciona |
| Sensores (opcional) | GPIO18 (Det1), GPIO19 (Det2), activo en bajo | Cualquier fuente de contacto seco / digital |
| Zumbador (opcional) | GPIO25 | Deshabilitado de forma predeterminada (ENABLE_BUZZER = 0) |
Los códigos de pedido del hardware de producción de la Fase 2 (PCB personalizada + carcasa) son [TBD] y no
se comprometen hasta que la Fase 1 congele los requisitos de sensor, conector, alimentación y carcasa.
5. Especificaciones mecánicas
No hay carcasa personalizada ni diseño mecánico en la Fase 1 — el MVP es una placa de desarrollo desnuda. Una PCB y una carcasa personalizadas son trabajo de la Fase 2.
| Parámetro | Valor | Condición / nota |
|---|---|---|
| Factor de forma | Placa de desarrollo ESP32-WROOM-32 (PCB desnuda) | Sin carcasa 5Tech en la Fase 1 |
| Dimensiones (An × Al × Pr) | [TBD] |
Depende de la placa; varía según el devkit específico usado |
| Peso | [TBD] |
Depende de la placa |
| Montaje | Ninguno / protoboard / banco | Sin provisión de montaje en la Fase 1 |
| Carcasa | Ninguna | La carcasa personalizada es de la Fase 2 |
6. Especificaciones eléctricas
Preliminar. El comportamiento verificado por firmware (niveles lógicos, la suposición de sensor activo
en bajo, el pin Con1) se toma directamente del firmware distribuido y no lleva marca. Los valores
marcados con ‡ son cifras propuestas de clase ESP32-WROOM-32, indicadas con su condición y aún no
medidas; se confirman por medición durante la Fase 1. [TBD] marca un valor todavía pendiente.
| Parámetro | Mín | Típ | Máx | Unidad | Condición |
|---|---|---|---|---|---|
| Alimentación (USB VBUS) | 4.75 | 5.0 | 5.25 | V DC | Alimentación de banco por USB (USB 5 V ±5 %) |
| Riel lógico del módulo | 3.3 | V DC | Regulador integrado | ||
| Corriente de alimentación | — | 120‡ | 500‡ | mA | Sin medir. @ 5 V; típ‡ = Wi-Fi asociado, bucle en reposo; pico‡ = ráfaga momentánea de TX Wi-Fi. Estimación de clase ESP32-WROOM-32, a confirmar por medición |
| Nivel lógico GPIO | 3.3 | V | Las entradas no toleran 5 V | ||
| Entrada alta Det1 / Det2, V_IH | 2.48‡ | — | — | V | Umbral de nivel lógico alto ≈ 0.75 × 3.3 V (clase ESP32-WROOM-32); el firmware trata una entrada Det como activa en bajo con pull-ups internas |
| Entrada baja Det1 / Det2, V_IL | — | — | 0.83‡ | V | Umbral de nivel lógico bajo ≈ 0.25 × 3.3 V (clase ESP32-WROOM-32) |
| Polaridad de detección Det1 / Det2 | — | — | — | — | Activa en bajo (DET_INPUT_ACTIVE_LOW = 1), pull-ups internas habilitadas (verificado por firmware); una entrada flotante o abierta se lee como desactivada |
| Accionamiento de salida de contacto (Con1) | — | 20‡ | 40‡ | mA | GPIO23, salida de nivel lógico de 3.3 V; típ‡ continuo recomendado, máx‡ absoluto por pin (clase ESP32-WROOM-32). Véase el AVISO de Con1 más abajo |
AVISO. Los pines GPIO son de lógica de 3.3 V y no toleran 5 V. No conecte a una entrada GPIO un sensor o señal que supere 3.3 V sin el acondicionamiento de nivel adecuado.
AVISO — Con1 es un pin de nivel lógico, no un controlador de relé. Con1 (GPIO23) es una salida GPIO de 3.3 V simple. Para conmutar un relé, un contactor o cualquier carga inductiva o de red eléctrica necesita un controlador externo (una etapa de transistor / MOSFET o un módulo de relé optoaislado), un diodo de retorno / de rueda libre (flyback / free-wheeling) en paralelo con cualquier carga inductiva y un aislamiento eléctrico adecuado. No conmute tal carga directamente desde el pin.
AVISO — Sin protección de entrada (no industrial). La alimentación es una entrada USB 5 V simple sin protección contra polaridad inversa, sobretensión ni ESD en el conjunto, y las entradas GPIO / Det tampoco llevan protección añadida contra sobretensión ni ESD. Esta es una placa de desarrollo de banco, no una etapa de entrada de grado industrial; proporcione protección externa si el entorno de despliegue lo exige.
7. Interfaces y protocolos
| Interfaz | Especificación | Conector / pin | Notas |
|---|---|---|---|
| Wi-Fi | 2.4 GHz 802.11 b/g/n, modo estación | Antena de PCB / módulo | Conexión no bloqueante con retroceso exponencial |
| Bluetooth LE | Servidor GATT; servicio 4fafc201-1fb5-459e-8fcc-c5c9c331914b |
Antena 2.4 GHz compartida | Anunciado como 5Tech-IoT-Bridge-<mac6>; GATT abierto, sin emparejamiento |
| MQTT | TCP, texto plano; host y puerto del broker configurables (predeterminado de plantilla 1883); raíz 5tech/iotbridge |
sobre Wi-Fi | temas de telemetría / evento / estado / comando / depuración; QoS por tema |
| Consola serie | UART USB, 115 200 baudios | USB | Misma gramática de comandos que BLE y MQTT |
| Det1 | Entrada digital, activo en bajo, pull-up | GPIO18 | Activada → WARNING; expuesta como una característica BLE |
| Det2 | Entrada digital, activo en bajo, pull-up | GPIO19 | Activada → DANGER; expuesta como una característica BLE |
| Con1 | Salida de contacto, configurable de forma remota | GPIO23 | Configurable por BLE / MQTT / serie |
| LED de estado | Patrón de parpadeo por estado | GPIO2 | LED integrado en la mayoría de los devkits ESP32 |
| Botón | Entrada, activo en bajo, pull-up | GPIO0 | Botón BOOT integrado; corto = advertencia/limpieza, largo ≥1.5 s = peligro |
| Zumbador (opcional) | Salida | GPIO25 | ENABLE_BUZZER = 0 de forma predeterminada |
Características GATT de BLE (todas bajo el UUID de servicio anterior):
| Característica | UUID | Propiedades |
|---|---|---|
| Det1 | beb5483e-36e1-4688-b7f5-ea07361b26a8 |
Read, Notify |
| Det2 | beb5483f-36e1-4688-b7f5-ea07361b26a9 |
Read, Notify |
| Con1 | beb54840-36e1-4688-b7f5-ea07361b26aa |
Read, Write |
| Cmd | beb54841-36e1-4688-b7f5-ea07361b26ab |
Write |
| Resp | beb54842-36e1-4688-b7f5-ea07361b26ac |
Read, Notify |
Temas MQTT (raíz 5tech/iotbridge, <id> = 5tech-bridge-<mac6>):
| Tema | Dirección | QoS (ESP-IDF) | Retain |
|---|---|---|---|
.../<id>/telemetry |
publicado, cada 5 s | 0 | no |
.../<id>/event |
publicado, de inmediato al cambiar | 1 | no |
.../<id>/status |
publicado al cambiar y cada 30 s (latido); retenido; también el Last Will | 1 | sí |
.../<id>/command |
suscrito | 1 solicitado | — |
.../<id>/debug |
publicado | 0 | no |
.../all/command |
suscrito (difusión) | 1 solicitado | — |
Cadencia de publicación (verificada por firmware). La telemetría se publica cada 5 s
(TELEMETRY_INTERVAL_MS = 5000); el estado se vuelve a publicar en cada cambio de estado y en un
latido de 30 s (STATUS_INTERVAL_MS = 30000), de modo que un suscriptor tardío siempre ve un estado
retenido en vivo; los eventos se publican de inmediato al cambiar. El keep-alive de MQTT es de 30 s
(MQTT_KEEPALIVE_S = 30).
La variante Arduino / PlatformIO publica todos los temas con QoS 0 (su cliente MQTT no tiene parámetro de QoS); sus suscripciones y el Last Will siguen registrándose con QoS 1. Todos los temas, las claves de la carga útil y el orden de las claves son, por lo demás, idénticos byte a byte entre las dos variantes y se verifican por paridad en la compilación.
8. Especificaciones ambientales y clasificaciones
Esta es una placa de desarrollo desnuda sin sellado ni clasificación ambiental. Opérela en un banco en un entorno seco, interior y a temperatura ambiente.
| Parámetro | Valor | Nota |
|---|---|---|
| Protección de ingreso | Ninguna | PCB desnuda; sin carcasa en la Fase 1 |
| Temperatura de funcionamiento | 0 °C a +40 °C‡ (conjunto) | Estimación ‡ de banco / interior para la placa ensamblada; deliberadamente más estrecha que la clasificación propia del módulo ESP32-WROOM-32 de −40 °C a +85 °C, que el regulador, el USB y los pasivos del devkit no heredan. Confirmar por prueba |
| Temperatura de almacenamiento | −40 °C a +85 °C‡ | Clase ESP32-WROOM-32; depende de la placa |
| Humedad | [TBD] |
Uso de banco, sin condensación |
| Vibración / choque | n/a | Prototipo; sin clasificación |
9. Conformidad y normas
n/a — prototipo de desarrollo. Este dispositivo no posee certificaciones de producto, y ninguna se declara. El propio módulo ESP32-WROOM-32 lleva su propia aprobación de radio modular FCC / ISED (IC) / CE-RED, pero esa aprobación a nivel de módulo no se transfiere al prototipo ensamblado de la Fase 1, que no es un producto certificado y no debe representarse como tal. La certificación (radio/telecomunicaciones, EMC, seguridad, ambiental) es trabajo de la Fase 2, una vez que haya una placa de producción que certificar.
| Área | Estado |
|---|---|
| Radio / telecomunicaciones | n/a — prototipo de desarrollo (sin aprobación a nivel de producto). El módulo ESP32-WROOM-32 lleva su propia aprobación de radio modular FCC / ISED (IC) / CE-RED; esa aprobación de módulo no transfiere la certificación al prototipo ensamblado |
| EMC | n/a — prototipo de desarrollo |
| Seguridad | n/a — prototipo de desarrollo; no es un dispositivo con clasificación de seguridad |
| Ambiental (RoHS/REACH) | n/a — prototipo de desarrollo |
Este no es un dispositivo de seguridad. No lleva ninguna certificación de seguridad de ningún tipo y no debe utilizarse para proteger personas o equipos.
10. Accesorios y productos relacionados
| Artículo | Código de pedido | Propósito |
|---|---|---|
| Cable de datos USB | [TBD] |
Alimentación, flasheo, consola serie |
| Sensor digital / contacto seco | [TBD] |
Entrada Det1 / Det2 opcional |
| Zumbador | [TBD] |
Anunciación local opcional (GPIO25) |
Documentos relacionados
- Manual:
manuals/esp32-edge-bridge-manual/— puesta en marcha, flasheo, configuración, flujo de demo. - Descripción del producto:
products/esp32-edge-bridge/— posicionamiento y aspectos destacados. - Firmware y documentación de ingeniería completa:
modules/5tech-edge-iot-bridge/— arquitectura, API de MQTT, API de Bluetooth, alcance de la Fase 1 y la hoja de ruta de la PCB de la Fase 2. - Hardware relacionado: el Sensorium™ Gateway — un producto aparte que desempeña el rol Connect de agregación central BLE (recopilando muchos nodos Sensorium™ aguas arriba). El Edge Bridge no implementa ni apunta a ese rol; valida los patrones de adquisición de borde y publicación MQTT en un único dispositivo (véase §2).
11. Comportamiento de señal y alertas
Figura FIG-004 — Ilustrativo — una señal monitoreada que cruza su umbral de alerta configurado (o una tendencia anómala) genera una alerta; una persona decide cualquier acción. Comportamiento representativo, no datos medidos.
El Edge Bridge informa una señal monitoreada y evalúa una regla simple; cuando una entrada cruza su umbral configurado (un estado DANGER) o muestra una tendencia anómala, genera una alerta y una persona decide cualquier acción. Es un prototipo que valida esta ruta —no realiza ninguna acción autónoma y no es un dispositivo de seguridad. El gráfico es ilustrativo; los umbrales se configuran por implementación ([TBD]).
Ejemplos de señales monitoreadas y disparadores de alerta
| Señal | Ejemplo de disparador de alerta | Respuesta |
|---|---|---|
| Evento de sensor / entrada (Det1 / Det2) | Una entrada monitoreada cruza su umbral configurado | Alerta + notificar (decide una persona) |
| Estado DANGER | El núcleo de decisión evalúa su regla a un estado DANGER | Alerta + notificar (decide una persona) |
| Conectividad / transporte | Falla un transporte de enlace ascendente o el dispositivo deja de notificar | Alerta + notificar (decide una persona) |
Ilustrativo — representativo, no medido; valores [TBD].
12. Revisión y control de cambios
| Revisión | Fecha | Cambio | Autor |
|---|---|---|---|
| Borrador (preliminar) | 2026-07-08 | Contenido inicial redactado, con base en modules/5tech-edge-iot-bridge; valores desconocidos [TBD]. |
Documentación |
| Borrador (preliminar) | 2026-07-18 | Se aclaró el límite de producto de periférico BLE / dispositivo único frente al Sensorium™ Gateway; se añadieron los umbrales de entrada Det1/Det2, la clasificación de accionamiento de Con1 y la limitación de sin protección de entrada; se marcaron con ‡ la corriente de alimentación sin medir y el rango de temperatura del conjunto; se documentó el latido de estado de 30 s y el puerto MQTT configurable; se renombró FIG-001. No se cambió ninguna constante verificada por firmware. | Documentación |
Historial completo de cambios: revision.md. Fuentes y normas citadas: references.md.
Figuras
| ID | Título | Estado | Nombre de archivo | Propósito |
|---|---|---|---|---|
| FIG-001 | Edge Bridge — Render principal del prototipo | Faltante | renders/hero_edge-bridge.png |
Imagen de portada / principal |
| FIG-002 | Contexto del sistema | Faltante | diagrams/system_context.png |
Dónde se sitúa el producto en la cadena Sense → Connect → Decide |
| FIG-003 | Diagrama de bloques funcional | Faltante | diagrams/block_diagram.png |
Arquitectura funcional interna |
| FIG-004 | Comportamiento de señal y alertas (ilustrativo) | Faltante | diagrams/signal_threshold_chart.png |
Cómo una señal monitoreada que cruza un umbral genera una alerta (ilustrativo, no datos medidos) |
Las especificaciones son preliminares y están sujetas a cambios. Véase revision.md para el control de
cambios, references.md para las fuentes e image_prompts.md para el índice de figuras/prompts.