Skip to main content

SenseCAP Indicator - Desarrollo de Aplicaciones Matter

Introducción

Esta es una demostración de cómo usar el SDK de Matter para construir aplicaciones enriquecidas para tu SenseCAP Indicator.

El SenseCAP Indicator tiene una pantalla táctil que lo hace capaz de actuar como una poderosa interfaz de automatización del hogar. Matter hace el proceso más fácil que nunca ya que elimina muchos de los aspectos complicados de la configuración. Con la ayuda del SDK de Matter uno puede rápidamente escanear un código QR y configurar su dispositivo en su red doméstica.

Para este artículo repasaremos los pasos involucrados para poner tu dispositivo en funcionamiento con la demostración.



El SDK de Matter proporciona un conjunto estándar de dispositivos y permite el acceso a sus datos y la carga de su estado al controlador. ESP-Matter fue desarrollado por Espressif como un marco de desarrollo oficial de Matter para los SoCs de la serie ESP32.

Para que tu SenseCAP Indicator funcione con Matter, necesitas seguir algunos pasos principales:

  1. Instalar esp-idf y esp-matter
  2. Configurar tu entorno y compilar
  3. Usar la aplicación
  4. Configurar más la interfaz de usuario de Home Assistant

Prerrequisitos

Antes de comenzar, asegúrate de haber leído la Guía del Usuario de la Placa SenseCAP Indicator para familiarizarte con su información de software y hardware.

Instalar ESP IDF y ESP Matter

Querrás seguir las instrucciones proporcionadas por la documentación del SDK ESP-Matter e instalar la versión 5.0.1 de ESP-IDF y la versión de lanzamiento 1.1 de ESP-Matter.

Después de que esas versiones hayan sido instaladas, por favor instala el parche proporcionado por Seeed Studio aplicar el parche proporcionado.

Configurar tu entorno y compilar

Usar la CLI para configurar y compilar

~/esp/esp-idf/install.sh
~/.espressif/esp-matter/install.sh

. ~/esp/esp-idf/export.sh
. ~/.espressif/esp-matter/export.sh

cd examples/indicator_matter
idf.py set-target esp32s3
idf.py fullclean
idf.py erase-flash
idf.py build flash monitor

Usando la aplicación

Una vez que el firmware ha sido flasheado, la pantalla comienza con solo el código QR. Abre la aplicación móvil de tu automatización del hogar e ingresa al flujo de aprovisionamiento del dispositivo (varía dependiendo del fabricante).

En el siguiente ejemplo puedes ver mi uso de la aplicación móvil de Home Assistant para conectarme a mi Home Assistant Yellow ejecutando el servicio Beta de Matter.

Al escanear el dispositivo, mi teléfono inmediatamente comienza el proceso de aprovisionamiento. El proceso de aprovisionamiento maneja de forma segura el paso de tus credenciales al dispositivo permitiéndole conectarse al dispositivo controlador de automatización del hogar a través de wifi. De esta manera nunca necesitas escribir las credenciales de wifi en ningún lugar.

Después del aprovisionamiento, el dispositivo comenzará a reportar su temperatura y humedad al controlador de home assistant en intervalos de 10 segundos.

Funcionalidad estándar

La aplicación Matter del Indicator permite navegar los datos del sensor de manera similar al firmware estándar. Al cargar, el dispositivo muestra la pantalla del reloj que está configurada basándose en tu ubicación para darte una hora precisa. La pantalla tiene eventos para detectar deslizamientos hacia la derecha e izquierda para alternar entre el tiempo, la visualización del sensor y la pantalla de configuración.

Hacer clic en un sensor muestra información adicional sobre el estado de ese sensor y el historial se puede ver de esta manera.

La pantalla de configuración permite configurar varios elementos de la función del dispositivo. Se puede configurar un reloj de 12 o 24 horas, la zona horaria es anulable, y el brillo de la pantalla es ajustable.

Panel de Control de Matter Home Assistant

Para acceder al Panel de Control de Matter Home Assistant desliza hacia abajo desde la pantalla principal del reloj. Este panel tiene múltiples componentes diferentes que están asociados con dispositivos de demostración en el lado de Matter. Durante el proceso de aprovisionamiento estos dispositivos tienen endpoints creados que pueden ser utilizados para acceder a características comunes como atenuar una luz o apagarla completamente.

En el caso de esta demostración se configuraron dos luces atenuables junto con una cerradura de puerta. Puedes ver que al hacer clic en los botones el lado de home assistant también se actualiza para reflejar estos cambios. Los deslizadores se pueden mover para establecer el brillo de la luz.

Desde el lado de home assistant los dispositivos pueden ser habilitados y deshabilitados o modificados según sea necesario y el SenseCAP Indicator también se actualiza para reflejarlo. De esta manera puedes tener automatizaciones adicionales que deshabiliten o habiliten funcionalidad en tu dispositivo Indicator y hacer que la pantalla refleje su estado en tiempo real.

El panel virtual y las capacidades de automatización del controlador doméstico en uso permiten varias combinaciones interesantes. Con el SenseCAP Indicator puedes construir paneles de tu propia imaginación para controlar dispositivos a través de tu entorno doméstico.

Configurando la UI de Home Assistant más a fondo

La UI en sí está construida usando LVGL. Para información más detallada sobre configurar LVGL consulta el siguiente artículo.

La UI para el panel está compuesta de componentes LGVL con eventos configurados para callbacks de tal manera que sus datos se persisten tanto al almacenamiento local como al endpoint de matter. El controlador de panel virtual (indicator_virtual_dashboard_controller.c) maneja la actualización del formulario y publica eventos asociados para otros consumidores cuando los datos subyacentes son cambiados.

Para el ejemplo inicial se han configurado tres dispositivos y la lógica subyacente en el modelo matter maneja responder a eventos desde la vista y persistir los datos a los endpoints de matter o actualizar el estado de la UI.

En general las siguientes consideraciones deben hacerse al actualizar la UI y persistir a Matter:

  • Durante el proceso de inicialización el método indicator_matter_setup() del modelo indicator_matter.cpp configura cualquier dispositivo asociado para uso con Matter. Además se configura un callback para eventos de vista de tal manera que los endpoints de matter se actualizan al cambiar.
  • El modelo indicator_virtual_dashboard.c escucha eventos de vista asociados con el panel virtual y persiste los datos al almacenamiento para recuperación en la inicialización.
  • La lógica matter se suscribe a los eventos alrededor de datos matter modificados (ya sea remotamente o localmente)
  • El controlador de panel virtual maneja actualizar el estado del formulario según sea necesario en respuesta a eventos enviados vía los callbacks de Matter de indicator_matter.cpp en cambios desde el controlador de Matter.

Recursos

  1. SDK de Demostración: El SDK de Demostración para el SenseCAP Indicator está disponible en GitHub.
  2. Guía del Usuario: La Guía del Usuario proporciona información detallada sobre el software y hardware de la Placa SenseCAP Indicator. Puedes leerla aquí.
  3. Guía de Introducción para ESP-IDF: Esta guía proporciona pasos completos para configurar y usar ESP-IDF para construir proyectos. Puedes acceder a ella aquí.
  4. Guía de Instalación de Matter: Si eres nuevo en ESP-Matter, esta guía te ayudará a instalarlo y configurarlo. Puedes encontrarla aquí.

Soporte Técnico

¿Necesitas ayuda con tu SenseCAP Indicator? ¡Estamos aquí para asistirte!

Si encuentras algún problema o tienes alguna pregunta mientras sigues este tutorial, no dudes en contactar a nuestro soporte técnico. ¡Siempre estamos aquí para ayudar!

Visita nuestro Canal Oficial de Discord de Seeed para hacer tus preguntas o las discusiones de GitHub para compartir todo lo que quieras!

Loading Comments...