[RESOLU] Projet mini automate de contrôle
Modérateur : Francois
[RESOLU] Projet mini automate de contrôle
Bonjour la communauté,
J'ouvre ce post pour centraliser mes questions sur mon projet de mini automate et également pour le présenter quand il sera à minima fonctionnel et pas en fil volant.
Donc en fait j'essaye de faire plusieurs ébauche de script pour valider des fonctions et apprendre en même temps et par la suite je ferais un script global pour le projet.
Je me retrouve actuellement avec des erreurs en essayant d'utiliser un script pour exploiter ma carte Piface 2 sur mon Pi 2.
J'ai installé tout ce qu'il fallait d'après la doc fournit sur le site du Piface 2.
Lorsque je lance mon script d'essai (pour tenter d'allumer les LED des sorties) j'ai une erreur d'exécution. En cherchant sur le forum je suis tombé sur un post et un script tout fait pour pour voir essayer ce module justement (viewtopic.php?f=70&t=258)
Pour info je suis avec Python 3
Lorsque j'essaye ce script j'ai la même erreur :
Traceback (most recent call last):
File "/home/pi/test piface.py", line 3, in <module>
pifacedigitalio.init()
File "/usr/lib/python3/dist-packages/pifacedigitalio/core.py", line 166, in init
raise failed_boards[0]
File "/usr/lib/python3/dist-packages/pifacedigitalio/core.py", line 162, in init
init_board)
File "/usr/lib/python3/dist-packages/pifacedigitalio/core.py", line 82, in __init__
self.init_board()
File "/usr/lib/python3/dist-packages/pifacedigitalio/core.py", line 107, in init_board
h=self.hardware_addr, b=self.bus, c=self.chip_select))
pifacedigitalio.core.NoPiFaceDigitalDetectedError: No PiFace Digital board detected (hardware_addr=0, bus=0, chip_select=0).
Apparemment le module n'est pas détecté par le PI si j'ai compris ?
Merci d'avance et désolé si j'ai oublié des infos vitale pour vos réponses
J'ouvre ce post pour centraliser mes questions sur mon projet de mini automate et également pour le présenter quand il sera à minima fonctionnel et pas en fil volant.
Donc en fait j'essaye de faire plusieurs ébauche de script pour valider des fonctions et apprendre en même temps et par la suite je ferais un script global pour le projet.
Je me retrouve actuellement avec des erreurs en essayant d'utiliser un script pour exploiter ma carte Piface 2 sur mon Pi 2.
J'ai installé tout ce qu'il fallait d'après la doc fournit sur le site du Piface 2.
Lorsque je lance mon script d'essai (pour tenter d'allumer les LED des sorties) j'ai une erreur d'exécution. En cherchant sur le forum je suis tombé sur un post et un script tout fait pour pour voir essayer ce module justement (viewtopic.php?f=70&t=258)
Pour info je suis avec Python 3
Lorsque j'essaye ce script j'ai la même erreur :
Traceback (most recent call last):
File "/home/pi/test piface.py", line 3, in <module>
pifacedigitalio.init()
File "/usr/lib/python3/dist-packages/pifacedigitalio/core.py", line 166, in init
raise failed_boards[0]
File "/usr/lib/python3/dist-packages/pifacedigitalio/core.py", line 162, in init
init_board)
File "/usr/lib/python3/dist-packages/pifacedigitalio/core.py", line 82, in __init__
self.init_board()
File "/usr/lib/python3/dist-packages/pifacedigitalio/core.py", line 107, in init_board
h=self.hardware_addr, b=self.bus, c=self.chip_select))
pifacedigitalio.core.NoPiFaceDigitalDetectedError: No PiFace Digital board detected (hardware_addr=0, bus=0, chip_select=0).
Apparemment le module n'est pas détecté par le PI si j'ai compris ?
Merci d'avance et désolé si j'ai oublié des infos vitale pour vos réponses
Modifié en dernier par Cluclu le lun. 25 mai 2015 19:36, modifié 1 fois.
Re: Projet mini automate de contrôle
Salut,
oui tu as bien compris le module n'est pas detecter
oui tu as bien compris le module n'est pas detecter
NAS : DIY OS Debian: DD250Go + 3x2To + 6To
Raspberry pi : 2B OS : Raspbian
Se tromper est humain, Vraiment foutre la merde nécessite le mot de passe de root.
Raspberry pi : 2B OS : Raspbian
Se tromper est humain, Vraiment foutre la merde nécessite le mot de passe de root.
Re: Projet mini automate de contrôle
Merci de la confirmation.
Comment savoir maintenant si c'est logiciel ou matériel ? La carte est neuve ça serait dommage :/
Edit : Après reboot sans la carte, une vérif des Maj avec Synaptic puis un reboot avec la carte dessus elle est enfin reconnu
En lançant "pifacedigital-emulator" j'arrive à allumer les led depuis l'interface graphique, par contre le script d'essais ne produit pas d'erreur mais rien ne se passe je vais voir du coté des autorisations si ça bloque pas
Edit 2 : En lançant le script via une console en prenant les droit (sudo) ça fonctionne parfaitement
Comment savoir maintenant si c'est logiciel ou matériel ? La carte est neuve ça serait dommage :/
Edit : Après reboot sans la carte, une vérif des Maj avec Synaptic puis un reboot avec la carte dessus elle est enfin reconnu

En lançant "pifacedigital-emulator" j'arrive à allumer les led depuis l'interface graphique, par contre le script d'essais ne produit pas d'erreur mais rien ne se passe je vais voir du coté des autorisations si ça bloque pas
Edit 2 : En lançant le script via une console en prenant les droit (sudo) ça fonctionne parfaitement
Re: Projet mini automate de contrôle
Bonsoir, me revoilà avec une question de plus
J'ai suivi le tuto dispo sur ce site pour réaliser le boot sur SD puis enchainer sur une clé USB pour soulager la SD
J'en suis arrivé au déplacement de mmcblk0p2 ... Actuellement plus de 30 min que rien n'est affiché dans la console donc je voulais savoir si je devais encore attendre ou si il y a eu un couac :/
Voici mes dernières lignes provenant du terminal :
Le truc c'est que dans le listing df je ne vois pas le 0p2 s'afficher :/
J'ai suivi le tuto dispo sur ce site pour réaliser le boot sur SD puis enchainer sur une clé USB pour soulager la SD
J'en suis arrivé au déplacement de mmcblk0p2 ... Actuellement plus de 30 min que rien n'est affiché dans la console donc je voulais savoir si je devais encore attendre ou si il y a eu un couac :/
Voici mes dernières lignes provenant du terminal :
Code : Tout sélectionner
pi@raspberrypi ~ $ sudo mount -t ext3 /dev/sda2 /home/pi/USB
pi@raspberrypi ~ $ df
Sys. fich. 1K-blocks Util. Disponible Uti% Monté sur
rootfs 7534284 3087464 4090504 44% /
/dev/root 7534284 3087464 4090504 44% /
devtmpfs 470368 0 470368 0% /dev
tmpfs 94936 308 94628 1% /run
tmpfs 5120 0 5120 0% /run/lock
tmpfs 189860 0 189860 0% /run/shm
/dev/mmcblk0p1 57288 14720 42568 26% /boot
/dev/sda2 14311472 35956 13541872 1% /home/pi/USB
pi@raspberrypi ~ $ sudo umount /dev/sda2
pi@raspberrypi ~ $ sudo dd if=/dev/mmcblk0p2 of=/dev/sda2 bs=512
Re: Projet mini automate de contrôle
Bon il fallait être patient en fait.
Par contre sur la fin du tutoriel il est précisé de modifier fstab du sda2 et pas du mmcb mais comment savoir lequel on modifie ??
Edit matinal : Pas trouvé pour le fstab pour le moment
Je suis bloqué sur le script pour surveiller les entrée du Piface Digital 2. J'arrive à leur donner une valeur fixe (0 ou 1) et allumé une LED selon leur état avec utilisation de if, else etc
Je cherche donc à activer une sortie si une entrée passe à 1 mais sans intervention logiciel donc soit appuyer sur le bouton S0 soit (que je préfèrerais) réaliser un vrai contact entre 2 borne
Voici une ébauche de mon script qui permet d'allumer la led 0
Pour ce qui est des entrées j'ai la ligne "pi.digital_read_pullup" dont je cerne difficilement son action
Merci d'avance
Par contre sur la fin du tutoriel il est précisé de modifier fstab du sda2 et pas du mmcb mais comment savoir lequel on modifie ??
Edit matinal : Pas trouvé pour le fstab pour le moment
Je suis bloqué sur le script pour surveiller les entrée du Piface Digital 2. J'arrive à leur donner une valeur fixe (0 ou 1) et allumé une LED selon leur état avec utilisation de if, else etc
Je cherche donc à activer une sortie si une entrée passe à 1 mais sans intervention logiciel donc soit appuyer sur le bouton S0 soit (que je préfèrerais) réaliser un vrai contact entre 2 borne
Voici une ébauche de mon script qui permet d'allumer la led 0
Code : Tout sélectionner
import pifacedigitalio as pi
pi.init()
pi.digital_write(0,1)
Pour ce qui est des entrées j'ai la ligne "pi.digital_read_pullup" dont je cerne difficilement son action
Merci d'avance
Re: Projet mini automate de contrôle
Petit up, personne pour m'orienter concernant les entrées contact sec ?
Re: Projet mini automate de contrôle
Bonjour la communauté
Voilà j'avance sur mon projet, je posterais les photo ce soir de l'avancement.
Côté programmation j'ai avancé également, j'arrive à détecter mes entrées et activer mes sorties en conséquence.
J'épluche les doc mais je but sur l'affichage de la dateet la fonction boucle
Voici une ébauche de mon script
J'ai à peu près la même chose pour les 8 entrées et j'aimerais que le script tourne en boucle pour relire l'état des entrées jusqu'à interruption
J'ai essayé ceci mais sans succès :
Concernant la date j'utilise la fonction time.strftime("%d etc ") mais je n'arrive pas à l'inclure dans un print(" ")
Edit : j'ai corrigé mon souci de boucle c'était un souci d’imbrication des conditions, me reste à voir pour faire un "clear" après chaque boucle
Merci d'avance pour vos infos
Voilà j'avance sur mon projet, je posterais les photo ce soir de l'avancement.
Côté programmation j'ai avancé également, j'arrive à détecter mes entrées et activer mes sorties en conséquence.
J'épluche les doc mais je but sur l'affichage de la dateet la fonction boucle
Voici une ébauche de mon script
Code : Tout sélectionner
import time
import pifacedigitalio as pi
pi.init()
if pi.digital_read(0) == 1 : # si mon entrée 0 est égale à 1
... print("TS 1 activée") # afficher TS 1 activée
... pi.digital_write(0, 1) # activer la sortie 0 à 1
else :
... pi.digital_write(0, 0) # sinon activer la sortie 0 à 0
J'ai essayé ceci mais sans succès :
Code : Tout sélectionner
while pi.digital_read(7) == 0 : # tant que la sortie 7 = 0 lire en boucle
Concernant la date j'utilise la fonction time.strftime("%d etc ") mais je n'arrive pas à l'inclure dans un print(" ")
Edit : j'ai corrigé mon souci de boucle c'était un souci d’imbrication des conditions, me reste à voir pour faire un "clear" après chaque boucle
Merci d'avance pour vos infos
- dbrion0606
- Raspinaute
- Messages : 164
- Enregistré le : ven. 30 janv. 2015 15:51
Re: Projet mini automate de contrôle
Concernant la date j'utilise la fonction time.strftime("%d etc ") mais je n'arrive pas à l'inclure dans un print(" ")
Que donne :
Code : Tout sélectionner
import time
aux=time.strftime("%d %m %Y : %H %M")
print(aux)
Re: Projet mini automate de contrôle
Salut
Exlliqe un peu plus en détail ce que tu veux faire car avec le peu de détail je peu imaginer plein de solution différente
Exlliqe un peu plus en détail ce que tu veux faire car avec le peu de détail je peu imaginer plein de solution différente
NAS : DIY OS Debian: DD250Go + 3x2To + 6To
Raspberry pi : 2B OS : Raspbian
Se tromper est humain, Vraiment foutre la merde nécessite le mot de passe de root.
Raspberry pi : 2B OS : Raspbian
Se tromper est humain, Vraiment foutre la merde nécessite le mot de passe de root.
Re: Projet mini automate de contrôle
Je testerais ta solution demain dbrion0606 ma maquette étant à mon boulot
@Manfraid
Si c'est pour la fonction "Clear", je souhaite l'utiliser en début de script car en tournant en boucle, celui ci m'affiche des infos selon l'état de mes sorties.
Si la sortie 1 est activée j'ai un message qui s'affiche dans l'IDLE mais il se cumule à chaque fois que le script réalise une nouvelle boucle et ça devient illisible pour rechercher les infos qu'on souhaite afficher
Donc je voudrais afficher dans mon IDLE uniquement l'état de mes sorties de la boucle actuelle, puis un clear et le script me réaffiche l'état des sorties dans la boucle suivante etc
@Manfraid
Si c'est pour la fonction "Clear", je souhaite l'utiliser en début de script car en tournant en boucle, celui ci m'affiche des infos selon l'état de mes sorties.
Si la sortie 1 est activée j'ai un message qui s'affiche dans l'IDLE mais il se cumule à chaque fois que le script réalise une nouvelle boucle et ça devient illisible pour rechercher les infos qu'on souhaite afficher
Donc je voudrais afficher dans mon IDLE uniquement l'état de mes sorties de la boucle actuelle, puis un clear et le script me réaffiche l'état des sorties dans la boucle suivante etc