Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
documentation:architecture-technique:captation-des-donnees [2023/04/03 12:37] baudryjdocumentation:architecture-technique:captation-des-donnees [2023/04/03 12:47] (Version actuelle) – [Captation des données] baudryj
Ligne 103: Ligne 103:
  
 </code> </code>
 +
 +<code python>
 +import requests
 +import serial
 +import time
 +
 +# Configuration du port série
 +port = "/dev/ttyUSB0"
 +baudrate = 9600
 +timeout = 1
 +
 +# Configuration du webhook
 +webhook_url = "https://example.com/webhook"
 +webhook_timeout = 3
 +
 +# Ouvre la connexion au port série
 +try:
 +    ser = serial.Serial(port, baudrate, timeout=timeout)
 +except serial.SerialException as e:
 +    print(f"Impossible d'ouvrir le port série {port}: {e}")
 +    exit(1)
 +
 +# Boucle principale
 +while True:
 +    try:
 +        # Lecture des données du port série
 +        data = ser.readline().decode('utf-8').strip()
 +
 +        # Faire quelque chose avec les données
 +
 +        # Envoyer les données au webhook
 +        payload = {"data": data}
 +        response = requests.post(webhook_url, json=payload, timeout=webhook_timeout)
 +        response.raise_for_status()
 +
 +    except requests.exceptions.Timeout:
 +        print(f"Timeout lors de l'envoi des données au webhook {webhook_url}")
 +    except requests.exceptions.RequestException as e:
 +        print(f"Erreur lors de l'envoi des données au webhook {webhook_url}: {e}")
 +
 +    # Attendre 5 secondes avant de continuer
 +    time.sleep(5)
 +</code>
 +===== Création d'un fichier de log =====
 +
 +<code python>
 +import serial
 +import logging
 +
 +# Configuration du port série
 +port = "/dev/ttyUSB0"
 +baudrate = 9600
 +timeout = 1
 +
 +# Configuration du logger
 +logging.basicConfig(filename='myapp.log', level=logging.ERROR)
 +
 +# Ouvre la connexion au port série
 +try:
 +    ser = serial.Serial(port, baudrate, timeout=timeout)
 +except serial.SerialException as e:
 +    logging.error(f"Impossible d'ouvrir le port série {port}: {e}")
 +    exit(1)
 +
 +# Boucle principale
 +while True:
 +    try:
 +        # Lecture des données du port série
 +        data = ser.readline().decode('utf-8').strip()
 +
 +        # Faire quelque chose avec les données
 +
 +    except serial.SerialException as e:
 +        logging.error(f"Erreur de lecture du port série {port}: {e}")
 +        exit(1)
 +</code>
 +
Haut de page