Servidor web simple
Anem a agafar el muntatge del DHT22 i el modifiquem lleugerament per fer que ESP32 dispose de més energia per emetre sense recurrer al cable USB de l'ordinador. El cable USB sols el posaré per passar els programes i després el trauré.
Hem canviat el cable i la font d'alimentació per posar 6V al pin de 5V que té un regulador de tensió que converteix el voltatge d'entrada a 3,3 V. No poseu voltatges molt elevats o acabareu fent petar la targeta ESP32.
Obrim l'IDE Thonny i posem aquests dos programes: boot.py que serà el primer que carregarem a la targeta ESP32 i main.py que també carregarem directament a la targeta ESP32 i que tot i ser el principal s'executa més tard.
Anem a veure el primer.
El programa boot.py és el primer que llegirà ESP32. En ell carreguem llibreries per connectar-nos a la wifi (network), per operar amb el client (socket) , per netejar la ram de programes que no gastem (gc), per llegir pins (machine), demanem no rebre missatge de depuració del sistema (esp.osdebug(None)). Abans de connectar-nos a la nostra Wifi, caldrà posar el nostre usuari i contrasenya wifi.
El fitxer editable és ací, descomprimeix i edita'l: boot.py.zip (zip - 416 B)
Ara el carreguem boot.py a la targeta ESP32, ves a File, Save copy...
Escollim el dispositiu MicroPython Device:
Posem el nom boot.py al dispositiu:
Anem a escriure el programa main.py
Aquest programa té 3 blocs diferenciats:
Al primer bloc, carreguem llibreries per fer anar el Pins i el sensor de temperatura DHT22, assignem el GPIO 19 al DHT22 , llegim valor de Temperatura i Humitat , imprimim alguna valor al terminal de l'ordinador per provar com va la lectura (opcional), i passem el valors en forma de tupla. Això ho fem dins d'una funció temperatura() que cridarem cada vegada que polsem el botó recarrega la pàgina web des del mòbil.
En aquest bloc definim una funció web_page() que rep una tupla de valor de la funció temperatura(), i després escriu una pàgina web que veurem al mòbil.
En aquest bloc ens comuniquem entre el servidor i el client del mòbil.
El fitxer editable és ací, descomprimeix i edita'l: main.py.zip (zip - 1463 B)
Carreguem el fitxer main.py a la targeta ESP32.
Aneu a File, Save copy...
Escollim el dispositiu MicroPython Device:
Posem el nom main.py dins del dispositiu:
A continuació premem el botó reset de ESP32:
Els programes boot.py i main.py s'executen i mostren la IP on ens connectarem per telèfon per rebre les dades.
Ara anem a l'adreça 192.168.1.202 des del nostre mòbil i mirem que passa.
Si actualitzem la pàgina web al nostre navegador del mòbil, es tornem a llegir les dades de ESP32.
Si mirem el terminal ( cal tindre de nou el cable USB posat a ESP32) quan actualitzem la pàgina web des del mòbil.
Podem veure la IP del mòbil des d'on hem demanat dades de Temperatura i Humitat, la lectura de T i H que estem imprimint al terminal abans de passar-la al servidor.
Nosaltres hem passat dues dades, però podem passar més dades i afegir més termes a la tupla, o simplificar-ho i passar sols una variable.