Proyecto Web ESP8266

01.06.2023

Lo primero que hacemos en este código es importar las librerías necesarias para nuestro proyecto. La librería ESP8266WiFi.h nos permite conectarnos a una red Wi-Fi, la librería ESP8266WebServer.h nos ayuda a crear un servidor web y la librería ESP8266FtpServer.h nos permite crear un servidor FTP en nuestra placa de desarrollo. Además, utilizamos la librería FS.h para acceder al sistema de archivos SPIFFS de la placa y la librería map para cargar varios archivos estáticos.

Después, establecemos las variables ssid, password, userftp y passftp para conectarnos a nuestra red Wi-Fi y para acceder al servidor FTP. También definimos la dirección IP, la máscara de subred y la puerta de enlace. Establecer estos valores es importante porque nos permitirá conectarnos correctamente a nuestra red local y asegurarnos de que los dispositivos puedan comunicarse entre sí.

A continuación, iniciamos el servicio FTP y abrimos el puerto 80 para el servidor web. Utilizamos std::map para cargar varios archivos, como el logotipo, el estilo CSS y el archivo JavaScript. Esta técnica nos ayuda a cargar rápidamente archivos estáticos y mejorar la velocidad de carga de nuestro sitio web.

Creamos dos funciones handleRoot() y handleStaticFiles() para manejar las solicitudes del servidor web. La función handleRoot() devuelve el archivo index.html cuando se accede a la ruta raíz del servidor web. Si el archivo no existe, se muestra una página de error personalizada. La función handleStaticFiles() devuelve otros archivos estáticos solicitados por el usuario, como el logotipo o el archivo CSS. Si el archivo no existe, también se muestra una página de error personalizada.

Finalmente, en el bucle loop(), manejamos las solicitudes del servidor FTP y las solicitudes del servidor web. La función ftpSrv.handleFTP() maneja todas las solicitudes FTP entrantes, como la carga y descarga de archivos. La función server.handleClient() maneja todas las solicitudes HTTP entrantes, como la carga de páginas web y archivos estáticos.

Con este código, podemos crear fácilmente un servidor web y FTP en nuestra placa ESP8266. Podemos utilizar este proyecto para compartir archivos de forma remota o controlar dispositivos conectados a nuestra red local. Si quieres personalizar aún más este proyecto, puedes agregar más funciones, cambiar la apariencia del sitio web o agregar más páginas. ¡Las posibilidades son infinitas!

Si necesita el codigo fuente, lo encontrará en mi portafolio de GitHub.

© 2019 Ángel Alonso. Todos los derechos reservados.
Creado con Webnode Cookies
¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar