# Fonction principale
def web_page():
valeur_mesure = capteur.read() #faire une mesure chaque 1000ms
tension = (valeur_mesure*3.3)/4096 # la Tension Vs en sortie de la LDR
RLDR = calculate_R_LDR(tension, R) # Calculer la valeur de la Resistance LDR
lux = calculate_LUX(RLDR, GAMMA, R_Lux10)
html = """
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" http-equiv="refresh" content="1">
<title>ESP32 Serveur Web</title>
<style>
p { font-size: 36px; }
</style>
</head>
<body>
<h1>Niveau de luminosité</h1>
<p><span>%s</span></p>
</body>
</html>
""" % (led_state)
return html
#****************************************
def main():
# Demander à l'utilisateur de choisir entre le Mode AP ou client
#mode_f = input("Veuillez Saisir 1 -> (Mode ACCESS PONT) & 2 -> (Mode Client) : ")
try:
#mode_f = int(mode_f)
mode_f = 1
if(mode_f == 1):
accesspoint_wifi() #executer le mode access point
elif(mode_f == 2):
connect_wifi() # executer le mode client
else:
print("Veuillez entrer une valeur valide.")
except:
print("Veuillez entrer une valeur valide.")
# Créer une socket TCP
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind(('', 80))
server_socket.listen(5)
while True:
try :
conn, addr = server_socket.accept()
print(' Connexion de client -> %s' % str(addr))
request = conn.recv(1024)
# Analyser la requete :
print('Content -> %s' % str(request))
#valeur = str(request)
#print(valeur.find('led=off'))
#Réponse du serveur Web****************************
response = web_page()
conn.send('HTTP/1.1 200 OK\n')
conn.send('Content-Type: text/html\n')
conn.send('Connection: close\n\n')
conn.sendall(response)
except Exception as e:
print(f'Erreur lors de la communication avec le client {str(addr)} : {e}')
finally:
# Fermer la connexion du client avec le serveur
conn.close()
if __name__ == "__main__":
main()