Aunque los dispositivos basados en Thread y Matter se están generalizando gradualmente, los concentradores o enrutadores dedicados para administrarlos siguen siendo costosos. Si eres un entusiasta del bricolaje como yo, puedes crear un enrutador fronterizo OpenThread sin vestir mucho billete. Y se integra instantáneamente con Home Assistant para facilitar la comunicación entre los dispositivos Thread y Matter.
Todo lo que se necesita es una Raspberry Pi y una placa ESP32 (específicamente, un maniquí particular) para crear un enrutador fronterizo OpenThread. La mejor parte es que siquiera necesitas borrar falta de tu placa Raspberry Pi existente. Eso es lo que hice. Así es como utilicé este ESP32 crematístico para convertir mi Raspberry Pi en un enrutador fronterizo OpenThread.
Pretender el hardware para construir un enrutador fronterizo OpenThread
Designar medios para una configuración práctico pero asequible
Raspberry Pi es una fantástica computadora de placa única, pero carece de una interfaz de radiodifusión IEEE 802.15.4 incorporada. De modo similar, aunque el ESP32 realiza algunas tareas mejor que el Pi, carece de potencia de procesamiento. Por lo tanto, debe emparejarlos para que funcionen como componentes de host y procesador de radiodifusión. Utilicé una Raspberry Pi 4B para procesar y una ESP32-H2 placa de expansión que ya tenía. Puedes usar el Pi 3 o un maniquí superior. Si correctamente mi carcasa Pi 4 (Argon40) expone los pines GPIO, lo omití intencionalmente para evitar cableado complicado. Obviamente, tirar de los cables de un sistema activo puede dañar la placa ESP32-H2 o Pi. Entonces, conecté el ESP32 a través de USB por simplicidad y una conexión en serie confiable.
Usar el ESP32-H2 es más crematístico que el dongle USB MDK nRF52840 de $ 25 para construir un enrutador fronterizo OpenThread. Esto es costoso si desea la comodidad de una configuración plug-and-play y ordenada. Sin retención, la placa ESP32-H2 es la opción más trueque con un esfuerzo extra.
Preparando el ESP32 con firmware RCP
Requiere construir uno personalizado
Para comenzar, deberá instalar un firmware compatible con el coprocesador de radiodifusión (RCP) en la placa ESP32-H2, ya que no viene precargado con estos binarios. Para eso, necesitas clonar el ESP-IDF y SDK del enrutador de borde de hilo ESP repositorios de GitHub según el funcionario Documentación ESP-IDF. Como utilicé una Mac para crear y modernizar el firmware, me aseguré de que cerveza casera Se instaló, conexo con Python 3, Ninja y CMake.
Para una comunicación USB confiable, actualizo el firmware a una velocidad de 460800 baudios. Si desea utilizar UART sobre GPIO, debe dominar la velocidad en baudios a 115200. El paso de configuración del menú es crucial para permitir que la placa se una automáticamente a una red Wi-Fi y cree una red Thread si estas configuraciones no están en la placa. La creación del firmware tomó 15 minutos. Una vez compilado, lo actualicé al ESP32 y verifiqué que RCP arrancó sin equivocarse.
Preparando Raspberry Pi para ejecutar OpenThread Border Router
Configuración del dispositivo host para procesamiento y conexión en red
Con el módulo RCP perspicaz, el futuro paso fue configurar el host OpenThread Border Router en una Raspberry Pi. La forma más rápida de ejecutar el imagen oficial de Docker, pero siguió fallando en mi configuración. El agente-otbr no se ejecutaba correctamente y no se podía alcanzar a la interfaz de sucesor web de OpenThread Border Router.
Entonces, cambié a construir OTBR de forma nativa usando su repositorio oficial en la Raspberry Pi, y tardó unos 20 minutos. A continuación, creé un personalizado agente-otbr servicio, apuntándolo a la dirección USB de ESP32-H2 y asignándole una URL de radiodifusión adecuada con la velocidad en baudios; el valencia predeterminado es 460800 para USB.
Asegúrese de que la velocidad en baudios especificada en la URL de la radiodifusión coincida; de lo contrario, el OTBR no permitirá que los dispositivos se comuniquen de modo capaz.
Cuando el agente se esté ejecutando, asegúrese de que wpan0 La interfaz está activa para que el Pi pueda murmurar y enrutar consistentemente el tráfico desde el coprocesador de radiodifusión a través de la conexión USB.
Tejiendo una interfaz web para una liviana conectividad
Facilita la diligencia de redes.
La configuración nativa agrega una interfaz de sucesor web opcional para suministrar la creación de nuevas redes Thread y el diagnosis de problemas. Para habilitarlo, averigüe el otbr-agente’s ubicación y especificarlo en el otbr-web archivo de configuración. ¿Le gustaría alcanzar a la interfaz de su red? Adicionar 0.0.0.0 al flanco del otbr-agente’s ubicación para que la interfaz de sucesor web sea accesible desde otros dispositivos en la misma red. Luego, inicia el otbr-web servicio y rada la interfaz web en un navegador con solo la dirección de Raspberry Pi.
La interfaz web puede parecer difícil de utilizar inicialmente. Para crear (o formar, como indica la interfaz de sucesor) una nueva red, generé el ID de PAN extendido, el ID de PAN y la esencia de red utilizando el padre hexadecimal casual de OpenSSL en Raspberry Pi. Finalmente, elegí un canal que no se superponga para evitar interferencias adyacentes con los canales de Wi-Fi de mi hogar.
Cree un enrutador fronterizo OpenThread nave completo y crematístico
Una vez que todo estuvo configurado, Home Assistant detectó el nuevo OpenThread Border Router sin ninguna configuración manual, todo gracias a la integración de Thread. Adicionar nuevos dispositivos Thread y Matter over Thread es sencillo en Home Assistant. Por otra parte, crea una red de malla con recuperación cibernética que es completamente nave, independiente de los servicios en la aglomeración, sin dependencia de proveedores y utiliza poca energía.
Para una configuración que se construyó completamente con los componentes que ya tenía, el trabajo adicional valió la velocidad y la confiabilidad. Si desea construir una casa inteligente nave que respete la privacidad y cumpla con los estándares modernos, un enrutador fronterizo OpenThread DIY con ESP32-H2 y Raspberry Pi es una forma rentable de comenzar.






