Configura UIFlow2, conecta un kit de desarrollo IoT M5Stack Core2 ESP32 y crea tu primer programa de Blockly con esta guía paso a paso.
UIFlow es el ecosistema de programación gráfica de M5Stack. Utiliza bloques de Blockly y admite la implementación de programas por conexión cableada o inalámbrica, lo que permite a los principiantes controlar dispositivos M5Stack sin tener que configurar primero una cadena de herramientas completa de Arduino.
UIFlow1 frente a UIFlow2: ¿cuál es la diferencia?
UIFlow1 y UIFlow2 son entornos de desarrollo gráficos para hardware de M5Stack. Utilizan distintos firmwares, sistemas de identidad de dispositivos y controles de implementación.
| Función | UIFlow1 | UIFlow2 |
|---|---|---|
| IDE web | flow.m5stack.com |
uiflow2.m5stack.com |
| Método de programación | Programación gráfica basada en Blockly | Programación gráfica basada en Blockly con la interfaz de UIFlow2 |
| Identidad inalámbrica | API KEY | Código de acceso y dispositivos administrados |
| Conexión por cable | Compatible | Conexión USB con WebTerminal |
| Ejecución del programa | Flujo de trabajo basado en ejecuciones | Ejecutar una vez y ejecutar siempre |
| Colaboración | Gestión básica de proyectos y archivos | Compartir proyectos y dispositivos |
| Firmware necesario | Firmware de UIFlow1 | Firmware de UIFlow2 |
| Elección práctica | Mantenimiento de proyectos existentes de UIFlow1 | Nuevos proyectos de Core2 y flujos de trabajo compartidos |
En el flujo de trabajo web de UIFlow1, el dispositivo se identifica mediante una API KEY. UIFlow2 puede conectarse mediante un código de acceso inalámbrico o una conexión serie USB directa. M5Stack también indica que UIFlow2 añade funciones para compartir proyectos y dispositivos.
Lo que necesitas
- Un M5Stack Core2 o M5Core2
- Un cable de datos USB Type-C
- Un ordenador con Windows, macOS o Linux
- Una red Wi‑Fi para la implementación inalámbrica
- Un navegador actualizado compatible con los permisos de puertos serie
- M5Burner y el controlador USB correcto
Asegúrate de que el cable USB admita la transferencia de datos. Un cable que solo sirva para cargar puede alimentar el dispositivo, pero no creará un puerto serie.
Paso 1: Instalar el controlador USB de Core2
Las distintas versiones de producción de Core2 pueden utilizar un chip USB-serial CP2104 o CH9102. Descarga el controlador indicado en el tutorial oficial de UIFlow2 para Core2.
Si no sabes qué chip utiliza el dispositivo, M5Stack indica que puedes instalar ambos paquetes de controladores. Vuelve a conectar el Core2 después de la instalación y confirma que aparece un nuevo puerto serie.
Paso 2: Descargar M5Burner
El flujo de trabajo normal de UIFlow en línea se ejecuta en un navegador, por lo que no se necesita un IDE de escritorio independiente de UIFlow2. Aun así, necesitas M5Burner para instalar el firmware correcto.
Descarga el paquete de M5Burner para Windows, macOS o Linux desde el tutorial oficial, extráelo e inicia la aplicación.
Paso 3: Grabar el firmware de UIFlow2 en Core2
Abre M5Burner, localiza el producto Core2 y descarga el firmware de UIFlow2 correspondiente.
- Conecta el Core2 al ordenador con un cable USB de datos.
- Espera a que M5Burner muestre Nuevo dispositivo encontrado.
- Haz clic en Grabar para instalar el firmware descargado.
- Selecciona el puerto serie del Core2 y haz clic en Iniciar.
- Introduce el SSID y la contraseña de la red Wi‑Fi.
- Establece la zona horaria y las opciones de arranque necesarias.
- Inicia la grabación y espera el mensaje de éxito.
Selecciona Mostrar el menú de inicio y la configuración de red si quieres que el Core2 muestre la pantalla de inicio de UIFlow2 y el código de acceso inalámbrico.
La pantalla puede permanecer en blanco mientras el dispositivo está en modo de programación. Espera a que M5Burner termine y, después, reinicia el Core2.
Paso 4: Conectar Core2 al IDE web de UIFlow2
Abre el IDE web de UIFlow2. El dispositivo admite una conexión inalámbrica mediante código de acceso y una conexión cableada por USB.
Opción A: Conexión inalámbrica mediante código de acceso
Confirma que Core2 esté conectado a Wi-Fi. Su pantalla de inicio de UIFlow2 debería mostrar un código de acceso válido.
- Haz clic en Selecciona tu controlador o Controlador.
- Haz clic en Conectar dispositivo.
- Introduce el código de acceso que aparece en Core2.
- Introduce un nombre de dispositivo reconocible y confirma la conexión.
- Selecciona el Core2 conectado para acceder al espacio de trabajo de programación.
Opción B: conexión por cable USB
Normalmente, el USB es el método de conexión más sencillo para la configuración inicial y la resolución de problemas.
- Conecta Core2 al ordenador con el cable USB de datos.
- Selecciona Core2 en la lista de controladores.
- Abre WebTerminal.
- Selecciona el puerto serie del Core2 y haz clic en Conectar.
- Aprueba la solicitud del navegador para acceder al puerto serie si se te solicita.
La conexión por cable está lista cuando WebTerminal muestra ¡Conectado al puerto serie!
Paso 5: Crea tu primer programa de Blockly de M5Stack
Después de conectar el controlador, usa los bloques de Blockly de M5Stack para crear un programa. Un primer proyecto sencillo consiste en mostrar ¡Hola, UIFlow2! en la pantalla del Core2.
A continuación, puedes añadir lógica para la entrada táctil, la salida del altavoz, las lecturas de la IMU, Wi-Fi, HTTP, MQTT o unidades M5Stack externas.
- Ejecutar una vez ejecuta temporalmente el proyecto actual para realizar pruebas.
- Ejecutar siempre descarga el proyecto en Core2 para ejecutarlo repetidamente o de forma independiente.
Para obtener más ejemplos de M5Stack UIFlow, continúa con la documentación oficial de programación del Core2 y sus enlaces a las API de pantalla, altavoz, botones, micrófono y tarjeta SD.
Problemas comunes de UIFlow2
No aparece el puerto serie del Core2
Prueba con otro cable USB de datos o con otro puerto USB del ordenador. Instala los controladores CP2104 y CH9102 si no estás seguro de qué chip utiliza el dispositivo. Cierra otros programas que puedan estar utilizando el puerto serie.
M5Burner no puede escribir el firmware
Confirma que esté seleccionado el puerto COM o serie correcto. Vuelve a conectar el dispositivo, reinicia M5Burner y reinstala el controlador USB si el error continúa.
La conexión mediante el código de acceso falla
Comprueba las credenciales de Wi-Fi configuradas mediante M5Burner. Confirma que Core2 está en línea e introduce el código de acceso actual que aparece en su pantalla de inicio.
Ejecutar una vez funciona, pero el programa desaparece después de reiniciar
Es lo esperado. Usa Ejecutar siempre cuando quieras descargar el programa en el dispositivo.
Preguntas frecuentes
¿Es UIFlow2 un IDE en línea?
Sí. UIFlow2 en línea es un entorno de programación basado en el navegador. M5Burner y el controlador USB se instalan localmente, mientras que el desarrollo con Blockly se realiza en el IDE web.
¿Puede UIFlow2 programar cualquier placa ESP32?
El desarrollo con UIFlow para ESP32 está destinado a controladores M5Stack compatibles, incluido el M5Stack Core2 ESP32. No es un entorno universal para todas las placas ESP32 de terceros.
¿UIFlow2 es lo mismo que Arduino?
No. UIFlow2 se centra en Blockly y en un flujo de trabajo de M5Stack orientado a MicroPython. El desarrollo con Arduino normalmente utiliza C o C++ y ofrece un control más directo mediante una cadena de herramientas tradicional de compilación y carga.
¿Se puede utilizar el mismo proceso con M5Paper?
El proceso general es similar, pero debes seleccionar el firmware del dispositivo y el perfil del controlador correspondientes. Sigue el tutorial de UIFlow de M5Paper para ese dispositivo.
Conclusión
El flujo de trabajo de UIFlow2 para M5Stack Core2 es sencillo: instala el controlador USB, flashea el firmware con M5Burner, conéctate mediante USB o un código de acceso, crea el programa con Blockly, pruébalo con Ejecutar una vez y despliégalo con Ejecutar siempre.
UIFlow1 sigue siendo útil para proyectos heredados, mientras que UIFlow2 ofrece un modelo de conexión más reciente y un uso compartido mejorado de proyectos y dispositivos para nuevos prototipos, aulas y desarrollo de IoT.
