Page 3 sur 6
Re: Projet mini automate de contrôle
Posté : lun. 4 mai 2015 17:58
par Cluclu
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é)
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)
Re: Projet mini automate de contrôle
Posté : mer. 6 mai 2015 14:06
par Cluclu
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
Re: Projet mini automate de contrôle
Posté : mer. 6 mai 2015 16:32
par EVOTk
Salut,
Je débute en python, mais a tu essayé :
Bien sur, prog2.py doit etre dans le meme dossier
Sinon il y a :
Re: Projet mini automate de contrôle
Posté : mer. 6 mai 2015 16:39
par Cluclu
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
Re: Projet mini automate de contrôle
Posté : mer. 6 mai 2015 17:24
par dbrion0606
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.
Re: Projet mini automate de contrôle
Posté : mer. 6 mai 2015 18:06
par Cluclu
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
Re: Projet mini automate de contrôle
Posté : mer. 6 mai 2015 19:32
par dbrion0606
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?
Re: Projet mini automate de contrôle
Posté : jeu. 7 mai 2015 08:15
par Cluclu
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
Re: Projet mini automate de contrôle
Posté : jeu. 7 mai 2015 09:21
par dbrion0606
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
Re: Projet mini automate de contrôle
Posté : lun. 11 mai 2015 09:16
par Cluclu
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
Le résultat obtenu est un chiffre qui augmente à chaque fois que je lance la commande. Le script ne se lance toujours pas ...