[Tuto] Extension du réseau GPIO par MCP23017 et/ou relais USR-R16
[Tuto] Extension du réseau GPIO par MCP23017 et/ou relais USR-R16
J'ai développé une carte électronique à base de MCP23017 permettant d'étendre le nombre de port IO sous raspberry.
On peut l'utiliser sous différentes formes:
- pour commander 16 relais
- pour récupérer le statu de 16 entrées (interrupteur, capteur de courant, capteur de fuite d'eau, capteur à effet de Hal...)
- ou mixer 8 relais et 8 entrées.
Cette carte dispose aussi d'une extension pour le W1 DS18B20.
On peut en utiliser plusieurs piloteés par un seul RPI, en plus des composants i2C et le tout avec la possibilité d'étendre le bus i2C à 30m (P82B715P/ testé sur 25m)
Ci-après le schéma du circuit. Si cela vous intéresse n'hésitez pas à me contacter je vous expliquerais comment la mettre en ouvre suivant vos besoins (DSB18B20 ou non, extension à 30m ou non, mode hybride...)
Côté logiciel j'ai donc développé deux plugins: relay et listener pour gérer tout ça. On peut les utiliser pour n'importe quelle communication avec un MCP23017 et pas forcément avec ma carte.
Il faut au minimum du python 3 et la version 4.9788 de Domoticz.
A] RELAY
----------- Pour les relais on peut définir des on/off, des systèmes à impulsion (pour des télérupteurs ou contacts secs par exemple), des sélecteurs (va et viens, à coupler avec un retour du courant donc avec un listener ci-aprés) ou gérer un ou des chauffage par PID (intégrer au plugin) avec couplage automatique à la température de la pièce quand elle existe.
Le plugin prends également en compte les cartes relais ethernet USR-R16.
B] LISTENER
-------------- Le listener permet de lire une entrée qui peut être:
- un capteur de courant (par exemple: https://fr.aliexpress.com/item/1-road-2 ... 91300.html)
- un détecteur de fuite (un circuit ouvert posé au sol)
- un interrupteur
- un capteur à effet de hal
- ...
bref tout ce qui retourne un signal 0 ou +VCC.
On peut utiliser les interruptions pour pouvoir notifier au plus vite d'un changement d'état ou se contenter de polling avec fréquence modifiable.
Le plugin gère également l'inversion de l'interprétation logique au niveau PIN.
On peut l'utiliser sous différentes formes:
- pour commander 16 relais
- pour récupérer le statu de 16 entrées (interrupteur, capteur de courant, capteur de fuite d'eau, capteur à effet de Hal...)
- ou mixer 8 relais et 8 entrées.
Cette carte dispose aussi d'une extension pour le W1 DS18B20.
On peut en utiliser plusieurs piloteés par un seul RPI, en plus des composants i2C et le tout avec la possibilité d'étendre le bus i2C à 30m (P82B715P/ testé sur 25m)
Ci-après le schéma du circuit. Si cela vous intéresse n'hésitez pas à me contacter je vous expliquerais comment la mettre en ouvre suivant vos besoins (DSB18B20 ou non, extension à 30m ou non, mode hybride...)
Côté logiciel j'ai donc développé deux plugins: relay et listener pour gérer tout ça. On peut les utiliser pour n'importe quelle communication avec un MCP23017 et pas forcément avec ma carte.
Il faut au minimum du python 3 et la version 4.9788 de Domoticz.
A] RELAY
----------- Pour les relais on peut définir des on/off, des systèmes à impulsion (pour des télérupteurs ou contacts secs par exemple), des sélecteurs (va et viens, à coupler avec un retour du courant donc avec un listener ci-aprés) ou gérer un ou des chauffage par PID (intégrer au plugin) avec couplage automatique à la température de la pièce quand elle existe.
Le plugin prends également en compte les cartes relais ethernet USR-R16.
B] LISTENER
-------------- Le listener permet de lire une entrée qui peut être:
- un capteur de courant (par exemple: https://fr.aliexpress.com/item/1-road-2 ... 91300.html)
- un détecteur de fuite (un circuit ouvert posé au sol)
- un interrupteur
- un capteur à effet de hal
- ...
bref tout ce qui retourne un signal 0 ou +VCC.
On peut utiliser les interruptions pour pouvoir notifier au plus vite d'un changement d'état ou se contenter de polling avec fréquence modifiable.
Le plugin gère également l'inversion de l'interprétation logique au niveau PIN.
Re: Extension du réseau GPIO par MCP23017 et/ou relais USR-R16
Bonjour,
je serai intéressé par ces fichiers mais ils ne sont plus en ligne
serai il possible de les re uploader?
je serai intéressé par ces fichiers mais ils ne sont plus en ligne
serai il possible de les re uploader?
Re: Extension du réseau GPIO par MCP23017 et/ou relais USR-R16
Voici les dernières versions
- Pièces jointes
-
Relay.plugin.py- (24.22 Kio) Téléchargé 403 fois
-
MCP23017.plugin.py- (11.77 Kio) Téléchargé 432 fois
Re: Extension du réseau GPIO par MCP23017 et/ou relais USR-R16
Et la suite 
- Pièces jointes
-
- Gerber_MCP23017_Listener_v5_20190311142549.zip
- (26.54 Kio) Téléchargé 443 fois
-
mickaelr30
- Messages : 210
- Inscription : 29 août 2015, 15:57
Re: Extension du réseau GPIO par MCP23017 et/ou relais USR-R16
Pas mal du tout ça
Merci
Merci
Domoticz + Imperihome + Mydomoathome
1-wire : 12 DS18b20 + 3 DS2413
Z-Wave : 8 FGR221 + 3 FGS222 + 3 FGSD002
téléinfo : 2 modules ( consommation + production)
Mysensors+2 éclairages ws2812 et WLED
2 caméra IP +1 raspberry piscine + 1 nuc domoticz
1-wire : 12 DS18b20 + 3 DS2413
Z-Wave : 8 FGR221 + 3 FGS222 + 3 FGSD002
téléinfo : 2 modules ( consommation + production)
Mysensors+2 éclairages ws2812 et WLED
2 caméra IP +1 raspberry piscine + 1 nuc domoticz
Re: Extension du réseau GPIO par MCP23017 et/ou relais USR-R16
Sympa aussi, par contre j'ai par trouvé le schéma, en fait je connais pas trop le format des fichiers. Tu n'aurais pas en pdf stp ?
Re: Extension du réseau GPIO par MCP23017 et/ou relais USR-R16
La dernière version des plugins est sur Github: https://github.com/Elwinmage
et voici les images :
et voici les images :
Re: Extension du réseau GPIO par MCP23017 et/ou relais USR-R16
J'ai corrigé le premier png avec la dernière version, c'est plus propre
.
Re: Extension du réseau GPIO par MCP23017 et/ou relais USR-R16
Merci pour le partage, je vais étudier cela.
Ça me plait bien !!! J'ai déjà un 23017 que j'ai acheté sur ali mais je ne savais pas comment l'utiliser dans domoticz. Je vais essayer de le câbler sur le raspberry en volant, et utiliser ton plugin dans un premier temps. Et si j'y arrive, je m'inspirerais de ton schéma.... mais une chose à la fois !
Ça me plait bien !!! J'ai déjà un 23017 que j'ai acheté sur ali mais je ne savais pas comment l'utiliser dans domoticz. Je vais essayer de le câbler sur le raspberry en volant, et utiliser ton plugin dans un premier temps. Et si j'y arrive, je m'inspirerais de ton schéma.... mais une chose à la fois !
Re: Extension du réseau GPIO par MCP23017 et/ou relais USR-R16
Je viens de tester avec ton module "relay" et c'est OK. Bravo.
J'ai juste du faire un
sudo apt-get install python3-smbus
pour que ce soit OK .
Merci
J'ai juste du faire un
sudo apt-get install python3-smbus
pour que ce soit OK .
Merci