ESP8266 servidor Web que sirve varias páginas (4 / 5 paso)

Paso 4: Modificar archivo de servidor llamado newserver.lua, la clave de múltiples páginas.

Ahora he subido los archivos llamados newserver.lua, index.htm y bob.htm al módulo; Dofile("newserver.lua") reinicia y entró.

Mi número de IP de module'a debería mostrar el archivo index.htm. Haciendo clic en el enlace para Bob mostrará bob.htm, y casa devolverá a la página de índice.

Algunos debates sobre newserver.lua:

Yo he codificado index.htm como el archivo de 'aterrizaje'. Quiero el módulo para servir index.htm cuando entro IP del módulo en un navegador.

Estoy usando el código LUA para analizar la solicitud de Rúbrica entrante para determinar si la solicitud especifica un archivo o no. Una solicitud sólo el número de mi módulo IP 192.168.11.44 no especifica un archivo en particular.

Una parte de un índice que encabezado típico. puede verse como:

OBTENER / HTTP/1.1
Host: 192.168.11.44 conexión: keep-alive
Aceptar: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
..............etc.

Esta solicitud está pidiendo en bob.htm:

Haz /bob.htm HTTP/1.1
Host: 192.168.11.44 conexión: keep-alive aceptar: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8... etc.

Analizar el primer ejemplo, newserver.lua no encontrar un archivo específico para abrir. Ya que quiero que index.htm que el archivo de inicio, cuando tgtfile devuelve nil, sustituir index.htm. Línea 6.

Analizar el encabezado de la segunda solicitud se identificará que la solicitud especifica un archivo, en este caso 'bob.htm'. Así, bob.htm es abierto y envió una línea en el tiempo con el código de cliente: send(file.read()).

Es importante no file.read() archivos que no existen.
Esto hará que el módulo y se reinicie.

Por lo tanto, antes de leer prueba para ver si el archivo existe con file.open(), línea 7 y 8.

Si no hay ningún archivo, newserver.lua simplemente devuelve 'archivo no encontrado' y un enlace hacia la página de inicio.

Esto sucede cuando hago clic en Jill o lengüeta hasta subir archivos htm para ellos.

------------------------------------------------------

  1. --newserver.lua
  2. SRV=net.createServer (red. TCP)
  3. SRV:Listen(80,function(Conn)
  4. Conn: on("receive", function(client,payload)
  5. tgtfile = string.sub (payload,string.find (capacidad de carga, "GET /") +5,string.find(payload,"HTTP/") -2)
  6. Si tgtfile == "" entonces tgtfile = "index.htm" end
  7. local f = file.open(tgtfile,"r")
  8. si f ~ = nil entonces
  9. cliente: send(file.read())
  10. File.Close()
  11. otra cosa
  12. cliente: send("<html>")
  13. cliente: send(tgtfile.."not Found-404 error.")
  14. cliente: send("<a href='index.htm'>Home</a>")
  15. final
  16. cliente: close()
  17. collectgarbage()
  18. f = nil
  19. tgtfile = nil
  20. final)
  21. final)

_____________________________________

Artículos Relacionados

Con ESP8266 servidor Web Scada SVG valor Random Bateria 6v

Con ESP8266 servidor Web Scada SVG valor Random Bateria 6v

Se ha implementado web de servidor de las Naciones Unidas con el ESP8266 una diferencia que este tiene un mini scada basado en Gráficos Vectoriales Redimensionables o SVG, se ha tomado una plantilla de servidor web y se ha creado internamente un SVG
Instalar un servidor Web en Raspberry Pi.

Instalar un servidor Web en Raspberry Pi.

Esta guía explica brevemente cómo instalar un servidor Web en la Raspberry Pi.Primero se debe habilitar ssh. Una guía se encuentra aquí:Necesitarás:1 frambuesa Pi(conectado a un router y a Internet)Cuando se instala el servidor Web que probablemente
Música con zumbador utiliza servidor Web (uso de WIZwiki-W7500)

Música con zumbador utiliza servidor Web (uso de WIZwiki-W7500)

Voy a introducir un servidor de Web de piano jugando.Usted puede tocar piano usando el servidor Web que tiene un WIZwiki-W7500 proyecto por apertura solo el sitio web si usted sigue este contenido.Es muy fácil y simple manera.Vamos a empezar!Paso 1:
La parte de ESP8266 2 - servidor Web de Arduino

La parte de ESP8266 2 - servidor Web de Arduino

En mi anterior instructable las ESP8266 parte 1 - serie WIFI módulo para Arduino, intenté describir lo que es, la conexión, prueba y configurar la ESP8266 (vamos a llamarlo ESP para el cortocircuito). Aquí hacemos un resumen sobre cómo el ESP a puede
SCADA creación SVG para servidor Web en ESP8266

SCADA creación SVG para servidor Web en ESP8266

Este tutorial se divide en 2 en el que se explica cómo diseñar una mini SCADA o representación gráfica de un proceso en este caso un tanque que muestra que fue creado el nivel variable de 0 a 100%.El servidor web se ubicará en el módulo ESP8266, que
Creacion De Scada SVG Para servidor Web En ESP8266

Creacion De Scada SVG Para servidor Web En ESP8266

Este tutorial se ha divido en 2 en las cuales se explicara como diseñar un mini SCADA o representación grafica de un proceso en este caso se creara un tanque el cual visualizara la variable nivel 0 a 100%.El servidor web estara Ubicado en ESP8266 del
Tablero de conexión Wi-Fi ESP8266: NeoPixels, termómetro, sueño profundo, AP servidor Web config, EEPROM

Tablero de conexión Wi-Fi ESP8266: NeoPixels, termómetro, sueño profundo, AP servidor Web config, EEPROM

En el archivo adjunto zip puede leer tutoriales sobre hacer divertidas las cosas con la Junta de ESP8266 WiFi de bajo costo:Módulo Wi-Fi ESP8266 de programación de IDE Arduino.Interruptor ON/OFF luz usando su teléfono móvil sobre Wi-Fi."NeoPixels&quo
Cómo obtener acceso a cualquier página web que está bloqueada en tu escuela o trabajo

Cómo obtener acceso a cualquier página web que está bloqueada en tu escuela o trabajo

Hola chicos estoy haciendo este video porque pasé mucho tiempo en la Universidad y siempre estoy navegando por Internet pero siempre bloquearon algunas paginas web que me gusta usar como Facebook, WhatsApp, Twitter, Tumbler, Youtube, contracción y et
Crear tu propia página web que funciona hacia fuera de la circunferencia y el área de un círculo utilizando pi!

Crear tu propia página web que funciona hacia fuera de la circunferencia y el área de un círculo utilizando pi!

Para celebrar el día Pi que vamos a crear una página web que utiliza pi para calcular el área de un círculo y circunferencia.Paso 1: Crear un documento htmlVamos a utilizar html y lenguajes de código JavaScript. Puede escribir este código en su aplic
Cómo establecer hasta un servidor Web Local (creo que arriba)

Cómo establecer hasta un servidor Web Local (creo que arriba)

hinkUp es una aplicación web de código libre y abierto que captura los mensajes, tweets, respuestas, retweets, amigos, seguidores y enlaces en redes sociales como Twitter y Facebook.-----------------------------Este video le mostrará cómo configurar
Servidor Web de RC salida de frecuencia dual

Servidor Web de RC salida de frecuencia dual

Este proyecto es un servidor de base de ESP8266 "domótica" que puede controlar varios enchufes eléctricos controlado por RF de 315MHz y 434 MHz. utilizando dos receptores y dos transmisores (un par para cada frecuencia), pueden controlar salidas
Estación meteorológica Arduino y servidor Web

Estación meteorológica Arduino y servidor Web

objetivoReemplazar mi PC (que ha sido en 24-7 por 6 años) y el software de estación meteorológica con un Arduino – menor consumo de energía, menos mantenimiento y espacio físico más pequeño.  Funcionalidad de PC mínimo que requiere la duplicación:• R
NodeMCU acceso a bordo de LED a través de servidor web

NodeMCU acceso a bordo de LED a través de servidor web

El ESP8266 es el dispositivo en el mercado de bricolaje. Ha traído una agradable gran tormenta en la comunidad de aficionados. Junto con GPIOs, un ADC, SPI interfaz, UART interface (y por supuesto la parte de WiFi)... tiene todas las características
Configuración de un servidor Web local en tu ordenador

Configuración de un servidor Web local en tu ordenador

Si trabajas con desarrollo de sitios web, es muy útil poder editar las páginas directamente en su ordenador sin tener que constantemente subirlas a un servidor. Por desgracia, muchas tecnologías de servidor (como generar páginas con PHP o acceso a ba