Page 1 sur 4

[Tuto] Extension du réseau GPIO par MCP23017 et/ou relais USR-R16

Publié : 11 mars 2019, 15:04
par Elwinmage
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...)
Gerber_MCP23017_Listener_v5_20190311142549.zip
Le PCB de la carte
(26.54 Kio) Téléchargé 571 fois


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
-----------
relay.plugin.py
Plugin python relay, à mettre dans le répertoire plugins/relay et à renommer plugin.py
(24.05 Kio) Téléchargé 436 fois
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
--------------
MCP23017.plugin.py
Plugin python MCP23017 listener, à mettre dans le répertoire plugins/MCP23017_Listener et à renommer plugin.py
(11.77 Kio) Téléchargé 486 fois
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

Publié : 25 juin 2019, 17:50
par nicoboy
Bonjour,
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

Publié : 01 juil. 2019, 11:05
par Elwinmage
Voici les dernières versions

Re: Extension du réseau GPIO par MCP23017 et/ou relais USR-R16

Publié : 01 juil. 2019, 11:06
par Elwinmage
Et la suite :D

Re: Extension du réseau GPIO par MCP23017 et/ou relais USR-R16

Publié : 02 juil. 2019, 13:28
par mickaelr30
Pas mal du tout ça
Merci

Re: Extension du réseau GPIO par MCP23017 et/ou relais USR-R16

Publié : 28 août 2020, 08:00
par bipbip59
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

Publié : 28 août 2020, 11:28
par Elwinmage
La dernière version des plugins est sur Github: https://github.com/Elwinmage
et voici les images :
PCB_MCP23017_Listener_v5_2020-08-28_14-24-27.png
PCB_MCP23017_Listener_v5_2020-08-28_14-24-27.png (67.48 Kio) Consulté 6096 fois
Schematic_Listener_v4_2020-08-28_11-27-06.png
Schematic_Listener_v4_2020-08-28_11-27-06.png (107.6 Kio) Consulté 6110 fois

Re: Extension du réseau GPIO par MCP23017 et/ou relais USR-R16

Publié : 28 août 2020, 14:28
par Elwinmage
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

Publié : 31 août 2020, 09:21
par bipbip59
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 !

Re: Extension du réseau GPIO par MCP23017 et/ou relais USR-R16

Publié : 03 sept. 2020, 13:51
par bipbip59
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