Page 1 sur 1

Relais domoticz (inversé et boot)

Posté : jeu. 8 mars 2018 14:57
par miralant
Bonjour à tous,

En introduction, je suis actuellement développeur (mais pas linux :o > .Net) mais j'ai une formation en elec/telecom (bien lointaine).
et comme il faut bien commencer un jour, je me suis lancé dans un petit projet qui me tentait depuis longtemps. Une domotique "simple" + monitoring de ma piscine.
J'ai déjà 2 PI3 à la maison sur les TV (KODI + NAS) et Recallbox qui tournent comme des horloges.

J'ai mis Domoticz sur un Pi 0 w et j'ai acheté une carte relais (https://fr.aliexpress.com/item/With-opt ... 0.0.G0uOTd) pour piloter un moteur.

La commande du relais fonctionne bien mais la commande est "inversée". Je m'explique :D

J'ai configuré mon GPIO (BCM 22) en sortie.

> OFF domoticz > GPIO = 0 > LED de la carte relais allumée > Colle le relais
> ON domoticz > GPIO = 1 > LED de la carte relais éteinte > Mets le relais sur sa position de repos (la je ne suis dit bizarre, j'aurai fait l'inverse :D ). J'ai donc mis mon moteur la ou le relais en fermé sur le ON Domoticz.

Jusque la je me dis nickel. Le soucis est que lorsque je reboot le pi, les gpios prennent un état "intermédiaire" et me font mettre le moteur allumé :(

Il y a une notion active_low sur les GPIOs mais je peche un peu. Merci pour votre aide

Re: Relais domoticz (inversé et boot)

Posté : jeu. 8 mars 2018 20:32
par Bud Spencer
miralant a écrit :...je suis actuellement développeur (mais pas linux :o > .Net)...
Et alors, ou est le problème ? La majeure partie des techs .Net tournent aussi sous Linux y compris sur un PI, faut juste le savoir ;)

Re: Relais domoticz (inversé et boot)

Posté : jeu. 8 mars 2018 21:06
par domi
Bonjour,

Certains relais fonctionnent "a l'envers" si on peut dire. Il est souvent noté "Low level trigger" sur leur circuit, ou dans la description du site d'achat.
C'est a dire qu'a l'état "0" ils sont collés, à l'état "1" ils sont au repos.

J'avais déjà expliqué comment je procède dans ce post.

++

Re: Relais domoticz (inversé et boot)

Posté : ven. 9 mars 2018 08:27
par miralant
Je ne comprends pas ta remarque. On a pas tous le même socle technique et heureusement. Disons que je sais bidouiller sous linux mais que je ne suis pas expert...

Merci Domi pour ta réponse, je vais essayer de mettre en place la config de ton post. cette config est à faire dans /etc/rc.local ou dans /etc/init.d/domoticz.sh ?

Re: Relais domoticz (inversé et boot)

Posté : ven. 9 mars 2018 12:46
par Bud Spencer
miralant a écrit :Je ne comprends pas ta remarque...
Elle était juste informative au cas où. Ton expression supposait que tu développes en .Net donc pas pour linux. C’est très commun, plein de gens sont encore convaincus que les techs .Net sont réservées exclusivement aux systèmes windows, ce qui n’est absolument pas le cas. Si tu as des compétences .Net (VB.Net, C#, ASP, F# ect …) , tu peux tout à fait les mettre à profit pour développer des applications console, desktop ou web dans ton langage favori et depuis ton environnement de travail habituel (j’imagine un pc windows et un visual studio) et les faire tourner sous linux y compris sur un PI qui est sous raspbian.

Re: Relais domoticz (inversé et boot)

Posté : ven. 9 mars 2018 14:01
par miralant
J'avoue que je ne savais pas. Je pensais le code .net pouvait uniquement tourner sur un environnement windows. Je vais me documenter un peu alors :roll:

Re: Relais domoticz (inversé et boot)

Posté : sam. 10 mars 2018 12:13
par Bud Spencer
miralant a écrit :J'avoue que je ne savais pas. Je pensais le code .net pouvait uniquement tourner sur un environnement windows.
C’est bien ce que j’avais compris, d’où la pertinence de ma remarque.

Quelques pistes pour commencer :

http://www.mono-project.com/
https://docs.microsoft.com/fr-fr/dotnet/core/

Si tu débutes en .Net, pour de l’appli gui, tu peux utiliser Mono et pratiquement tous les contrôles compatible Winforms 2.0. Il te suffit de développer ton appli avec VS sous windows comme tu as l’habitude de le faire et une fois terminé, tu copie l’.exe et tes références spécifiques sur le Pi et tu le lances avec une commande ‘mono monprogramme.exe’, tout simplement.

Install de Mono pour raspbian : http://www.mono-project.com/download/st ... n-raspbian

Pour interagir avec les GPIO, tu peux sans problème wrapper la lib wiringPI ou la bcm2835 avec DLLImport (tout comme n’importe quelle autre lib compilé pour linux ). Il existe aussi déjà des wrapper tout fait pour ça, mais c’est moins rigolo ;-)

un Wrapper WiringPi tout fait : https://github.com/EvilVir/WiringPi.NET

Un petit exemple que j'avais fait pour bencher la SPI depuis une appli mono winform : viewtopic.php?f=22&t=3636&p=22675&hilit=mcp3208#p22675

Re: Relais domoticz (inversé et boot)

Posté : lun. 12 mars 2018 22:28
par tartiff01
Bonjour miralant
Je suis en train de faire un montage pour éviter les états "intermédiaire". En fait j utilise un gpio qui allumait une led lorsque le pi à démarré. À la place de la led, j ai mis un optocoupleur qui coupe le gnd entre le pi et la carte relais tant que celui-ci n a pas fini de démarrer.
Je posterai un schéma des que j aurais fini les tests

Re: Relais domoticz (inversé et boot)

Posté : mar. 13 mars 2018 07:43
par domi
miralant a écrit :Merci Domi pour ta réponse, je vais essayer de mettre en place la config de ton post. cette config est à faire dans /etc/rc.local ou dans /etc/init.d/domoticz.sh ?
Bonjour,
C'est dans le rc.local

Re: Relais domoticz (inversé et boot)

Posté : mar. 13 mars 2018 08:25
par miralant
tartiff01 a écrit :Bonjour miralant
Je suis en train de faire un montage pour éviter les états "intermédiaire". En fait j utilise un gpio qui allumait une led lorsque le pi à démarré. À la place de la led, j ai mis un optocoupleur qui coupe le gnd entre le pi et la carte relais tant que celui-ci n a pas fini de démarrer.
Je posterai un schéma des que j aurais fini les tests
Oui, je veux bien stp.