Paso 4: El LUA ESP8266 lado
Los archivos .lua en la ESP8266 hacen el trabajo de análisis de las secuencias que a través de fsockets. 'Capturan' la capacidad de carga (pl) desde el servidor Web y analizar para obtener instrucciones.
En este ejemplo se requieren cuatro archivos:
- init.lua
- servernode.lua
- wifi_tools.lua
- getStatus.lua
Inicialmente, estos archivos tienen que cargarse el ESP puerto FTDI y COM.
init.lua, servernode.lua y wifi_tools.lua deben siempre estar en el sistema de archivos de la ESP. Tienen que estar disponibles para "dofile()".
Esta es una de las salvedades mencionadas.
Cuando el ESP se inicia, debe arrancar en modo de servidor y deben ser capaces de acceder a "dofile()" wifi_tools.lua.
Si usted 'formato' el controlador, su parte posterior y un puerto COM un FTDI. Sí, puede dar formato a través de WiFi.
Con la excepción de "wifi_tools.lua" y "servernode.lua", estos archivos se pueden quitar y subidos entre reinicios.
!! "wifi_tools.lua" y "servernode.lua" sólo se pueden sobrescribir, nunca quitar!!!!
El tamaño del "wifi_tools.lua" y "servernode.lua" normalmente, no puede exceder 1200 bytes (ASCII caracteres, incluyendo espacios en blanco y saltos de línea)
Si "wifi_tools.lua" es mayor 1200 bytes, será parcialmente escrito y hará 'panic' cuando el ESP intenta dofile de la servernode.lua para anexar el resto del archivo.
"servernode.lua" es un archivo de servidor TCP genérico, código puede encontrarse en el sitio de api NodeMCU con esta adición:
- Si string.sub (pl, 0, 11) == "** comando **" entonces
- dofile("wifi_tools.lua")
- final
- Si string.find (pl, "estado") entonces
- dofile("getStatus.lua")
- TMR.Delay(250)
- File.Open ("info.lua", "r")
- Conn: send(file.read())
- File.Close("info.lua")
- final
La variable "pl" es la carga de la conexión de fsocket, esta es la cadena generada por el lado del servidor PHP archivos.
Si ** comando ** se encuentra a wifi_tools.lua para detalles y comandos analiza la secuencia de datos.
La rutina 'getstatus.lua' es un poco enrollada, pero que nos permite ver que archivos están realmente en el ESP de manera casi en tiempo real. También demuestra la capacidad de crear y servir archivos dinámicamente.