Stap 1: overzicht
Kortom, de workflow is als volgt:
PHP-bestanden geserveerd wisselexemplaar zwemvlies grazen de bedoelingen van gebruikers verzamelen te ofwel: de status van de controller, uploaden van een bestand, reboot van de controller, bestanden verwijderen, bestanden compileren bestanden lezen of uitvoeren op de ESP.
Zodra de opdracht wordt verzameld van de gebruiker, PHP de gegevens/informatie worden omgezet en verzendt dit naar de ESP via fsocket.
Wanneer de gegevens/informatie is ontvangen door de ESP, LUA bestanden parseren van de gegevens en de opdrachten uitvoeren.
De mogelijkheid van het beheer van ESPs via WiFi ligt bij het feit dat de dofile() opdracht het script in het geheugen laadt. Eenmaal in het geheugen, het bestand kan worden verwijderd of vervangen een bewerkt bestand in het bestandssysteem ESPs.
Als voorbeeld. het bestand init.lua is automatisch geladen in het geheugen bij het opstarten. Als er een commando in dit bestand om een LED knipperen of lezen van een pin, zal de ESP blijven deze taken ook uitvoeren als het bestand init.lua wordt verwijderd uit de ESP. Als een nieuw init.lua-bestand wordt geüpload of verzonden via WiFi die niet bevatten opdrachten te knipperen een LED, niets zal gebeuren totdat het bestand is uitgevoerd (dofile()) of het ESP wordt gereboot. Vervolgens het nieuwe bestand van de init.lua zal worden uitgevoerd en de LED stopt met knipperen.
Wij zullen een webbrowser gebruiken voor het verzenden van het nieuwe init.lua bestand en de opdracht opnieuw op te starten.
Er zijn sommige waarschuwingen voor deze oplossing, zullen we dekken die later.
Wat u zult moeten:
- Een webserver draait op hetzelfde LAN bevindt als uw ESP8266 of de ESP8266 blootgesteld aan Internet.
- Toegang tot de hoofdmap van de webserver. U moet de PHP-bestanden te uploaden naar een hoofdmap in onder www/html (apache) of \Inetpub\wwwroot (iis). Eenvoudige website bedrijf.
- Een ESP8266 flitste met NodeMCU en de mogelijkheid tot het uploaden van de initiële bestanden via een IDE.
- Sommige PHP en LUA begrip.
- Bronbestanden voor dit project.