Extension de ports GPIO

Forum dédié aux questions concernant la configuration de votre serveur sous Linux
Nicogluck
Messages : 112
Inscription : 24 nov. 2014, 14:54

Re: Extension de ports GPIO

Message par Nicogluck »

Salut Neutrino,

Je reviens sur ce topic que j'ai laissé de côté pendant quelques temps.
Je vais bientôt préparer ma plaque d'essais avec quatre 74HC595, pour avoir 32 sorties.
En attendant, j'essaie d'adapter les scripts à ma future installation, mais il y a un détail que je ne saisi pas : comment dois-je lier un switch qui a changé d'état avec l'action à exécuter en conséquence ?

Je vois bien par exemple, dans le script script_device_registre.lua:

Code : Tout sélectionner

(...) if(devicechanged[switch]=='On')then (...)
Je sens bien que ça se passe par là, mais comment puis-je indiquer lequel de mes 32 switches a été activé ?

A part ça, je pense pouvoir m'en sortir... normalement. :?
Merci beaucoup !
Synology DS415play / RFXCom / récepteurs 433 / sondes temp+hygro Oregon / cartes relais Sainsmart
patrice
Messages : 1720
Inscription : 22 sept. 2014, 21:51

Re: Extension de ports GPIO

Message par patrice »

Bonsoir
Les GPIO sont vu comme des switches à toi de les nommer comme bon te semble puis de les appeler par Lua en utilisant ce nom que tu as donné

if(devicechanged[GPIO_Volet1]=='On')then (...)
if(devicechanged[GPIO_Volet2]=='On')then (...)
if(devicechanged[GPIO_Store]=='On')then (...)
Raspberry pi 3, Dongle RfxCom et Zigate +, plugin de pipiche, Volets Roulants profalux, contrôle d'éclairage, détecteurs de présence, alarme incendie, pilotage livebox ...
Objectif : WAF > 1
Nicogluck
Messages : 112
Inscription : 24 nov. 2014, 14:54

Re: Extension de ports GPIO

Message par Nicogluck »

Désolé, j'ai mal formulé ma question... C'est juste la transposition à mon cas personnel qui n'est pas très simple.

J'ai bien compris que chaque sortie était pilotée en fonction des différents switches définis au début du script_device_registre.lua.
Ma complication réside dans le fait que je voudrais utiliser un seul switch sélecteur à 4 positions (et non 2 switches) pour piloter 2 sorties :
  • Niveau 0 : 0 0
    Niveau 1 : 0 1
    Niveau 2 : 1 0
    Niveau 3 : 1 1
Et là, je sèche vraiment... :|
Synology DS415play / RFXCom / récepteurs 433 / sondes temp+hygro Oregon / cartes relais Sainsmart
Neutrino
Messages : 2662
Inscription : 10 juil. 2015, 15:42
Localisation : Les Herbiers(85)

Re: Extension de ports GPIO

Message par Neutrino »

Salut Nicogluck
ça se joue plus haut dans le script :

Code : Tout sélectionner

local leds = {}
--leds[Numéro de la sortie sur le 75hc595]='Interrupteur correspondant dans Domoticz'
leds[1]='LED rouge'
leds[2]='LED orange'
leds[3]='LED verte'
leds[4]='LED bleue'
leds[5]='Ecran LCD'
leds[6]='LED blanche'
leds[7]=''
leds[8]=''
Je pensais que les commentaires étaient assez explicites... :(
Dans ton cas, au lieu de t'arrêter à leds[8]='', tu continues jusqu'à leds[32]=''
Entre chaque ' tu mets le nom de ton interrupteur.
Ma maison à plein d'IP ! :mrgreen:
SAV Bonjour. Vous avez vidé le cache ?
Nicogluck
Messages : 112
Inscription : 24 nov. 2014, 14:54

Re: Extension de ports GPIO

Message par Nicogluck »

Comme indiqué dans mon dernier message, ok pour ça, pas de problème. Je me suis mal exprimé. Tes commentaires sont très clairs (merci encore).
Mais plutôt que d'utiliser un système "1 switch = 1 sortie", je cherche à utiliser "1 switch = 2 sorties" par le biais d'un switch sélecteur à 4 niveaux au lieu de 2 switches.
Dernière modification par Nicogluck le 19 avr. 2016, 22:55, modifié 3 fois.
Synology DS415play / RFXCom / récepteurs 433 / sondes temp+hygro Oregon / cartes relais Sainsmart
Neutrino
Messages : 2662
Inscription : 10 juil. 2015, 15:42
Localisation : Les Herbiers(85)

Re: Extension de ports GPIO

Message par Neutrino »

J'ai posté avant de voir ta question sur le selector :lol:

Si tu veux utiliser un selector, je serais d'avis de créer d'abord les 32 interrupteurs.
Ensuite un selector qui déclenche un script device et pilote les bons interrupteurs.
Dernière modification par Neutrino le 19 avr. 2016, 23:05, modifié 1 fois.
Ma maison à plein d'IP ! :mrgreen:
SAV Bonjour. Vous avez vidé le cache ?
Nicogluck
Messages : 112
Inscription : 24 nov. 2014, 14:54

Re: Extension de ports GPIO

Message par Nicogluck »

Pas cool... :cry:
Je commence à avoir déjà pas mal de switches, j'aurais bien évité d'en ajouter 32 de plus.

A moins d'utiliser des variables utilisateurs... ? ;)

Du genre :
  1. On définit la liste des switches,
  2. On modifie une variable utilisateur correspondante au switch actionné,
  3. On modifie le registre en fonction de la variable utilisateur et non en fonction du switch.
Bon, je cogite là-dessus...
Synology DS415play / RFXCom / récepteurs 433 / sondes temp+hygro Oregon / cartes relais Sainsmart
Neutrino
Messages : 2662
Inscription : 10 juil. 2015, 15:42
Localisation : Les Herbiers(85)

Re: Extension de ports GPIO

Message par Neutrino »

Sinon, tu peux placer tes 32 switchs dans $Hidden Devices.
Ils seront cachés et ne t’embêteront plus.

Dans cette histoire, j'ai l'impression qu'on prend le problème à l'envers.
En fait, qu'elle est ton but ?
Si c'est piloter des chauffage via leur fil pilote, est-il nécessaire de les piloter tous indépendamment ?

Après, je comprends tout à fait l'envie de bidouiller et la réponse "oui, parce que je veux que quand belle maman viens dormir à la maison, le chauffage de sa chambre et seulement sa chambre passe en hors gel" me conviendra tout à fait :mrgreen:
Ma maison à plein d'IP ! :mrgreen:
SAV Bonjour. Vous avez vidé le cache ?
Nicogluck
Messages : 112
Inscription : 24 nov. 2014, 14:54

Re: Extension de ports GPIO

Message par Nicogluck »

"$Hidden Devices" ?? Mais bien sûr !!
Ca résout mon problème ! Merci !

Pour la question subsidiaire, oui, je peux comprendre que ça puisse paraître pour de la masturbation intellectuelle. Mais pas tant que ça, crois-moi. Il ne s'agit pas d'un château, mais pas d'un 2-pièces non plus. Chauffer juste le nécessaire, c'est l'objectif.

Allez, je m'y colle ! :P
Synology DS415play / RFXCom / récepteurs 433 / sondes temp+hygro Oregon / cartes relais Sainsmart
Nicogluck
Messages : 112
Inscription : 24 nov. 2014, 14:54

Re: Extension de ports GPIO

Message par Nicogluck »

Décidément, il y a toujours un obstacle que je n'arrive pas à franchir ! :o

Je prépare maintenant le côté matériel.
A l'installation de wiringPi (en suivant le tuto http://www.pobot.org/Entrees-sorties-GP ... berry.html), tout se passe plutôt bien jusqu'à obtenir l'erreur suivante :

Code : Tout sélectionner

pi@raspberrypi:~/gpio/wiringPi/gpio$ sudo make install
[Compile] gpio.c
gpio.c:40:23: fatal error: gertboard.h: Aucun fichier ou dossier de ce type
 #include <gertboard.h>
                       ^
compilation terminated.
Makefile:59: recipe for target 'gpio.o' failed
make: *** [gpio.o] Error 1
Pourtant, je suis les indications à la lettre ! (j'vous jure ! :?)
Ca vous inspire ?
Synology DS415play / RFXCom / récepteurs 433 / sondes temp+hygro Oregon / cartes relais Sainsmart
Répondre