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