Thread · OTBR · IEEE 802.15.4 · malla IPv6 · Border Router · 10 min de lectura

Puesta en marcha de la red Thread: Border Router, OTBR y diseño de topología de malla

Thread es un protocolo de red mallada IPv6 de bajo consumo basado en IEEE 802.15.4 que proporciona una infraestructura de malla auto-curativa conectada al Border Router para dispositivos Matter en edificios. A diferencia de Zigbee, Thread es nativo IP – cada nodo tiene una dirección IPv6 y es directamente accesible desde la red troncal IP a través del Border Router, eliminando las puertas de enlace de traducción de protocolo.

Fundamentos de radio y red Thread

Thread opera en la capa física y MAC IEEE 802.15.4 a 2,4 GHz utilizando 16 canales (canales 11–26, espaciado de 5 MHz, 250 kbit/s). La capa de red es IPv6 comprimido mediante 6LoWPAN. Thread utiliza seguridad TCAT derivada de DTLS para la puesta en marcha y AES-128-CCM para todo el tráfico de malla. El protocolo es mantenido por el Thread Group (threadgroup.org), con la especificación disponible gratuitamente para los miembros.

ParámetroValorNotas
FrecuenciaBanda ISM de 2,4 GHzMisma banda que Wi-Fi 2,4 GHz y Zigbee: se requiere planificación de canales
PHY / MACIEEE 802.15.4-2015250 kbit/s, DSSS, modulación OQPSK
RedIPv6 con 6LoWPANLa compresión de encabezado reduce IPv6 a ~40 bytes en una trama 802.15.4 de 127 bytes
Seguridad de mallaAES-128-CCMCifrado a nivel de red, autenticación por trama
Máx. nodos250+ por partición ThreadMúltiples particiones conectables mediante router backbone
Alcance interior típico10–15 m por salto (paredes de hormigón)LOS: ~50 m; la malla extiende la cobertura
Máx. saltosSin límite estricto (práctico: 10–15)Cada salto añade ~5–10 ms de latencia
Corriente de sueño (SED)~5–15 µA típicoSleepy End Device: se despierta cada 10–1000 ms para la consulta al padre

Coexistencia de canales: Thread a 2,4 GHz se superpone con los canales Wi-Fi de 2,4 GHz. Use el canal Thread 15 o 20 (libre de los canales Wi-Fi 1, 6 y 11) para minimizar interferencias. Si el edificio usa Wi-Fi de 2,4 GHz intensamente, realice un análisis de espectro (Wireshark + sniffer 802.15.4, o diagnóstico OTBR) antes de seleccionar el canal Thread.

Roles de nodo

Los nodos Thread se autoorganizan en roles según la capacidad y la calidad del enlace. La asignación de roles es automática y dinámica: un Router puede ser degradado si la conectividad de la malla mejora, y un Dispositivo final puede ser ascendido si la malla necesita más capacidad de enrutamiento. Comprender los roles es esencial para la planificación de la topología porque el tamaño de la tabla del router, el intervalo de suspensión y la asignación del padre afectan directamente el éxito de la puesta en marcha y la confiabilidad continua.

RolAbrev.CaracterísticasDispositivo típico
LíderLUno por partición; gestiona la tabla del router, asignaciones de prefijos, datos de red. Elegido automáticamente.Cualquier dispositivo Thread alimentado por red
EnrutadorRReenvía tráfico de malla; mantiene tabla de vecinos; máximo 32 enrutadores por partición. Solo alimentado por red.Enchufes inteligentes, bombillas, termostatos
Dispositivo final elegible como enrutadorREEDPuede convertirse en enrutador si es necesario; se comporta como dispositivo final hasta ser promovido.Dispositivos alimentados por red con ≥48 KB de RAM
Dispositivo terminal completoFEDPermanece activo; tiene un router padre; no enruta; recibe mensajes directos.Sensores, pantallas alimentados por red
Dispositivo terminal durmienteSEDConsulta al router padre en un intervalo configurable (10 ms–10 s); radio apagada entre consultas.Sensores de batería, PIR, contactos de puerta
Dispositivo terminal dormido sincronizadoSSEDSueño coordinado con el padre para un control de latencia más estricto (Thread 1.3+).Actuadores a batería que requieren respuesta rápida

Planificación del intervalo de sondeo SED: Un dispositivo terminal dormido con un intervalo de sondeo de 10 segundos tiene una latencia máxima de comando de 10 segundos (el comando llega justo después de un sondeo). Para interruptores de luz y sensores de presencia que controlan la iluminación, use intervalos de sondeo de 250 ms o menos – a costa de un mayor consumo de batería. Para sensores de contacto de puerta/ventana donde la duración diaria de la batería importa más que el tiempo de respuesta, los intervalos de 10 segundos son aceptables.

Router fronterizo: OTBR y alternativas comerciales

El enrutador fronterizo Thread (Thread Border Router) es la puerta de enlace entre la malla Thread (802.15.4) y la red troncal IP (Ethernet o Wi-Fi). Proporciona NAT64 (para sistemas IPv4 heredados), DNS64, DHCPv6-PD y enrutamiento fuera de la malla. Una red Thread requiere al menos un enrutador fronterizo para permitir el comisionado Matter desde un dispositivo conectado por IP y para que el controlador de fabric Matter pueda alcanzar dispositivos solo Thread.

Enrutador fronterizoPila ThreadSoporte de fabric MatterNotas
OTBR (Raspberry Pi / Linux)OpenThread 1.3Cualquiera – se integra con HA, chip-toolAcceso de diagnóstico completo; recomendado para proyectos comerciales
Apple HomePod mini (2.ª generación)Apple Thread 1.3Apple Home fabricConfigurado automáticamente; sin acceso del usuario al conjunto de datos Thread
Apple HomePod (2.ª generación)Apple Thread 1.3Apple Home fabricIgual que HomePod mini; preferido para espacios grandes
Apple TV 4K (3.ª generación, Ethernet)Apple Thread 1.3Apple Home fabricConexión Ethernet preferida para estabilidad del router fronterizo
Google Nest Hub (2.ª gen.)Google Thread 1.3Google Home fabricAutoconfigurado; acceso de diagnóstico limitado
Google Nest Hub MaxGoogle Thread 1.3Google Home fabricIgual que Nest Hub 2.ª gen.
Nanoleaf Thread Border RouterOpenThread 1.3Apple + Google mediante conjunto de datos compartidoBR dedicado; expone la interfaz web OTBR
Home Assistant SkyConnect USBOpenThread 1.3Servidor HA MatterDongle USB; actúa como BR cuando el complemento HA OTBR está habilitado

Creación del conjunto de datos Thread y configuración OTBR

El Thread Operational Dataset (OTDS) es el conjunto de parámetros de red que definen una partición Thread. Todos los dispositivos en la misma red Thread deben tener el mismo Active Operational Dataset. Al usar OTBR en Linux (Raspberry Pi o equivalente), el conjunto de datos se crea durante la inicialización de OTBR y se puede inspeccionar y exportar a través de la API REST OTBR o la herramienta de línea de comandos ot-ctl.

Instalación de OTBR y creación del conjunto de datos (Ubuntu / Raspberry Pi OS)

# Install OTBR (automated script — pulls Docker image or builds from source)
curl -sL https://raw.githubusercontent.com/openthread/ot-br-posix/main/script/bootstrap   | sudo bash -s -- --no-mdns
sudo INFRA_IF_NAME=eth0 ./script/setup

# Or via Docker (recommended for reproducible builds):
docker run --sysctl "net.ipv6.conf.all.disable_ipv6=0   net.ipv4.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1"   -p 8080:80 --dns=127.0.0.1 -it openthread/otbr:latest   --radio-url spinel+hdlc+uart:///dev/ttyUSB0

# Generate a new Thread dataset via ot-ctl:
sudo ot-ctl dataset init new
sudo ot-ctl dataset channel 15          # Set channel (avoid Wi-Fi overlap)
sudo ot-ctl dataset networkname PanelCraft-Thread
sudo ot-ctl dataset commit active
sudo ot-ctl ifconfig up
sudo ot-ctl thread start

# Verify dataset:
sudo ot-ctl dataset active              # Shows full OTDS in TLV format
sudo ot-ctl state                       # Should show: leader

# Export dataset as hex (for import into other Border Routers):
sudo ot-ctl dataset active -x

Interfaz web OTBR — campos clave

OTBR web UI accessible at: http://<border-router-ip>:80

Thread Network Configuration page shows:
  Network Name:     PanelCraft-Thread
  Extended PAN ID:  6c32fcf3fe56e68b   (random 8 bytes — unique per network)
  Network Key:      d3aba6ca7f1d8e12... (128-bit AES key — keep confidential)
  PAN ID:           0x4f2b              (16-bit, random)
  Channel:          15
  On-Mesh Prefix:   fd11:22::/64       (ULA prefix assigned by Leader)

Status page shows:
  Role:             Leader / Router / Detached
  RLOC16:           0x2000             (16-bit routing locator)
  Ext Address:      ba:c7:3a:01:...    (64-bit IEEE extended address)
  Neighbours:       3 routers, 5 end devices

Diseño de topología: colocación de routers frontera y cobertura de routers

La malla Thread es auto-curativa pero no auto-optimizante para la colocación inicial. Una mala colocación de routers frontera y routers da como resultado mallas particionadas, recuentos de saltos excesivos y dispositivos durmientes que no pueden encontrar un padre estable. Las siguientes reglas se aplican a implementaciones en edificios comerciales.

Reglas de colocación de routers frontera

  • Coloque al menos 2 routers frontera por piso para redundancia: si uno falla, la malla permanece conectada al backbone IP
  • Conecte los routers frontera mediante Ethernet, no Wi-Fi: elimina la doble latencia inalámbrica y mejora la estabilidad
  • Ubique cerca del centro del clúster de dispositivos Thread que sirven, no en el borde de la red IP
  • Mínimo 1 BR por cada 500 m² en planta abierta; 1 BR por cada 250 m² con muros de núcleo de hormigón
  • Los routers frontera no necesitan estar en alcance de RF entre sí: se conectan a través del router backbone Ethernet

Reglas de densidad de enrutadores

  • Thread promueve automáticamente REEDs a enrutadores cuando hay menos de 16 enrutadores en la partición
  • Objetivo: cada SED debe tener al menos 2 enrutadores a un salto – sin dependencia de un solo padre
  • En implementaciones densas de sensores (50+ SED por habitación): asegure al menos 4 enrutadores alimentados por red por cada 100 m²
  • Los enchufes inteligentes y los controladores de iluminación de red son candidatos ideales para enrutadores – siempre encendidos, bien distribuidos
  • Máximo 32 enrutadores por partición Thread – diseñe edificios grandes como múltiples particiones si es necesario

Riesgo de división de partición:Si los dispositivos Thread de un piso pierden contacto con todos los enrutadores conectados al enrutador fronterizo, forman una partición separada con su propio líder pero sin conectividad a Internet/IP. Los comandos Matter del controlador de tejido agotarán el tiempo de espera. Solución: agregue un dispositivo con capacidad de enrutador en el límite o mejore la ruta de la señal. Detecte particiones a través de la vista de topología OTBR (muestra clústeres de nodos aislados).

Diagnóstico: herramientas OTBR y comprobaciones de salud de la malla

La salud de la malla Thread debe verificarse después de la puesta en marcha inicial y periódicamente durante la ocupación del edificio. OTBR proporciona una API REST y la CLI ot-ctl para diagnóstico; la interfaz web de OTBR proporciona un gráfico de topología para inspección visual.

Comandos de diagnóstico clave de ot-ctl

# Network state and role
sudo ot-ctl state          # leader / router / child / detached / disabled
sudo ot-ctl channel        # Current operating channel
sudo ot-ctl panid          # 16-bit PAN ID

# Router and neighbour table
sudo ot-ctl router table   # All routers in partition: RLOC16, ext addr, link quality
sudo ot-ctl neighbor table # Direct neighbours: role, RLOC16, link margin, RSSI

# Link quality (RSSI) to specific neighbour
sudo ot-ctl neighbor linkinfo <rloc16>
# Look for: link margin >10 dBm is good; <5 dBm is marginal

# End device child table (children of this router)
sudo ot-ctl child table    # Shows: child ID, mode (SED/FED), poll interval, age

# Partition info
sudo ot-ctl partitionid    # Partition ID — should be same on all nodes
sudo ot-ctl leaderdata     # Leader RLOC, partition weight, data version

# Network topology (via OTBR REST API)
curl http://localhost:8080/api/v1/node/rloc16
curl http://localhost:8080/api/v1/topology  # Full mesh topology JSON

# Ping a Thread node by IPv6 address
sudo ot-ctl ping fd11:22::1  # Replace with node's mesh-local EID
Métrica de diagnósticoValor saludableAcción si está fuera de rango
Margen de enlace al padre (SED)> 10 dBmAñadir router intermedio o acercar el dispositivo al router
Recuento de tabla de enrutamiento2–32< 2 Routers: add mains-powered device; > 32: split partition
Consistencia del ID de particiónIgual en todos los nodosIDs diferentes: división de partición — verificar brecha de cobertura RF
Intervalo de sondeo hijo (SED)250 ms – 10 s (específico de la aplicación)< 100 ms: excessive battery drain; > 30 s: unacceptable latency
Ping RTT local a la malla< 100 ms> 200 ms: excessive hop count or congestion — review topology

¿Necesita una malla Thread diseñada y puesta en servicio para su edificio?

Diseñamos topologías de malla Thread para edificios comerciales: colocación de Border Router, planificación de canales, modelado de densidad de dispositivos finales inactivos, implementación de OTBR y verificación completa de la integridad de la malla con documentación de puesta en servicio.

Solicitar presupuesto →
Cargando...
Volver arriba