Communication arduino mega et Jeedom entre 2 plan d'adresse IP

Bonjour à toutes et à tous,
j’ai mis en place deux adressages pour différentier mes équipements. 192.168.1.*** pour les ordinateurs et 192.168.2.*** pour mes équipements domotiques et sureté. mon rpi Jeedom était en 192.168.2.1 mais depuis que j’ai changé ma livebox (passage fibre) et que celle-ci refuse le masque 255.255.0.0. donc j’ai dû modifier l’IP du RPI pour être dans la plage 192.168.1.* pour ravoir la connexion internet sur Jeedom.
mon problème est la communication entre mon rpi qui est en 192.168.1.* et une carte arduino mega + ethernet W5100 avec Jeedouino en 192.168.2.*. le masque sous réseau est correcte (255.255.0.0) côté arduino et RPI. le ping depuis le rpi vers arduino ok.
Est-ce que quelqu’un aurai une idée pour établir la communication avec ce plan d’adressage?
je sais pas si ça peut aider mais côté arduino et ayant activé le Serial, j’ai le compteur UIPEFailCount qui s’incrémente.
merci d’avance et bonne journée

Si je comprends bien. Tu as un seul LAN mais tu désires avoir l’équivalent de deux plages d’adresses pour tes équipements.
Dans un même LAN, tu ne peux normalement pas avoir de masques différents. donc pas 255.255.255.0 pour ta livebox et 255.255.0.0 pour ton arduino mega.
Pour ta livebox, accepte t’elle un masque 255.255.254.0 ? Si oui, tu peux utiliser ce masque sur tous tes équipments et tu auras les deux espaces d’adresses 192.168.1.x et 192.168.2.x dans le même LAN.
Tu auras en fait un LAN de 512 adresses.

Si ta livebox n’accepte pas le masque 255.255.254.0, tu devras te contenter de la plage 192.168.1.x pour tous tes équipements avec alors un masque 255.255.255.0

normalement ça fonctionne, mon ancienne livebox avait bien 255.255.0.0 ainsi que mon pc pour tout voir et certains pc en 255.255.255.0 pour pas accéder à ces équipements et tout fonctionnait très bien
je pense que je dois avoir un soucis sur le plugin ou arduino car le RPI le voit et effectue bien le ping (entre 192.168.1.* et 192.168.2.*). mais lequel?

1 « J'aime »

Cela peut en effet fonctionner quand le masque du routeur lui permet de traiter les mesages de broadcast des équipements avec un masque plus spécifique.
L’inverse ne fonctionne pas.
Si tu as mis 192.168.1.x avec 255.255.255.0 a ton rpi, il ne traitera jamais les messages venant de ton mega en 192.168.2.x. Pour lui, ton mega est dans un autre subnet.

j’ai bien mis le subnet en 255.255.0.0 et le rpi fait bien le ping sur la carte mega.
je pense que ça vient du sketch arduino mais je n’arrive pas à mettre le doigt sur le problème

1 « J'aime »

Un ping de ton arduino vers ton rpi fonctionne t’il ?

1 « J'aime »

oui, même le plugin network le détecte

1 « J'aime »

Donc ton problème n’est pas LAN. Là, je ne sais plus t’aider.

je sais que mon problème ne vient pas du réseau mais je te remercie d’avoir consacré un peu de temps à mon problème.
je pense qu’il y a une chose qui coince dans le sketch arduino ou une de ses bibliothèques mais j’arrive pas à mettre le doigt dessus.
si quelqu’un peut m’aiguiller ou si @revlys passe dans le coin :grin:
petite suggestion pour le plugin (si pas trop compliqué à mettre en place): comme on indique l’adresse ip qu’on souhaite pour la carte arduino, serait-il possible de rajouter 2 lignes? une pour le masque sous réseau et l’autre pour la passerelle?

1 « J'aime »

Bonjour,

  • Vérifie que l’ip interne renseignée dans Réglages/Système/Configuration/Réseaux soit bien l’ip actuelle du Rpi.
  • Resauve ton équipement arduino, cela lui enverra cette nouvelle ip.

petite suggestion pour le plugin (si pas trop compliqué à mettre en place): comme on indique l’adresse ip qu’on souhaite pour la carte arduino, serait-il possible de rajouter 2 lignes? une pour le masque sous réseau et l’autre pour la passerelle?

Je regarderais, mais je ne pense pas pour l’instant.

Bonne journée.

bonjour @revlys et merci de ton retour,
l’ip interne est correcte et j’ai resauvé à plusieurs reprises l’équipement arduino sans succès. j’ai tenté de modifier manuellement le sketch sans succès, il y a une chose qui m’échappe mais quoi?
merci pour la prise en compte de ma remarque, j’ai pour l’instant changer l’ip de l’arduino pour la mettre sur la plage 192.168.1.*.
si quelqu’un arrive à le faire fonctionner avec les 2 plages ip ci-dessus, je suis preneur :wink:

Désolé,
je viens de voir que j’avais lu un peu vite : j’ai cru que le pi et l’arduino était sur la même plage.

Il te faudra utiliser le masque 255.255.252.0 pour les plages 192.168.1.x et 192.168.2.x.

Dans le sketch, trouve vers la ligne 84+ :

byte IP_ARDUINO[] = { 192, 168, x, y };
byte IP_JEEDOM[] = { 192, 168, x, y };
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, z };

Ajoute à la suite:

byte dns[] = { 192, 168, x, y };  // ip de ta livebox
byte gateway[] = { 192, 168, x, y }; // ip de ta livebox
byte mask[] = { 255, 255, 252, 0 }; 

Cherche vers les lignes 261+

Ethernet.begin(mac, IP_ARDUINO);

(il y en a 2) et modifie en :

Ethernet.begin(mac, IP_ARDUINO, dns, gateway, mask);

pas de soucis et merci, ça fonctionne!
je me suis fait avoir comme un bleu car j’ai bien fait les modifications aux endroits que tu m’as indiqué mais je n’avais pas mis le DNS. la bibliothèque que j’utilise normalement en a pas besoin! (appelé moi boulet!!! :grin:)
j’ai néanmoins un peu modifié ce que tu m’as indiqué, j’ai mis le mask en 255.255.0.0 et pour le dns et gateway, j’ai pas mis l’ip du RPI au lieu de la livebox car elle est bloqué sur un mask de 255.255.255.0 (merci orange et sagem!)
encore merci :+1:

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.