Captation des données

import serial
import datetime
import os
import time
 
# Configuration du port série
port = "/dev/ttyUSB0"
baudrate = 9600
timeout = 1
 
# 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()
 
        # Si des données ont été reçues
        if data:
            # Obtention de la date et l'heure actuelles
            now = datetime.datetime.now()
            date_string = now.strftime("%Y-%m-%d")
            time_string = now.strftime("%H-%M-%S")
 
            # Nom du fichier avec la date et l'heure actuelles
            file_name = f"{date_string}_{time_string}.txt"
 
            # Vérifier si le dossier de destination existe, sinon le créer
            if not os.path.exists("/path/to/destination/folder"):
                os.makedirs("/path/to/destination/folder")
 
            # Ouverture du fichier en mode écriture
            with open(f"/path/to/destination/folder/{file_name}", 'a') as file:
                # Écriture des données dans le fichier
                file.write(data + '\n')
 
        # Attendre 1 seconde avant la prochaine lecture
        time.sleep(1)
 
    except serial.SerialException as e:
        print(f"Erreur de lecture du port série {port}: {e}")
        ser.close()
        exit(1)
 
    except IOError as e:
        print(f"Erreur d'entrée/sortie sur le port série {port}: {e}")
        ser.close()
        exit(1)
 
    except Exception as e:
        print(f"Erreur non gérée: {e}")
        ser.close()
        exit(1)
import serial
import requests
 
# Configuration du port série
port = "/dev/ttyUSB0"
baudrate = 9600
timeout = 1
 
# Configuration du webhook
webhook_url = "https://maker.ifttt.com/trigger/port_serie_erreur/with/key/XXXXXXXXXXXXX"
 
# Ouvre la connexion au port série
try:
    ser = serial.Serial(port, baudrate, timeout=timeout)
except serial.SerialException as e:
    requests.post(webhook_url)
    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()
 
        # Si des données ont été reçues
        if data:
            # Faire quelque chose avec les données
 
    except serial.SerialException as e:
        requests.post(webhook_url)
        print(f"Erreur de lecture du port série {
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)

Création d'un fichier de log

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)