Omet navegació

7.1 Pasem dades al telèfon

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é.

ESP32 wifi + DHT22

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.

boot.py

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...

File save copy

Escollim el dispositiu MicroPython Device:

MicroPython Device

Posem el nom boot.py al dispositiu:

Posem el nom boot.py

Anem a escriure el programa main.py

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.

main1

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.

main2

En aquest bloc ens comuniquem entre el servidor i el client del mòbil.

main3

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...

File Save copy

Escollim el dispositiu MicroPython Device:

MicroPython Device

Posem el nom main.py dins del dispositiu:

posem nom main.py

A continuació premem el botó reset de ESP32:

ESP32 reset

Els programes boot.py i main.py s'executen i mostren la IP on ens connectarem per telèfon per rebre les dades.

main-reset

Ara anem a l'adreça 192.168.1.202 des del nostre mòbil i mirem que passa.

pàgina web des de mòbil

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.

Dades al terminal

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.

Creat amb eXeLearning (Finestra nova)