Closed juliendiotworldtour closed 8 years ago
Salut la compagnie! Bon j'ai décidé de prendre le taureau par les cornes en modifiant un peu dans le PLUGIN STORY cause.class.php et effect.class.php (remplacer "inactif" par "actif", et "pause" par "tempo")
Je me suis aussi dit que si je copiais le bout de code du effect.class.php concernant les GPIO dans le cause.class.php je toucherai au graal! Voici le bout de code du effect.class.php ajouté à cause.class.php
Mais en fait non ça ne suffit pas. Il doit me manquer un bout de code quelque part pour que le RPI2 et YANA comprennent que je veuille utiliser mon GPIO 21 (d'après la pin Map Yana) en entrée! Rappel du scénario souhaité: lorsque je "ferme" mon interrupteur, la différence de potentiel entre le GPIO 21 et l'alimentation 3,3V mesurée par le RPI2 envoi l'ordre à mes GPIO 0,1,2,3,4,5,6,7 de passer à la valeur 1 (correspondant à Inactif par rapport au branchement sur ma carte relai)
Merci la compagnie!
Yop @juliendiotworldtour le taureau est plus gros que tu ne pense ^^, un simple copier coller ne suffira pas car les causes sont beaucoup plus complexes que les effets.
Un effet c'est une simple action, une cause il faut un déclencheur au niveau du code, pour la cause temps c'est un crontab, pour la cause speech c'est le serveur socket, mais pour une cause gpio il faut un programme tiers qui déclenche l'evenement lors d'un changement de gpio, je suis en train de travailler dessus, j'ai un truc assez fonctionnel mais qui ne fonctionne qu'avec un nombre limité de pin pour le moment, je te tiens au jus dès que j'ai push une version alpha.
Merci beaucoup @ldleman, tu es au top! Mon branchement reste dans l'attente de tes avancées bien venues! Du coup, intègres tu du Python dans Yana?
Bon j'ai bricolé un truc mais c'est experimentale, si tu veux tester, faut update ton yana (git pull) et suivre la commande d'installation sur la home des scenarios. Actuellement seul les pins 0-1-2-3-4 sont dispo en entré, j'espere que ça te suffira :)
Merci beaucoup @ldleman! Juste une question: par rapport à la programmation pour les pins en entrée , comment dois je raccorder mon interrupteur? Car il faut que j'utilise 3 fils je crois (3,3v/Masse/gpio IN) J'ai vu différents montages possibles mais cela dépend de la façon dont on programme le GPIO en entrée Aussi, quelles valeurs de résistances me conseilles tu et où les placer? Comment dois-je me brancher? Merci beaucoup de ton aide et patience!
La forme la plus simple pour moi :
Bonjour @ldleman, j'ai effectué ton branchement (avec une résistance de 4,7 kohms car je n'avais pas de 10kohms sous le coude). Et bien ça ne marche pas! Ahah J'utilise le GPIO 1. Est ce que je dois utiliser une Masse en particulier ou je peux prendre n'importe laquelle ?
(J'ai bien ajouté les lignes de commande dans crontab -e, tout en remplaçant wget http://localhost par http://mon.adresse.ip au cas où et comme Yana Server se trouve dans mon répertoire /HTML, j'ai bien rajouté cela dans la nouvelle ligne de commande /var/www/HTML/yana-server/...)
Merci beaucoup d'être aussi efficace !
yop.
Déjà essaye de vérifier que nerve fonctionne bien tape :
cd /var/www/HTML/yana-server
puis
./nerve
Il devrait t’écrire un truc du genre
Nerves ready, waiting life.
Ensuite vas sur ta dashboard, change l'etat du gpio 0 et verifie que nerve te retourne bien le message :
GPIO 0 CHANGED TO 1 LAUNCH php action.php GPIO_HAS_CHANGED 0 1
Si ça marche, c'est que le soucis viens bien de ton montage.
Salut @ldleman , merci pour ces infos! J'ai refais un git pull hard origin master pour etre sûr de bien être d'aplomb.
J'ai bien repris l'installation lettre par lettre dans le crontab -e (d'ailleurs il y a une erreur dans le @reboot /var/www/html/yana-server/nerve /var/www/HTML/yana-server/action.php -O /dev/null 2>&1)
J'ai vérifié que mon GPIO 1 n'était pas utiliser en tant que sortie dans l'une de mes commandes vocales ou scénarios.
Lorsque je fais cd /var/www/html/yana-server puis ./nerve voici ce que PuttY me retourne:
Nerve est bien présent au bon endroit pourtant
comment puis-je te donner plus de détail par rapport à cela?
Merci ldleman!
Oops, mea culpa j'ai oublié de te dire de préciser le parametre action dans la commande nerve :
cd /var/www/HTML/yana-server
puis
./nerve action.php
Bon et bien Il semblerait que mon montage ne fonctionne pas avec la resistance de 4.7kohms... Je vais essayer avec le GPIO 0 voir si j'ai le même résultat. Peux tu me donner un exemple de scénario a reproduire en utilisant un GPIO en entrée ? Peut être que mon scénario n'est pas correct non plus... Aussi, je vais me brancher sur le RPI2 comme tu l'as fais en utilisant les mêmes pins. Est ce que le fait d'utiliser 2 pin de masse pourrait jouer? ( un pin de masse pour ma carte relai alimentée en 5v, et un pin de masse pour mon circuit 3,3v utilisant le GPIO 1 en entrée).
Au moins en essayant de reproduire ce qui marche pour toi, peut être que j'ai une chance d'y arriver!
Merci @ldleman!
Tu as fait la manip ? Il te dis quoi dans la console quand tu change un gpio via l'interface ?
C'est bon tout marche nickel! En fait il fallait que je supprime le scénario et que je le recréé. Maintenant tout fonctionne comme une montre suisse! Merci énormément pour ton travail @ldleman, après autant de mois passé a essayer mon van dans tous les sens, je dispose enfin dune ergonomie optimum!
Je suis content que ça fonctionne :), n'hésite pas a refaire un pull du gestionnaire de scénario j'ai bossé dessus dans la derniere heure pour résoudre quelques bugs restant et ajouter la feature de confidence sur les phrases (dans l'ancienne verison, elles étaient toures a 0.80 par defaut donc pas top).
Je clos, n’hésite pas a rouvrir si besoin :)
Salut @ldleman , j'aimerai savoir quand est ce que tu pensais intégrer à Story les GPIO en entrée à même titre qu'une phrase ou un évènement pour définir une "cause" ? J'aimerai en effet me servir d'un interrupteur qui ne me sert à rien pour le moment comme un système de désactivation de tous mes GPIO. Par exemple, lorsque je quitte mon camion ou lorsque je pars me coucher, plutôt que de devoir sortir le téléphone de ma poche (ou aller le chercher alors que je suis au chaud dans mon duvet!), je donne une impulsion (j'appuie je relache) sur cet interrupteur et hop, tous les GPIO pilotant mes relais se coupent! Lorsque je retourne à mon camion, j'utilise de nouveau mon téléphone pour les activer à ma guise. Voici ce que je souhaite faire:
Nom du scénario: Coupe Tout Cause: GPIO 21 Inactif Effet: GPIO 0,7,6,5,4,3,2,1 Actif (j'ai une carte relai inversée)
Je ne souhaite pas avoir de commande vocale allié à ce scénario puisque celui-ci dois seulement se déclencher par l'intermédiaire de mon interrupteur.
J'ai essayé avec Switchi mais il ne réagit pas comme je souhaite (il me créé en plus des doublons de commandes vocales comme je dois rentrer chaque fonction 1 à 1 afin de pouvoir les grouper sous une seule commande vocale de groupe).
Merci Idleman!!!