Paso 2: Comunicación con el ESP8266
El ESP funcionando NodeMCU tiene un número de maneras de comunicarse con el mundo exterior. Cliente TCP/UDP, TCP/UDP Server, telnet y MQTT. Ya que estaremos enviando cadenas de texto simple a la ESP, puede utilizar cualquiera de estas opciones.
MQTT sería una gran solución para este proyecto. Sin embargo MQTT tiene unos requisitos más, vamos a usar NodeMCUs TCP del servidor.
Un ESP flasheado con NodeMCU y configurado como un servidor TCP es capaz de enviar y recibir datos a y desde un navegador web. Esto nos permite enviar archivos y comandos a la ESP y también consultar el ESP para cierta información. Para nuestros propósitos, cuando, el ESP puede decirnos cuánta memoria queda y listar los archivos en su sistema de archivos.
Enviar datos al servidor TCP ESP puede enviarse a través de varios métodos. Algunos de los más convencionales son 'GET' y 'POST'. Estos incluyen un montón de información y otros datos de información de ninguna utilidad para nosotros. El protocolo GET está limitado a 256 caracteres en la mayoría de las configuraciones. ~ 256 caracteres sería un archivo .lua pequeño. Aunque se podría hacer, enviar archivos a través de múltiples obtiene sería difícil y propenso a errores. Estos métodos son lentos y los navegadores pueden ser problemáticos.
Comando de fsockopen de PHP es la herramienta de elección para este proyecto. Es una conexión y muy rápido. Escribimos a la toma de como escribir en un archivo. Y!! sólo envía datos escritos en él. No hay información de encabezado.
Hay un límite en el número de caracteres enviados en una sesión de fsockopen. Esto es controlado por diferentes capas TCP y mayoría de las conexiones se limitan a los caracteres ~ 1460. Si el archivo de lua que estamos enviando es mayor que 1200 caracteres (ASCII), nuestro archivo PHP se cerrará la sesión, abrir otro y seguir enviando los siguiente 1200 caracteres del archivo hasta llega a EOF. El archivo LUA en el ESP escribir o agregar al archivo ya que recibe los datos.