[RESOLU] Projet mini automate de contrôle

Vous venez de déballer votre Raspberry Pi et vous vous posez des questions ? C'est ici que ça se passe !

Modérateur : Francois

Cluclu
Messages : 47
Enregistré le : ven. 3 avr. 2015 23:22

Re: Projet mini automate de contrôle

Message par Cluclu » lun. 4 mai 2015 17:58

Pas de news sur le projet je n'ai pas eu le temps d'avancer par contre j'ai quelques photo du montage (pas encore terminé)

Image

Image

Image

Donc il reste à mettre le commutateur ON/OFF et le poussoir de reboot ainsi que percer pour la ventilation. Dans cette config je gagne 10° en ventilant le RPi (un soufflant et un aspirant)

Cluclu
Messages : 47
Enregistré le : ven. 3 avr. 2015 23:22

Re: Projet mini automate de contrôle

Message par Cluclu » mer. 6 mai 2015 14:06

Bon je me suis remis sur le script pour lancer la tache mais je tourne toujours en rond à relire et essayer de faire comme les tuto sur le net mais rien ne fonctionne

Pour rappel j'ai un script "tachedefond.py" qui se lance en tache de fond au démarrage de Raspbian. Il surveille l'état d'un bouton. Lorsque le bouton est sur "1" je voudrais qu'il lance un script existant "smarteole.py" mais je n'y arrive pas.
La tache de fond fonctionne car quand je lui demande de m'allumer une led si je passe à 1 ça fonctionne parfaitement.

Il me reste à trouver (avec de l'aide car depuis le temps que je cherche je ne pense pas que ça va m'a apparaitre comme par magie) comment lancer un script python dans un terminal à partir d'un autre script python

Merci d'avance pour vos infos

EVOTk

Re: Projet mini automate de contrôle

Message par EVOTk » mer. 6 mai 2015 16:32

Salut,

Je débute en python, mais a tu essayé :

Code : Tout sélectionner

import subprocess
subprocess.call("start python prog2.py")
Bien sur, prog2.py doit etre dans le meme dossier

Sinon il y a :

Code : Tout sélectionner

execfile("prog2.py")

Cluclu
Messages : 47
Enregistré le : ven. 3 avr. 2015 23:22

Re: Projet mini automate de contrôle

Message par Cluclu » mer. 6 mai 2015 16:39

Non ni l'un ni l'autre ne fonctionne je les avais déjà essayé

Pour execfile je doit mettre exec uniquement (du à Python 3 ??) mais ça me renvoi que des erreurs

Avatar du membre
dbrion0606
Raspinaute
Messages : 164
Enregistré le : ven. 30 janv. 2015 15:51

Re: Projet mini automate de contrôle

Message par dbrion0606 » mer. 6 mai 2015 17:24

J'ai l'impression que votre script monolithique est bon (le seul petit problème étant dans le fait que l'écran est plutôt pour un simple utilisateur, et que seul le root peut accèder à votre matériel, si j'ai bien compris).

J'ai deux questions :
a) voulez vous que celà fonctinne depuis votre environnement de développement (un terminal en mode texte peut faire l'affaire, dans l'etat); ceci pour résoudre vos problèmes de nettoyage d'écran -xterm fonctionne comme un terminal en mode texte, et accepte les séquences d'échappement permettant de colorier du texte et de vider l'écran)

b) que se passerait il si votre script monolithique -j'espère qu'il marche!- , au lieu d'afficher, confiait ses lignes à un fichier et qu'une autre tâche, dans une boucle infinie, lisait ses lignes -en étant bloquée (sans consommer d'UC) si le fichier est vide, et chaque ligne lue est retirée du fichier -normalement, il prend peu de place- , qui a une nature spéciale : un pipe nommé. C'est une solution qui me semblait séduisante, du fait que l'on garde pratiquement l'ossature du script monolithique et que la tâche d'affichage est simple.

Cluclu
Messages : 47
Enregistré le : ven. 3 avr. 2015 23:22

Re: Projet mini automate de contrôle

Message par Cluclu » mer. 6 mai 2015 18:06

a) mon script python fonctionne parfaitement sous LXTerminal et j'aimerais qu'il soit lancé dedans les infos sont bien visible et le "clear" fonctionne parfaitement sans scintillement

b) Je n'ai pas tout saisi à ton explication, le script affichera des infos à l'utilisateur via l'écran et des LED. Son utilisation ne sera jamais plus de 15min donc au niveau de la conso de l'UC ça ne me gêne pas si il s'execute comme actuellement quand je le lance manuellement

Avatar du membre
dbrion0606
Raspinaute
Messages : 164
Enregistré le : ven. 30 janv. 2015 15:51

Re: Projet mini automate de contrôle

Message par dbrion0606 » mer. 6 mai 2015 19:32

J'ai l'impression que, jusqu'à présent, je n'avais pas très bien sais ce que vous vouliez. Est ce que http://www.framboise314.fr/raspbian-tou ... utomatique correspond à vos desiderata?

Cluclu
Messages : 47
Enregistré le : ven. 3 avr. 2015 23:22

Re: Projet mini automate de contrôle

Message par Cluclu » jeu. 7 mai 2015 08:15

Le lien c'est pour lancer une tache au démarrage mais ça je l'ai déjà mon script de fond se lance bien tout seul en arrière plan

Avatar du membre
dbrion0606
Raspinaute
Messages : 164
Enregistré le : ven. 30 janv. 2015 15:51

Re: Projet mini automate de contrôle

Message par dbrion0606 » jeu. 7 mai 2015 09:21

Que se pase-t-il si votre script monolithique d'affichage et de scrutation commence, après importation des bibliotheques, par attendre que la voie 7 soit active?

Code : Tout sélectionner

while (!pi.digitalread(7) ) : # boucle tant que le demarreur est inactif
    print("attente\n")
    sleep(0.1) # scruter toutes les 1/10 secondes suffit

Cluclu
Messages : 47
Enregistré le : ven. 3 avr. 2015 23:22

Re: Projet mini automate de contrôle

Message par Cluclu » lun. 11 mai 2015 09:16

En attendant que la voie 7 soit active il execute sa boucle avec un time.sleep(0.1) afin de ne pas charger le CPU

Je n'ai toujours pas trouvé de solution pour lancer mon second script, je me demande si je ne vais pas essayer de trouver une autre solution

Edit :

Je me suis penché sur le module os

Code : Tout sélectionner

import os
os.open("smarteole.py", os.O_RDONLY)
Le résultat obtenu est un chiffre qui augmente à chaque fois que je lance la commande. Le script ne se lance toujours pas ...

Répondre

Retourner vers « Débutants »