Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| documentation:architecture-technique:captation-des-donnees [2023/04/03 12:37] – baudryj | documentation:architecture-technique:captation-des-donnees [2023/04/03 12:47] (Version actuelle) – [Captation des données] baudryj | ||
|---|---|---|---|
| Ligne 103: | Ligne 103: | ||
| </ | </ | ||
| + | |||
| + | <code python> | ||
| + | import requests | ||
| + | import serial | ||
| + | import time | ||
| + | |||
| + | # Configuration du port série | ||
| + | port = "/ | ||
| + | baudrate = 9600 | ||
| + | timeout = 1 | ||
| + | |||
| + | # Configuration du webhook | ||
| + | webhook_url = " | ||
| + | webhook_timeout = 3 | ||
| + | |||
| + | # Ouvre la connexion au port série | ||
| + | try: | ||
| + | ser = serial.Serial(port, | ||
| + | except serial.SerialException as e: | ||
| + | print(f" | ||
| + | exit(1) | ||
| + | |||
| + | # Boucle principale | ||
| + | while True: | ||
| + | try: | ||
| + | # Lecture des données du port série | ||
| + | data = ser.readline().decode(' | ||
| + | |||
| + | # Faire quelque chose avec les données | ||
| + | |||
| + | # Envoyer les données au webhook | ||
| + | payload = {" | ||
| + | response = requests.post(webhook_url, | ||
| + | response.raise_for_status() | ||
| + | |||
| + | except requests.exceptions.Timeout: | ||
| + | print(f" | ||
| + | except requests.exceptions.RequestException as e: | ||
| + | print(f" | ||
| + | |||
| + | # Attendre 5 secondes avant de continuer | ||
| + | time.sleep(5) | ||
| + | </ | ||
| + | ===== Création d'un fichier de log ===== | ||
| + | |||
| + | <code python> | ||
| + | import serial | ||
| + | import logging | ||
| + | |||
| + | # Configuration du port série | ||
| + | port = "/ | ||
| + | baudrate = 9600 | ||
| + | timeout = 1 | ||
| + | |||
| + | # Configuration du logger | ||
| + | logging.basicConfig(filename=' | ||
| + | |||
| + | # Ouvre la connexion au port série | ||
| + | try: | ||
| + | ser = serial.Serial(port, | ||
| + | except serial.SerialException as e: | ||
| + | logging.error(f" | ||
| + | exit(1) | ||
| + | |||
| + | # Boucle principale | ||
| + | while True: | ||
| + | try: | ||
| + | # Lecture des données du port série | ||
| + | data = ser.readline().decode(' | ||
| + | |||
| + | # Faire quelque chose avec les données | ||
| + | |||
| + | except serial.SerialException as e: | ||
| + | logging.error(f" | ||
| + | exit(1) | ||
| + | </ | ||
| + | |||