ldleman / yana-server

Interface PHP de domotique Y.A.N.A (You Are Not Alone)
http://projet.idleman.fr/yana
107 stars 59 forks source link

amélioration de la table pilotant les GPIO #157

Open juliendiotworldtour opened 8 years ago

juliendiotworldtour commented 8 years ago

Bonjour Idleman, j'aimerai pouvoir ajuster d'autres paramètres lorsque je veux piloter mes GPIO: Pouvoir sélectionner plusieurs GPIO pour une seule commande vocale Décider si l'état initial de mon GPIO est Actif ou Inactif (c'est déja le cas pour l'instant pour 1 seul GPIO à la fois) Pouvoir lancer deux fonctions différentes avec une seule commande vocale (par exemple lorsque je dis "Yana, douche" ma temporisation pour la pompe lance ses cycles et une temporisation différente pour allumer une lampe se lance en parallèle) Permettre de temporiser les GPIO selon des cycles en seconde ON/OFF prenant en compte l'état initial de mon GPIO. Ainsi la première durée entrée commence soit OFF, soit ON.

Parce qu'un dessin vos 1000mots, voici un petit tableau pour résumer cela! evolution commande vocale

Merci!!!

juliendiotworldtour commented 8 years ago

Salut @Charal , je reviens vers toi pour un nouveau projet grâce à Swtichi. J'aimerai grâce à lui pouvoir ajouter le verrouillage centralisé sur mon VITO car j'ai les moteurs déjà présent dans les portières mais je n'ai pas "l'option activée".

Pour cela j'utiliserai 3 relais (un pour l'alimentation et deux pour pouvoir inverser le courant dans les moteurs) et 4 contacteurs (2 présent pour chaque moteur afin de renvoyer l'information "fin de course Haut/bas") qui seront raccordées aux GPIO IN du Raspberry.

Voici donc mes questions: Est-ce que grâce à Switchi je peux: Définir la position dans laquelle doivent se trouver les relais (et donc le sens de rotation des moteurs) en fonctions des informations renvoyés par les contacteurs de course au RPI via les GPIO d'entrée? (Par exemple, si j'ai le contacteur de course bas enfoncé; le RPI comprend que la prochaine fois que je lancerai la commande, ce sera pour que le mécanisme aille déclencher le contacteur de course haute).

Définir l'enchaînement suivant:

Contacteur position bas enclenché (Réaction du RPI: ouvrir les relais d'inversion) Mes 2 relais d'inversion position ouvert (GPIO OUT) Commande vocale: Yana, allume porte" (Réaction du RPI: fermer le relai d'alimentation) Relai d'alimentation position fermé (GPIO OUT) Le courant circule dans les moteurs Relâchement du contacteur position bas (Réaction RPI: attente de l'info du contacteur position haute) Déplacement du verrou vers le haut Enclenchement contacteur position haut (Réaction du RPI: ouvrir relai d'alimentation + relais d'inversion en position fermé pour la prochaine commande) Relai d'alimentation position ouvert (GPIO OUT) Mes 2 relais d'inversion position fermé (GPIO OUT)

La commande inverse est la suivante:

Contacteur poistion haut enclenché (Réaction du RPI: fermer les relais d'inversions) Mes 2 relais d'inversion position fermé (GPIO OUT) Commande vocale:" Yana, ferme porte" (Réaction RPI: fermer relai d'alimentation) Relai d'alimentation position fermé (GPIO OUT) Le courant circule dans les moteurs dans l'autre sens Relâchement du contacteur position haute (Réaction RPI: attente de l'info du contacteur de position basse) Déplacement du verrou vers le bas Enclenchement contacteur position basse (Réaction RPI: ouvrir relai d'alimentation + relais d'inversion en position ouvert pour la prochaine commande) Relai d'alimentation position ouvert (GPIO OUT) Mes 2 relai d'inversion position ouvert (GPIO OUT)

Je me dis que le fonctionnement qui paraît complexe à première vu dois pouvoir fonctionner sur SWITCHI car ce plugin gère aussi bien plusieurs entrées/ sorties à la fois. Penses tu que ma logique peut bloquer quelque part? Est-ce que Switchi peut ouvrir des relais et en fermer d'autres et vice/versa en fonction des informations renvoyées par les capteurs de position?

Je risque un peu de m'arracher les cheveux pour les branchements mais si tu me confirmes que cela peut fonctionner, je passe à l'action rapidement!!! verrouillage centralise

Merci Charal

Charal commented 8 years ago

Salut Julien,

Alors là, j'ai des notions d’électroniques, mais tu m'as tué mdr!

Je ne suis pas sûr de tout comprendre, ce qui est sûr, c'est que tu peux créer plusieurs associations avec la même entrée ou la même sortie, comme si tu pouvais avoir 10 interrupteurs pour un ou plusieurs point d'éclairage, et inversement.

Donc si pour toi chaque sortie à déclencher, est le résultat d'un changement d'entrée, je ne vois pas le souci.

Par contre je pense qu'il faudrait que je sorte une nouvelle version, ou déjà on puisse changer les verbes, pour allume/éteint, et pouvoir préciser qu'elle doit être l'état de sortie pour allumer ou éteindre, pour ceux qui comme toi souhaite inverser les relais.

J'ai fait des tests hier sur la conso rpi et relais de ma board, en gros, mes 2 RPi consomme 4/5 W au total, mais quand les 32 relais s'active je passe a 15W, pour concerter les relais ouvert.

Donc plus tu éteins de relais plus ça retombe vers les 5W.

Il faudra que je regarde mieux, mais on est à moins de 0,4W par relais unitaire.

En attendant, je pense que tu peux tester, sans forcément câbler directement ta porte, tu configures les pins, et en fonction de comment doivent réagir les composants, tu envoies ou non du 3,3v sur tes entrées...Fait ça juste avec 3 led pour simuler en sortie tes relais, et pour les entrée soit des fils soit des interrupteurs...

Enfin je dis ça, vu le schéma, je t'apprends rien mdr.

Les relais ne seront pas encore en position inversé comme tu le souhaites, mais déjà si tu test, et que je sors une version de switchi avec l’état de sortie à renseigner, y a pas de raison que ça fonctionne pas.

Ce qui pourrait être pas mal c’est de créer une issues pour mon plugin, ou un sujet de discussion sur le Forum, on est en train de pourrir une issue qui n’a plus rien à voir :D

Bonne soirée et tient moi au courant.

@lex

----- Mail original -----

De: "juliendiotworldtour" notifications@github.com À: "ldleman/yana-server" yana-server@noreply.github.com Cc: "Charal" alex.rault@laposte.net Envoyé: Mardi 26 Janvier 2016 12:34:07 Objet: Re: [yana-server] amélioration de la table pilotant les GPIO (#157)

Salut @Charal , je reviens vers toi pour un nouveau projet grâce à Swtichi. J'aimerai grâce à lui pouvoir ajouter le verrouillage centralisé sur mon VITO car j'ai les moteurs déjà présent dans les portières mais je n'ai pas "l'option activée".

Pour cela j'utiliserai 3 relais (un pour l'alimentation et deux pour pouvoir inverser le courant dans les moteurs) et 4 contacteurs (2 présent pour chaque moteur afin de renvoyer l'information "fin de course Haut/bas") qui seront raccordées aux GPIO IN du Raspberry.

Voici donc mes questions: Est-ce que grâce à Switchi je peux: Définir la position dans laquelle doivent se trouver les relais (et donc le sens de rotation des moteurs) en fonctions des informations renvoyés par les contacteurs de course au RPI via les GPIO d'entrée? (Par exemple, si j'ai le contacteur de course bas enfoncé; le RPI comprend que la prochaine fois que je lancerai la commande, ce sera pour que le mécanisme aille déclencher le contacteur de course haute).

Définir l'enchaînement suivant:

Contacteur position bas enclenché (Réaction du RPI: ouvrir les relais d'inversion) Mes 2 relais d'inversion position ouvert (GPIO OUT) Commande vocale: Yana, allume porte" (Réaction du RPI: fermer le relai d'alimentation) Relai d'alimentation position fermé (GPIO OUT) Le courant circule dans les moteurs Relâchement du contacteur position bas (Réaction RPI: attente de l'info du contacteur position haute) Déplacement du verrou vers le haut Enclenchement contacteur position haut (Réaction du RPI: ouvrir relai d'alimentation + relais d'inversion en position fermé pour la prochaine commande) Relai d'alimentation position ouvert (GPIO OUT) Mes 2 relais d'inversion position fermé (GPIO OUT)

La commande inverse est la suivante:

Contacteur poistion haut enclenché (Réaction du RPI: fermer les relais d'inversions) Mes 2 relais d'inversion position fermé (GPIO OUT) Commande vocale:" Yana, ferme porte" (Réaction RPI: fermer relai d'alimentation) Relai d'alimentation position fermé (GPIO OUT) Le courant circule dans les moteurs dans l'autre sens Relâchement du contacteur position haute (Réaction RPI: attente de l'info du contacteur de position basse) Déplacement du verrou vers le bas Enclenchement contacteur position basse (Réaction RPI: ouvrir relai d'alimentation + relais d'inversion en position ouvert pour la prochaine commande) Relai d'alimentation position ouvert (GPIO OUT) Mes 2 relai d'inversion position ouvert (GPIO OUT)

Je me dis que le fonctionnement qui paraît complexe à première vu dois pouvoir fonctionner sur SWITCHI car ce plugin gère aussi bien plusieurs entrées/ sorties à la fois. Penses tu que ma logique peut bloquer quelque part? Est-ce que Switchi peut ouvrir des relais et en fermer d'autres et vice/versa en fonction des informations renvoyées par les capteurs de position?

Je risque un peu de m'arracher les cheveux pour les branchements mais si tu me confirmes que cela peut fonctionner, je passe à l'action rapidement!!!

Merci Charal

— Reply to this email directly or view it on GitHub .

juliendiotworldtour commented 8 years ago

Je crée une nouvelle issue en reprenant mon texte !

zb2oby commented 8 years ago

Hello. J'ai une install un peu similaire avec des relais filaires. Pour utiliser plusieurs gpio j'ai utilisé combo-relay que j'ai légèrement modifié pour mon installation et ça marche tres bien. Autre chose pour garder mes inter physiques il suffit de brancher en va et bien. J'ai même jumpé deux relai afin de créer un permutateur pour garder deux inter physiques en plus du vocal sur une ligne de lumière et ca fonctionne. Apres est-ce que c'est bon pour le relai je ne sais pas..

rasmila commented 8 years ago

hello, i don't know if i am in the right topic, but i want to use YANA to control an autonomous robot based on my RPI2, i want to make YANA execute a command line on the PI to start the robot program but i can't. i used the speech commands to add the command i wanted but even if YANA hears what i say it does nothing. in order to see if i am right or wrong i tried to add other talk commands and they work fine, i tried to add a client command to open notepad but i can't see anything happening, maybe i don't really get how YANA works. can anyone explain to me how YANA should respond if i ask for example to execute the terminal command "ls" should i see anything happening ??