Bonjour, Développant depuis 2015 en Arduino, j'ai réalisé une station MéTéO à base d'un ATMEGA2560 qui capte et envoi les datas vers un 2eme Arduino via des modules Xbee.
Cela fonctionne bien mais les écrans Arduino se sont avérés trop petit pour afficher l'ensemble des éléments.
De plus je souhaitais faire des courbes de datas.
Je me suis tout naturellement vers un Raspberry PI 4 dernière génération avec un écran 7" je suis débutant dans le python...
J'ai développé un 1er programme qui récupère sur le port série d'un module Xbee connecté sur le GPIO les datas envoyés depuis le mat de mesure.
Dans ce programme je "print" les valeurs reçus.
Dans un 2eme programme j'ai créé une fenêtre avec tkinter qui de son coté avec des datas définis en début de programme me les affiche bien dans les fenêtre créées à cet effet.
Pour faire "tourner" ces 2 programmes ensemble j'utilise la syntaxe suivante:
Code Python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 from multiprocessing import Process def loop_a(): while 1: # Là j'ai mis mon 1er programme def loop_b(): while 1: # Là j'ai mis mon 2eme programme if __name__ == '__main__': Process(target=loop_a).start() Process(target=loop_b).start()
Mais j'ai 2 problèmes:
Le 1er c'est que lorsque la fenêtre s'ouvre les valeurs sont à 0 comme défini au début du programme.
et lorsque le 2eme commence à recevoir les datas, celles-ci ne se mette pas à jour dans la fenêtre.
Le 2eme problème c'est que lorsque je quitte le programme dans l'éditeur la fenêtre ne s'efface pas et lorsque je relance le programme une 2eme s'ouvre.
A chaque fois que je les ferme elles se rouvre à nouveau.
j'ai mis en .zip les 2 programmes le 1er est celui qui reçoit les datas.
Le 2eme c'est celui qui combine les 2 ( il n'y a qu'une partie du 1er qui capte les datas et l'ensemble de celui qui affiche dans la fenêtre).
Merci de m'indiquer ce qu'il faut écrire pour que cela fonctionne.
Je ne sais pas si je me suis clairement exprimé.. Si ce n'est pas le cas, veuillez m'excuser et m'indiquer la bonne marche à suivre.
Merci pour votre aide.
Partager