[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

[RESOLU] Projet mini automate de contrôle

Message par Cluclu » mar. 21 avr. 2015 15:44

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
Modifié en dernier par Cluclu le lun. 25 mai 2015 19:36, modifié 1 fois.

Avatar du membre
Manfraid
Raspinaute
Messages : 1402
Enregistré le : ven. 3 oct. 2014 14:50
Contact :

Re: Projet mini automate de contrôle

Message par Manfraid » mar. 21 avr. 2015 15:58

Salut,
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.

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

Re: Projet mini automate de contrôle

Message par Cluclu » mar. 21 avr. 2015 16:04

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

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

Re: Projet mini automate de contrôle

Message par Cluclu » jeu. 23 avr. 2015 22:37

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 :

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
Le truc c'est que dans le listing df je ne vois pas le 0p2 s'afficher :/

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

Re: Projet mini automate de contrôle

Message par Cluclu » jeu. 23 avr. 2015 23:07

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

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

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

Re: Projet mini automate de contrôle

Message par Cluclu » sam. 25 avr. 2015 12:07

Petit up, personne pour m'orienter concernant les entrées contact sec ?

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

Re: Projet mini automate de contrôle

Message par Cluclu » mar. 28 avr. 2015 16:08

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

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 à 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 :

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

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 » mar. 28 avr. 2015 17:00

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)

Avatar du membre
Manfraid
Raspinaute
Messages : 1402
Enregistré le : ven. 3 oct. 2014 14:50
Contact :

Re: Projet mini automate de contrôle

Message par Manfraid » mar. 28 avr. 2015 19:03

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
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.

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

Re: Projet mini automate de contrôle

Message par Cluclu » mar. 28 avr. 2015 19:46

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

Répondre

Retourner vers « Débutants »