Bonjour,
Je ne suis pas le premier ni ne serais le dernier à me lancer dans ce type de projet.
J'ai acheté mon premier Arduino (un Ethernet R3), il y a un mois.
J'ai déjà fait un peu de programmation en bash et VB mais jamais en C.
A part U=RI et P=UI en courant continu, je ne connais pas grand chose en électronique.
Je suis autodidacte et "google-ise" beaucoup pour m'auto-former, mais malgré cela l'aide des membres d'un forum est indispensable.
Je souhaite partager mes avancées afin qu'elles profitent à d'autres membres.
Le projet est d'installer un clavier matriciel (en l'occurrence 4x4) à chaque niveau de ma maison, soit un au garage, un au RDC et un à l'étage. Chaque clavier sera relié à un Arduino Ethernet POE. Le choix du POE permet d'avoir à amener qu'un seul câble. Un buzzer sera aussi relié à la carte afin de confirmer par un bip la bonne prise en compte de chaque appui sur les touches du clavier et de confirmer par 4 bips la bonne prise en compte de la commande par l'Arduino distant. D'autres Arduino seront positionnés à côté des organes à commander (Porte de garage, portails, volets roulants, etc...).
Le mode communication se fera par des trames UDP en broadcast sur un sous réseau uniquement occupé par les cartes Arduino et une machine sous Linux chargé de loggé les trames UDP et d'envoyer des comptes rendus d'action par SMS. Des commandes pourront aussi être passées par SMS.
Voici l'ébauche du protocole de communication dans la partie DATA des trames UDP.
ASK MaMACaddress MonTempsDeFct MonIPchoisie/Demande si adresse IP disponible
3 6 4 4 /17 bytes
CHG MaMACaddress MonTempsDeFct IPdéjàPrise MACaddressDestinataire/Réponse IP prise
3 6 4 4 6 /23 bytes
DHC MaMACaddress MonTempsDeFct/Prévenir les autres que le serveur DHCP est en ligne
3 6 4 /13 bytes
CMD MaMACaddress MonTempsDeFct N°deCommande/Passer une commande à un autre
3 6 4 3 /16 bytes
RTN MaMACaddress MonTempsDeFct MACaddressDestinataire/Retour commande exécutée
3 6 4 6 /19 bytes
VRB MaMACaddress MonTempsDeFct MonIP CommandeEffectuée/Verbose loggé sur PC
3 6 4 4 3 /20 bytes
Voici le début de l'histoire.