J'ai un serveur appache sur raspberry . une page web avec formulaire pour que l'utilisateur rentre 2 données et qui envoie ( form action ) vers un programme php .
Ce meme programme php envoie les 2 données dans mysql et grace à exec lance un programme python qui mesure en boucle ( une des données enregistrée fixe la durée de la boucle, l'autre donnée le temps entre 2 mesures ) une valeur physique .
à chaque cycle de la boucle la valeur est enregistrée dans mysql .
J'aimerais visualiser la valeur à chaque cycle de la boucle sur une page web . Comment faire ?
J'ai essayé d'ouvrir une page avec webbrowser à la fin de chaque bouche mais ça ouvre autant de page que de cycles et je ne sais pas comment recuperer la valeur pour l'afficher dans la nouvelle page crée.
Merci pour votre aide
le programme php est le suivant
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 <?php $servername = "localhost"; $username = "xxxxxx"; $password = "yyyyy"; $dbname = "elevage"; $conn = new mysqli($servername, $username, $password, $dbname); // Check connection echo $_POST["duree"]; echo $_POST["interval"]; $duree = $_POST["duree"]; $interval = $_POST["interval"]; $sql = "INSERT INTO intervaltps (intervalle, duree) VALUES ( $interval, $duree )"; if (mysqli_query($conn, $sql)) { echo "New record created successfully"; } else { echo "Error: " . $sql . "<br>" . mysqli_error($conn); } mysqli_close($conn); exec ('sudo /usr/bin/python3 /home/pi/Documents/ADS1x15/final.py' );
le programme final.py :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 #!/usr/bin/python3 import time import mysql.connector import RPi.GPIO as GPIO # bibliothèque pour utiliser les GPIO import time # bibliothèque pour gestion du temps GPIO.setmode(GPIO.BOARD) # mode de numérotation des pins GPIO.setup(22,GPIO.OUT ) # la pin 22 réglée en sortie (output) baseDeDonnees = mysql.connector.connect(host="localhost",user="bernard",password="mdpbg",database="elevage") curseur = baseDeDonnees.cursor() curseur.execute("SELECT duree, intervalle FROM intervaltps WHERE id = (SELECT MAX(id) FROM intervaltps) ") record = curseur.fetchall() for row in record: dur = row[0] inter = row[1] print(dur) print(inter) baseDeDonnees.close from ADS1x15 import ADS1115 adc = ADS1115() print('Reading ADS1x15 values, press Ctrl-C to quit...') i = 0 while i<dur : GPIO.output(22,GPIO.HIGH) time.sleep(0.06) values = [0] # Read the specified ADC channel using the previously set gain value. values = adc.read_adc(0,gain=1) # Print the ADC values time.sleep(0.02) GPIO.output(22,GPIO.LOW) # sortie au niveau logique bas (0 V) baseDeDonnees = mysql.connector.connect(host="localhost",user="xxxxxx",password="yyyyyy",database="elevage") curseur = baseDeDonnees.cursor() toto = {"commentaire": "ca marche", "V1" : values} curseur.execute("""INSERT INTO Donnesmi (commentaire, V1, date_insertion) VALUES(%(commentaire)s, %(V1)s, CURRENT_TIMESTAMP)""", toto) baseDeDonnees.commit() baseDeDonnees.close() print(values) # Pause for half a second. time.sleep(interval) i += 1
Partager