El equipo de GurgleApps está de regreso con otro genial proyecto Raspberry Pi Pico W: un servidor web basado en Pico W. Pero este proyecto hace más que servir páginas web: también puede ejecutar su código Python en el Pico W a través de una interfaz web.
El servidor web es accesible por cualquier dispositivo con un navegador web, en una red local o externa. El proyecto está codificado en MicroPython y en un nivel básico funciona con dos archivos. Los detalles de configuración de Wi-Fi se almacenan en config.py, y el código del proyecto se almacena en main.py (que MicroPython ejecutará automáticamente cuando se encienda).
La parte inteligente de este proyecto es la abstracción. En lugar de atascar al usuario con complejidades, el equipo ha creado su propio módulo de servidor web (gurgleapps_webserver.py) que el código del proyecto importa y usa.
Abstraer el código es una buena manera de hacer que los usuarios se sientan cómodos con un proyecto/lenguaje antes de abrir el telón para revelar las complejidades de un lenguaje poderoso.
GurgleApps demuestra el servidor web al agrupar un proyecto para controlar el LED integrado del Pico usando una interfaz web bastante receptiva. Al crear una URL personalizada, los usuarios avanzados pueden acceder directamente a la función y controlar el LED. Este enfoque avanzado también devuelve un objeto JSON al usuario que, en este caso, nos indica el retraso actual (parpadeo encendido/apagado) del LED y el estado actual del LED. Otros proyectos de ejemplo incluyen un generador de frecuencia que se utilizó en un experimento de física para visualizar vibraciones en arena (o polenta). Los datos de frecuencia también se muestran en una pequeña pantalla OLED.
Luego, el equipo entra en gran detalle sobre cómo crear sus propias funciones que se pueden llamar a través de la interfaz web. Este detalle es lo que vende el proyecto: con poco código podemos crear una interfaz web para un robot o ver datos de sensores en tiempo real en una página web.
La interfaz de usuario se crea usando HTML y CSS. Estos archivos se almacenan en el directorio www de la descarga de Pico del proyecto. Cambiar los gráficos y el diseño de la interfaz de usuario sería una tarea rápida y fácil para la mayoría de los estudiantes.
Es genial ver al equipo de GurgleApps construyendo otro proyecto simple pero poderoso basado en nuestro microcontrolador favorito. Puede obtener más información sobre el proyecto a través del blog de GurgleApps y encontrar todo el código sin procesar en este repositorio de GitHub.