@lolo
Y'a pas de problème à charger 50 fois la page Web
Mais sinon, il n'est pas indispensable que la page Web soit sur l'Arduino.
Il est tout a fait possible de décorréler l'hébergement de la page web et le code Arduino qui gère les cpateurs, E/S, ...
Tu peux placer la page web sur n'importe quel serveur Web (que ce soit un PC chez toi, un serveur de pages perso (free, orange, Google Site), ...)
Ensuite la communication avec Arduino reste indépendante et tu peux utiliser plusieurs méthodes :
- JavaScript + AJAX (Code JavaScript qui s'exécute dans le navigateur et qui fait des requête POST/GET vers un serveur Webduino sur Arduino)
- JavaScript + AJAX + PHP Socket (code JavaScript qui s'exécute dans le navigateur et qui fait des requêtes POST/GET vers un script PHP qui a son tour fait des socket TCP ou UDP vers Arduino) (Il faut pour cela que le serveur Web+PHP sur lequel s'exécute le PHP ait les autorisations pour faire des sockets)
- JavaScript + WebSocket (Code Jascript HTML5 qui ouvre une WebSocket vers un serveur de WebSocket sur Arduino)
- JavaScript + WebSocket + PHP (Mélange des 2 méthodes ci-dessus)
- JavaScript + ServerSideEvent
Depuis le JavaScript il existe en gros 3 méthodes pour communiquer vers une autre machine :
- AJAX : requêtes POST/GET mono-directionnelles vers un serveur Web (PC ou Webduino) : Les communications se font toujours à l'initiative du JavaScript. L'Arduino ne peut pas signaler des événements de lui-même.
- HTML5 WebSocket : communication bidirectionnelle. Chaque coté peut décider d'envoyer un message. Coté Arduino pour un serveur de Websocket voir
ici et
là- HTML5 ServerSideEvent : communication mono-directionelle d'un serveur Web (PC ou Arduino) vers le navigateur
Le 1er est le plus facile a mettre en oeuvre mais comme il est mono-directionel, il faut que le script JavaScript consulte régulièrement l'Arduino pour être a jour.
Le 2nd est le plus complet mais le standard des WebSocket est encore mal supporté et seul Chrome et Firefox les supportent aujourd'hui (je ne sais pas pour Safari). IE c'est non.
Le 3eme est trop limité.
Il est difficile de mélanger 2 ou plus de ces méthodes car les libs à utiliser coté Arduino sont différentes. Ca demanderait pas mal de boulot pour arriver à une solution complète.