IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Applications et environnements graphiques Discussion :

Comment faire "tourner" 2 programmes ensemble avec des variables communes


Sujet :

Applications et environnements graphiques

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Février 2016
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Comment faire "tourner" 2 programmes ensemble avec des variables communes
    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.
    Images attachées Images attachées  
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Réponses: 9
    Dernier message: 18/12/2009, 00h36
  2. Comment faire l'analyse d'un programme ?
    Par gicquairea dans le forum Prolog
    Réponses: 0
    Dernier message: 19/08/2007, 16h11
  3. comment faire pour tourner un script sur un serveur et lequel?
    Par patchiko dans le forum Serveurs (Apache, IIS,...)
    Réponses: 1
    Dernier message: 20/07/2007, 16h00
  4. Réponses: 18
    Dernier message: 07/06/2007, 18h43
  5. trouve pas comment faire un algo pour mon programme
    Par unknoweb dans le forum Débuter avec Java
    Réponses: 21
    Dernier message: 12/04/2007, 17h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo