Gérer plusieurs arduinos depuis une seule

Bonjour à tous,

J'ai comme projet de créer une sorte de montage domotique.

J'aimerais, depuis une interface utilisateur ou depuis un logiciel, rentrer des données afin de réaliser différents actions. Je sais que ce n'est pas très clair je vais donc m'exprimer en exemple.

J'aimerais que via un logiciel je dise : Allume moi le ventilateur à 12:36, allume moi la lumière à 13:07, etc..
Il faudrais que tout ce fasse sans fil.

Le problème c'est que je ne vois pas comment m'y prendre, comment depuis une interface utilisateur créer du code, comment envoyer les requêtes aux arduinos "esclaves"..

Ah oui, difficulté supplémentaire, je n'ai pas internet, je ne peux donc pas passer par du Wi-Fi..

Merci d'avance pour vos réponses.

Bonjour,

DGAS:
Ah oui, difficulté supplémentaire, je n'ai pas internet, je ne peux donc pas passer par du Wi-Fi..

Tu n'es pas obligé d'avoir Internet pour avoir du Wifi...
Concrètement, est-ce que l'ordinateur depuis lequel tu vas envoyer ces commandes est capable de se connecter à du Wifi ?

Non, l'ordinateur n'en sera pas capable.

Tu te compliques la vie... Et en branchant une clé Wifi sur l'ordi ?

Oui, ça peux se faire

Donc tu peux te créer un réseau local en Wifi sur lequel tout le monde serait connecté, ça serait plus simple... à condition que tout le monde soit à portée de ce réseau (ce qui peut ne pas être le cas si ta maison est grande et/ou si elle a des murs épais).
Dans le cas contraire, il faudra utiliser des modules radio. Mais tu peux aussi partir directement sur des modules radio et ne pas faire de Wifi.

La difficulté, ce n'est pas l'interface de pilotage car il y a des choses qui existent.

Il y a t’il beaucoup de chose à gérer sur chaque esclaves?

Un bon composant pour ça: l’esp8266, de sorte de mini-arduino qui se code en C via l’IDE Arduino avec le wifi intégré.

Non, chaque esclave gèrera un seul périphérique, ventilateur, lampe, etc..

Donc l'esp8266 suffira je pense, il faudra donc un réseau local en Wi-Fi et tous mes appareils connectés dessus.

Je voudrais que tout cela soit modulable, que je puisse ajouter un nouvel appareil seulement en le branchant à un esp avec un relais, et en configurant tout ça depuis le logiciel dont je parlais plus tôt, en gros, je veux pouvoir ajouter un appareil et modifier ses conditions de mise en marche sans toucher à une ligne de code par la suite..

Merci pour votre aide

Il faut donc que tout soit prévu dans le code de l'ESP8266 pour ça. A partir du moment où l'interface avec le monde extérieur sera toujours la même (un relais), ça ne devrait pas poser de problème.

Justement j'ai du mal à voir comment faire que ça soit modulaire dans le code de l'ESP..

Il faudrais que je lui assigne un ID pour que seule cette ESP reçoive les requête qui lui sont destinées non ?

Mais si je dois lui assigner un ID ça veux dire que je dois changer le code à chaque ESP ce qui n'est pas mon but..

Merci encore pour votre aide

Je ne vois pas comment on pourrait se passer d'un identifiant différent dans chaque ESP qui doit recevoir des ordres, mais d'autres auront peut-être des idées.

Mais bon, de toute façon tu dois un jour ou l'autre les programmer les uns après les autres, même si tu devais leur donner un code strictement identique. Ce n'est donc pas un gros effort de changer juste un identifiant à ce moment-là

L'adresse MAC d'un équipement réseau est unique

Donc je résume..

Une arduino "maitre" connectée au PC avec un ESP pour qu'elle est accès au Wi-Fi

Mes esclaves, des ESP, disposant chaqu'un d'un ID et d'un relais avec le pseudo code suivant :

IF REQUETE_COMMENCANT_PAR_MON_ID THEN ALLUMER_RELAIS

Chaque ESP sera connecté sur le réseau local du PC

Hmm, j'ai rien oublié ?

Bonjour,

Pour esp : Identifiant par micro-switch ou à l’aide de 3 boutons…
1° bouton pour passer en mode programmation et 2° et 3° pour coder 0 et 1 : Pour 1octet, 255 périphériques adressables…