Shield Ethernet : détecter réponse au ping ?
Bonjour,
Je suis toujours sur mon projet d'Arduino Uno client Ethernet avec shield Ethernet et écran TFT tactile
Je n'ai pas voulu utiliser websocket car cela implique de maintenir la connexion entre client et serveur ce qui est inadapté à mon projet (notamment parce que mon serveur Arduino Mega ne pourrait pas maintenir 8 connections en même temps avec 8 clients).
Websocket aurait été approprié si je n'avais qu'un nombre très limité de clients.
J'ai découvert que mon Arduino client répondait au ping. Je pense que c'est la puce du Shield Ethernet qui gère ça toute seule.
Je me demande si ça serait possible de détecter dans mon programme le ping, tout en conservant un fonctionnement en client Ethernet.
Le but vous l'avez deviné, c'est que le serveur puisse puisse forcer le client à lui envoyer une requête.
J'ai un peu le sentiment que le Shield Ethernet peut faire beaucoup de choses et que les limites viennent surtout de la librairie associée.
Je vais finir par mettre mon nez dans la librairie pour peut être la modifier...
Il y a aussi le protocole UDP que je n'ai pas testé... Ca serait pertinent (code probablement plus léger, bi directionnel) car dans mon projet j'ai ajouté un contrôle du contenu des requêtes et des réponses (longueur + CRC)
Après le soucis si je bascule en UDP, c'est que mon Arduino Mega utilisé en "unité centrale" devra en même temps se comporter en serveur web pour interagir avec le navigateur web d'un ordinateur ou d'un smartphone du réseau local...
C'est un autre aspect un peut bloquant : je me trompe peut-être mais je crois que le shield Ethernet ne peut être utilisé que d'une seule façon (client TCP, serveur TCP, UDP) même sur un Arduino "puissant".
A bientôt