User Tools

Site Tools


informatica:arduino:esp32:cronometro

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
informatica:arduino:esp32:cronometro [2023/04/17 22:12] joseinformatica:arduino:esp32:cronometro [2023/04/17 23:14] (current) jose
Line 218: Line 218:
 } }
 </code> </code>
 +
 +====== Webserver ======
 +<code>
 +from http.server import BaseHTTPRequestHandler, HTTPServer
 +from urllib.parse import urlparse, parse_qs
 +from datetime import datetime
 +
 +class MiServidor(BaseHTTPRequestHandler):
 +    
 +    def do_GET(self):
 +        # Parsear la URL para obtener los parámetros
 +        url = urlparse(self.path)
 +        params = parse_qs(url.query)
 +        
 +        # Obtener el valor de la variable
 +        variable = params.get('variable', None)
 +        if variable is not None:
 +            variable = variable[0]
 +            
 +            # Obtener la fecha actual en el formato deseado
 +            fecha_actual = datetime.now().strftime('%Y%m%d')
 +            
 +            # Guardar la fecha y el valor de la variable en el archivo
 +            with open('archivo.txt', 'a') as archivo:
 +                archivo.write(f"{fecha_actual} {variable}\n")
 +            
 +            # Responder con un código 200
 +            self.send_response(200)
 +            self.end_headers()
 +            
 +            return
 +         
 +        # Si no se especifica la variable, responder con un código 400
 +        self.send_response(400)
 +        self.end_headers()
 +
 +def iniciar_servidor():
 +    servidor = HTTPServer(('localhost', 8080), MiServidor)
 +    print('Servidor iniciado en http://localhost:8080')
 +    servidor.serve_forever()
 +
 +if __name__ == '__main__':
 +    iniciar_servidor()
 +</code>
 +
 +Se hace una petición:
 +  curl localhost:8080/?variable=3
  
informatica/arduino/esp32/cronometro.1681769534.txt.gz · Last modified: 2023/04/17 22:12 by jose