﻿# Votre nom
# installer python en mode administrateur : https://www.python.org/downloads/
# https://pypi.org/project/pyserial/
# pip install pyserial
# https://pypi.org/project/requests/
# pip install requests
# Déposer le script dans C:\Users\Etudiant
#    - Modifier le port pour celui utilisé dans Arduino (COM7, COM3, etc.)
#    - S'assurer que Arduino utilise le même baudrate
#    - Ajuster le chemin de l'URL ainsi que les paramètres reçus par ce script
# En cas de probleme verifier les logs dans C:\xampp\apache\logs

import serial
import time
import requests

# Configuration du port série
entree = serial.Serial(
    port='/dev/ttyACM0',  # Assure-toi que c'est bien le port utilisé
    baudrate=9600,
    parity=serial.PARITY_NONE,
    stopbits=serial.STOPBITS_ONE,
    bytesize=serial.EIGHTBITS,
    timeout=1  # Augmenter le timeout pour éviter la lecture infinie
)

print("Connecté à : " + entree.portstr)

# Initialisation des variables
listeLettres = []
ligne = 1
limite = 10

while ligne <= limite:  # On veut 10 valeurs seulement
    octet = entree.read(1)  # Lire 1 caractère à la fois

    if octet:  # Vérifier qu'on a bien reçu un octet
        caractere = octet.decode('utf-8')  # Décoder l'octet reçu
        listeLettres.append(caractere)

        if caractere == '\n':  # Si on détecte une nouvelle ligne, on traite la donnée
            valeur = ''.join(listeLettres).strip()  # Transformer en string et nettoyer
            print(f"Ligne {ligne}: {valeur}")  # Affichage

            # Envoyer la donnée au serveur
            requests.post('http://172.105.20.42/service.meteo/ajouter-meteo.php', data={'luminosite': valeur})

            # Réinitialisation pour la prochaine valeur
            listeLettres = []
            ligne += 1

print("Capture terminée après 10 valeurs.")
entree.close()  # Fermer la connexion série proprement

