ESP32 COM A SERVIDOR WEB
Recuperem les dades d'un sensor
Modifiquem el codi:
Utilitzem com a base el codi del servidor amb botons que ja hem creat i modifiquem-lo en nou arxiu. Cal:
-
Afegir la classe ADC de la llibreria machine per interactuar amb les entrades analògiques
-
Configurar el pin de connexió del sensor
-
Llegir els valors retornats pel sensor
-
Modificar el codi de la pàgina web de resposta, que ha de recuperar la lectura del sensor i actualitzar-se periòdicament
DEFINCIÓ DE LA PÀGINA WEB
def pag_web( ):
if led.value( ) == 1:
estat_led = "ON"
else:
estat_led = "OFF"
html = """<html>
<head><title>ESP32 Servidor Web</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- cal definir l'interval d'actualització del document (li he posat 1 segon): -->
<meta http-equiv="refresh" content="1">
<style>html {text-align: center; font-family: Helvetica; margin: 10px auto;}
p {font-size: 20px;}
button {font-size:30px; width: 150px; padding: 15px; border-radius: 5px; border-width: 1px; cursor: pointer}
</style></head>
<body><h1>Mi Servidor</h1>
<p><strong>Hola, """ + addr[0]+ """</strong></p>
<p>estat LED: """ + estat_led + """</p> <!-- la pàgina retornarà el valor de la variable estat_led -->
<p><a href="/?led=on"><button>ON</button></a></p> <!-- a href indica enllaç a una URL -->
<p><a href="/?led=off"><button>OFF</button></a></p>
<!-- cal afegir la resposta de la funció que llegeix el sensor: -->
<p>nivell de llum: """ + lectura_sensor( )+ """ lx</p>
</body></html>"""
return html
El resultat, en accedir a la IP de l'ESP32 des del navegador:
En clicar els enllaços s'hauria d'encendre o apagar el LED, i actualitzar l'estat LED.
Eines per makejar:
Utilitzeu l'editor de codi HTML en línia de w3schools
Proveu diferents codis hexadecimals de colors