Go Down

Topic: Serveur relais quasi illimité interactif (Read 1 time) previous topic - next topic

iznobe

Aug 03, 2017, 10:58 pm Last Edit: Aug 04, 2017, 12:45 pm by iznobe
Bonsoir , voila un serveur interactif de relais qui peut supporter jusqu ' a 2000 relais commandé par internet en local ou de l' exterieur ( avec DNS ou IP fixe externe ) .

Je tiens a preciser que le code principal n ' est pas de moi , c ' est notre ami J-M-L qui l ' a gracieusement mis a disposition dans son tuto de serveur web interactif sur le forum .

Moi je n ' ai qu ' ajouter la partie pour gerer les relais et adapter le code principal pour arduino mega 2560 avec shield ethernet 2 a base de chipset wiznet 5500 autant dire pas grand chose  :smiley-mr-green:  puisque J-M-L avait deja pratiquement tout codé ^^ il m ' aurait fallu que 4 ou 5 ans pour arriver a refaire ce genre de chose ...
Le code est en Piece Jointe a la fin du post  mais il ne comprend pas la prise en charge des 74HC95 .( peut gerer avec quelques modifs 60 relais , sans modification 46 relais )

En tout cas un grand merci pour votre tuto qui va pouvoir me regaler et avec je vais pouvoir domotiser ma maison et epater la galerie  :smiley-lol:



J-M-L

Merci pour le partage

Je jetterais un œil un peu plus approfondi dessus mais je suggèrerai de

- ne pas mettre 2000 pour le nombre de relais dans le code de demo vu qu'il ne gère pas le contrôle des pins autres que celles existantes et que ça prend beaucoup de mémoire pour rien donc

- comme votre code n'écoutera que des requêtes pour les relais vous pouvez changer
Code: [Select]
const char * labelsOfInterest[] = {"LED", "V", "W", "R"}; par
Code: [Select]
const char * labelsOfInterest[] = {"R"}; puisque rien d'autre ne devrait être envoyé par la page web et donc pas la peine non plus d'avoir des variables long V = 0, W = 0; juste la variable R serait nécessaire sans doute et bien sûr enlever dans la page web V,W, et la led

- vous avez commenté
Code: [Select]
// cause erreur IDE    int commandLength = strlen(urlCommand); en effet c'est une variable que je n'utilise pas dans cette fonction, ce n'est pas une erreur dans l'IDE juste un warning qui dit que le compilateur en fait va virer cela pour vous :) mais effectivement autant le commenter
Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums
Pas de messages privés SVP

iznobe

#2
Aug 04, 2017, 10:05 am Last Edit: Aug 04, 2017, 12:45 pm by iznobe
Bonjour , j ' ai passé a 16 le nombre relais , uniformiser l ' ecriture des constantes en maj , et fais les corrections que vous avez demandés .

Il reste que j ' ai oublié la fonction de reset des relais ... que je ferais un peu plus tard .

et du coup bien sur , j ' ai re-edité le fichier piece jointe .

Edit : pas trouvé mieux pour reset la configuration des relais ...

Mise a jour de la piece jointe .

Titof2375

#3
Aug 07, 2017, 06:15 pm Last Edit: Aug 07, 2017, 07:57 pm by Titof2375
Bonjour,
J'utiliserais votre programme pour conduire des volets roulants. Est-il possible avec une minuterie de varier la durée de la mise en service des relais?

bricoleau

Bonjour

Ne perds pas de vue que la principale difficulté technique d'un tel projet, réside dans la maîtrise des aspects purement électriques.

Arduino + relais = courants faibles + courants forts

Sur le plan purement logiciel, piloter n sorties de l'arduino n'est pas le plus dur.
Par contre, assurer derrière une parfaite isolation et indépendance des circuits, une alimentation des relais dont la puissance doit être correctement dimensionnée, sans parasites qui remontent depuis les circuits de puissance vers l'arduino, ça c'est le plus délicat.

Par ailleurs, il faut absolument rappeler en permanence que jouer avec des courants forts est potentiellement dangereux. Pas question d'avoir des montages approximatifs en aval de l'arduino.

Tu trouveras par exemple sur le forum des écrits très précis de _pepe_ sur ces sujets
Tutoriels arduino : http://forum.arduino.cc/index.php?topic=398112.0

iznobe

Bonjour,
J'utiliserais votre programme pour conduire des volets roulants. Est-il possible avec une minuterie de varier la durée de la mise en service des relais?
Bonjour oui bien sur , grace a la fonction millis () ou bien une biliotheque doit exister me semble t il .

Il est evident que le 220 Volts presente des risques importants , il faut faire ses branchements soigneusement , dans des boitiers electriques completements isolés et en ayant coupé le courant bien entendu .

J-M-L

Si vous utilisez millis pour attendre ou delay ça va empêcher d'écouter le web... faut une machine à état
Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums
Pas de messages privés SVP

Go Up