Originariamente inviato da boots
In linea di massima, il tuo codice dovrebbe andare. L'unica cosa è che farei
Codice PHP:
$xml->save("data.xml"); //controllo echo $node->nodeValue();
$serial->deviceClose();
sleep(5);
DOMDocument::save(), semplicemente salva su file il documento xml in memoria:
$xml è l'xml che hai letto. Con setValue vai ad aggiornare il nodo. Save risalva tutto il documento in memoria (compreso il nuovo valore).
Il demone puoi farlo con qualsiasi linguaggio vuoi. Io ho lavorato con la porta seriale in C con la libreria termios (ma sempre sotto linux)
Piccola nota:
Se usi il file come mezzo di scambio con la pagina php, valuta il problema della concorrenza nell accesso al file. (Se lo apre il demone per scrivere e nello stesso momento lo cerca di leggere lo script php, quest'ultimo potrebbe non riuscire. e viceversa).
Una soluzione più elegante sarebbe quella di usare un socket in ascolto su un thread del demone .
Oppure usare un db a posto del file xml