Étape 2: Communication avec le ESP8266
L’ESP en cours d’exécution NodeMCU a un certain nombre de façons de communiquer avec le monde extérieur. Client TCP/UDP, TCP/UDP serveur, telnet et MQTT. Étant donné que nous enverrons des chaînes de texte simple à l’ESP, une de ces options peut être utilisée.
MQTT serait une excellente solution pour ce projet. Cependant MQTT a un peu plus d’exigences, nous allons utiliser le serveur TCP NodeMCUs.
Un ESP flashé avec NodeMCU et configuré comme un serveur TCP est capable d’envoyer et de recevoir des données à partir d’un navigateur web. Cela nous permet d’envoyer des fichiers et des commandes à l’ESP et aussi d’interroger l’ESP pour certaines informations. Pour nos besoins, interrogés à ce sujet, l’ESP peut nous dire combien de mémoire est laissé et la liste des fichiers dans son système de fichiers.
Envoi de données vers le serveur TCP de l’ESP peut être envoyée via plusieurs méthodes. Certaines des plus classiques sont « GET » et « POST ». Ces deux comprennent beaucoup d’informations d’en-tête et autres données d’aucune utilité pour nous. Le protocole GET est limité à 256 caractères dans la plupart des configurations. ~ 256 caractères serait un fichier .lua petit. Bien que cela pourrait se faire, il serait difficile d’envoyer des fichiers via plusieurs obtient et source d’erreurs. Ces méthodes sont lents et les navigateurs peuvent être gênants.
Commande PHP fsockopen est l’outil de choix pour ce projet. Il est très rapide et à une connexion. Nous écrivons la prise tout comme l’écriture dans un fichier. Et!! Il n’envoie que les données écrites sur elle. Aucune information d’en-tête !
Il y a une limite au nombre de caractères envoyés dans une session fsockopen. Ceci est contrôlé par la couche TCP différente et la plupart des connexions sont limitées aux caractères ~ 1460. Si le fichier lua que nous envoyons est plus grand que 1200 caractères (ASCII), notre fichier PHP fermera la session, ouvrir une autre et continuer à envoyer les prochaine 1200 caractères du fichier jusqu'à ce que EOF est atteint. Le fichier LUA sur l’ESP sera soit écrire ou ajouter au fichier car elle reçoit les données.