Étape 1: vue d’ensemble
En bref, le flux de travail est comme suit :
Les fichiers PHP desservies via navigateur web permettra de recueillir les intentions des utilisateurs soit : lire l’état du contrôleur, Uploader un fichier, redémarrez le contrôleur, supprimer les fichiers, compiler des fichiers ou exécuter des fichiers sur la partition ESP.
Une fois que la commande est prélevée de l’utilisateur, PHP met en forme les données et informations et les envoie à l’ESP via fsocket.
Lorsque les données et informations est reçue à l’ESP, fichiers LUA analysent les données et exécuter les commandes.
La possibilité de gérer les régimes d’épargne via WiFi repose sur le fait que la commande dofile() charge le script dans la mémoire. Une fois en mémoire, le fichier peut être enlevé ou remplacé dans le système de fichiers ESP avec un fichier édité.
À titre d’exemple. le fichier init.lua est automatiquement chargé en mémoire au démarrage vers le haut. S’il y a une commande dans ce fichier de clignoter une LED ou de lire un code pin, l’ESP continuera d’effectuer ces tâches, même si le fichier init.lua est supprimé de l’ESP. Si un nouveau fichier init.lua est téléchargé ou envoyé via le WiFi qui ne contient pas de commandes à clignoter une LED, rien ne se passera jusqu'à ce que le fichier est exécuté (dofile()) ou l’ESP est redémarré. Le nouveau fichier init.lua sera exécuté, puis le voyant cesse de clignoter.
Nous allons utiliser un navigateur web pour envoyer le nouveau fichier init.lua et une commande pour redémarrer.
Il y a quelques bémols à cette solution, nous allons couvrir parlerai plus tard.
Ce que vous aurez besoin :
- Un serveur Web s’exécutant sur le même réseau local que votre ESP8266 ou le ESP8266 exposés à Internet.
- Accès à la racine du serveur Web. Vous devrez télécharger les fichiers PHP dans un répertoire racine sous www/html (apache) ou \Inetpub\wwwroot (iis). Affaires de site Web simple.
- Un ESP8266 flashé avec NodeMCU et la possibilité de télécharger les fichiers initiaux via un IDE.
- Certaine compréhension PHP et LUA.
- Fichiers source pour ce projet.