Ciao,
esistono molti modi per fare sviluppare l'applicazione che hai in mente.
La logica generale di funzionamento puo',ad esempio, essere articolata in vari modi:
a) standalone -> l'arduino svolge tutti i compiti, ossia agisce da server web e implementa tutte le funzionalita' di interazione coi client (browser Internet o di altro tipo).
b) soluzione mista con webserver centrale "tradizionale" (Apache + PHP + MySQL, ...), con cui interagiscono i vari client (browser internet o di altro tipo), e Arduino che interagisce solo col webserver centrale scambiando i dati sullo stato dei sensori e per agire sui vari dispositivi di output (realis, led, ...).
Lo scambio di dati puo' avvenire in questo secondo caso in modalita' pull o push (o mista), ossia il webserver centrale richiede periodicamente i dati, oppure e' l'Arduino che inizia il processo "chiamando" il server centrale.
Un esempio di questa struttura lo hai con Patchube (http://www.pachube.com), vedi esempi:
http://community.pachube.com/tutorials#arduino
http://www.australianrobotics.com.au/news/web-data-logging-with-pachube-round-2
Patchube utilizza varie modalita' per lo scambio di dati in formato XML, CSV, JSON, ... utilizzando come protocollo di trasmissione HTTP.
Lo scambio di dati nella soluzione b puo' utilizzare l'HTTP (GET, POST, PUT, ...), per cui trovi vari esempi in rete. l'XML e' un formato un po' troppo pesante per l'Arduino, per cui non te lo consiglio.
La soluzione b ti permette di avere un maggior controllo sull'interazione degli utenti con l'Arduino, infatti puoi realizzare implementare con PHP le logiche di accesso e di controllo delle richieste che preferisci, immaganizzare i dati, ecc..
Ciao,
Marco.