Taula de continguts:
- Subministraments
- Pas 1: Construir el circuit
- Pas 2: Descripció ràpida del sistema de fitxers SPIFFS
- Pas 3: Instal·lació del SPIFFS Bootloader al Mac OS
- Pas 4: Instal·lació de biblioteques
- Pas 5: creeu un fitxer Index.html i Style.css amb el contingut següent
- Pas 6: Codi Arduino
- Pas 7: pengeu el codi i els fitxers Arduino mitjançant el carregador SPIFFS
- Pas 8: determineu l'adreça IP del servidor web ESP32
- Pas 9: prova del servidor web local
- Pas 10: accediu a un servidor web local des de qualsevol lloc del món mitjançant Ngrok
Vídeo: LED controlat per Internet mitjançant servidor web basat en ESP32: 10 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:13
Descripció general del projecte
En aquest exemple, esbrinarem com fer un servidor web basat en ESP32 per controlar l’estat dels LED, accessible des de qualsevol part del món. Necessitareu un ordinador Mac per a aquest projecte, però podeu executar aquest programari fins i tot en un equip econòmic i de baix consum com el Raspberry Pi.
Preparació de l'ESP32 amb l'IDE Arduino
Per començar a programar l'ESP32 mitjançant l'IDE Arduino i el llenguatge de programació Arduino, necessitareu un complement especial. Obteniu informació sobre com preparar l’IDE Arduino per a ESP32 a Mac OS mitjançant el següent enllaç.
Subministraments
Per a aquest tutorial necessitareu els elements següents:
- Taula de desenvolupament ESP32 de 5 mm
- Resistència LED 220ohm
- Pantalla LCD de 16x2 amb mòdul I2C
- Taula de pa
- Filferros de pont
- Cable micro USB
Pas 1: Construir el circuit
Realitzeu connexions tal com es mostra al següent esquema esquemàtic següent
Comenceu per connectar la sortida de tensió d’alimentació 3V3 a la placa de control ESP32 i GNDto. Connecteu el LED mitjançant la resistència a l'ESP32 mitjançant el pin 23 GPIO com a pin de sortida digital. Després, connecteu el pin SDA de la pantalla LCD de 16x2 al pin 21 GPIO i SCL al pin 22 GPIO.
Pas 2: Descripció ràpida del sistema de fitxers SPIFFS
SPIFFS significa "Sistema de fitxers flash de la interfície perifèrica de sèrie", és a dir, sistema de fitxers per a memòria flash que transfereix dades a través de SPI. En conseqüència, SPIFFS és un sistema de fitxers simplificat dissenyat per a microcontroladors amb xips flash que transmeten dades a través del bus SPI (com la memòria flash ESP32).
SPIFFS és el més útil per utilitzar-lo amb ESP32 en les situacions següents:
- Creació de fitxers per emmagatzemar la configuració
- Emmagatzematge permanent de dades.
- Creació de fitxers per emmagatzemar una petita quantitat de dades (en lloc d’utilitzar una targeta microSD per a això).
- Emmagatzematge de fitxers HTML i CSS per crear un servidor web.
Pas 3: Instal·lació del SPIFFS Bootloader al Mac OS
Podeu crear, desar i escriure dades a fitxers emmagatzemats al sistema de fitxers ESP32 directament mitjançant un connector a Arduino IDE.
Primer de tot, assegureu-vos que teniu instal·lada la versió més recent de l’IDE Arduino i, a continuació, feu el següent:
- Obriu el següent enllaç i descarregueu l’arxiu “ESP32FS-1.0.zip”
- Aneu al directori Arduino IDE, que es troba a la carpeta Documents.
- Creeu una carpeta d'eines, si no existeix. Dins del directori d'eines creeu una altra carpeta ESP32FS. Dins ESP32FS en creeu un altre, que s'anomena eina.
- Descomprimiu l'arxiu ZIP descarregat al pas 1 a la carpeta d'eines.
- Reinicieu l'IDE Arduino.
- Per comprovar si el connector s'ha instal·lat correctament, obriu l'IDE d'Arduino i feu clic a "Eines" i comproveu si hi ha un element "ESP32 Sketch Data Upload" en aquest menú.
Pas 4: Instal·lació de biblioteques
Les biblioteques ESPAsyncWebServer i AsyncTCP us permeten crear un servidor web mitjançant fitxers del sistema de fitxers d’ESP32. Per obtenir més informació sobre aquestes biblioteques, consulteu el següent enllaç.
Instal·leu la biblioteca ESPAsyncWebServer
- Feu clic aquí per descarregar l'arxiu ZIP de la biblioteca.
- Descomprimiu aquest arxiu. Haureu d'obtenir la carpeta mestra ESPAsyncWebServer.
- Canvieu el nom per "ESPAsyncWebServer".
Instal·leu la biblioteca AsyncTCP
- Feu clic aquí per descarregar l'arxiu ZIP de la biblioteca.
- Descomprimiu aquest arxiu. Haureu d'obtenir la carpeta mestra AsyncTCP.
- Canvieu el nom per "AsyncTCP".
Moveu les carpetes ESPAsyncWebServer i AsyncTCP a la carpeta de biblioteques, que es troba dins del directori Documents.
Finalment, reinicieu l'IDE Arduino.
Pas 5: creeu un fitxer Index.html i Style.css amb el contingut següent
La plantilla HTML / CSS per al botó d'activació s'ha extret de la font següent.
Pas 6: Codi Arduino
Principalment, el codi es basava en el codi Arduino que es prenia del servidor web ESP32 mitjançant SPIFFS i Com fer servir l’I2C LCD amb ESP32 a l’IDE Arduino.
Pas 7: pengeu el codi i els fitxers Arduino mitjançant el carregador SPIFFS
- Obriu la carpeta d'esbossos del codi Arduino.
- Dins d’aquesta carpeta, creeu una carpeta nova anomenada “dades”.
- A la carpeta de dades, heu de posar index.html i style.css.
- Pengeu codi Arduino
- A continuació, per carregar els fitxers, feu clic a l’IDE Arduino a Eines> ESP32 Sketch Data Upload
Pas 8: determineu l'adreça IP del servidor web ESP32
Es pot trobar de dues maneres.
- Monitor de sèrie a Arduino IDE (Eines> Monitor de sèrie)
- A la pantalla LCD
Pas 9: prova del servidor web local
A continuació, obriu un navegador web que vulgueu i enganxeu la següent adreça IP a la barra d'adreces. Hauríeu d'obtenir una sortida similar a la captura de pantalla següent.
Pas 10: accediu a un servidor web local des de qualsevol lloc del món mitjançant Ngrok
Ngrok és una plataforma que us permet organitzar l'accés remot a un servidor web o algun altre servei que s'executa al vostre PC des d'Internet extern. L’accés s’organitza a través del túnel segur creat al començament de ngrok.
- Seguiu aquest enllaç i inscriviu-vos.
- Després de crear un compte, inicieu la sessió i aneu a la pestanya "Autenticació". Copieu la línia del camp "El vostre túnel automàtic".
- Feu clic a la pestanya "Baixa" de la barra de navegació. Seleccioneu la versió de ngrok que coincideixi amb el vostre sistema operatiu i descarregueu-la.
- Descomprimiu la carpeta descarregada i executeu la línia d'ordres.
- Connecteu el vostre compte introduint l'ordre següent
./ngrok autenticació
Inicieu un túnel HTTP al port 80
./ngrok http La vostra adreça IP_IP: 80
Si tot s'ha fet correctament, l'estat del túnel hauria de canviar a "en línia" i hauria d'aparèixer un enllaç de redirecció a la columna "Reenviament". En introduir aquest enllaç al navegador, podeu accedir al servidor web des de qualsevol part del món.
Recomanat:
Termòmetre infraroig sense contacte basat en Arduino - Termòmetre basat en IR mitjançant Arduino: 4 passos
Termòmetre infraroig sense contacte basat en Arduino | Termòmetre basat en IR que utilitza Arduino: Hola nois, en aquest instructable farem un termòmetre sense contacte amb arduino, ja que de vegades la temperatura del líquid / sòlid és massa alta o baixa a la temperatura i és difícil fer-hi contacte i llegir-ne temperatura llavors en aquell escenari
ESP 8266 Nodemcu RGB LED Strip Controlat per un servidor web remot: 4 passos
ESP 8266 Nodemcu RGB LED Strip Controled by a Webserver Remote: En aquest instructable aprendrem com convertir un nodemcu en un control remot IR de la tira LED RGB i aquest control remot nodemcu ha de ser controlat per una pàgina web allotjada al mòbil o al PC per nodemcu
Servidor web de temperatura i humitat Esp32 mitjançant IDE de PYTHON i Zerynth: 3 passos
Servidor web de temperatura i humitat Esp32 que utilitza PYTHON & Zerynth IDE: Esp32 és un magnífic microcontrolador, és potent com un Arduino, però encara millor. Té connectivitat Wifi, cosa que us permet desenvolupar projectes IOT de manera barata i senzilla. els dispositius són frustrants, primer no és estable, Secon
LED controlat per Internet mitjançant NodeMCU: 6 passos
LED controlat per Internet mitjançant NodeMCU: l’Internet de les coses (IoT) és un sistema de dispositius informàtics interrelacionats, màquines mecàniques i digitals, objectes, animals o persones que tenen identificadors únics i la capacitat de transferir dades a través d’una xarxa sense necessitat de persones
Rellotge d'animació LED SMART connectat a la xarxa amb tauler de control basat en web, servidor de temps sincronitzat: 11 passos (amb imatges)
Rellotge d’animació LED SMART connectat a la xarxa amb tauler de control basat en web, sincronitzat amb el servidor de temps: la història d’aquest rellotge es remunta molt enrere: fa més de 30 anys. El meu pare va ser pioner en aquesta idea quan tenia només deu anys, molt abans de la revolució del LED, quan els LED eren de 1/1000 la brillantor de la seva brillantor encegadora actual. Un veritable