Donc si je comprend bien tu es déjà dans le 2nd cas
Page [Javascript/JQuery] --(post)--> Serveur web [PHP] --(tcp-socket)--> Arduino [EthernetServer]
Je dirais que tu es dans le cas le plus simple pour migrer vers une liaison USB/Serial entre ton RPi et ton Arduino.
En effet coté Arduino, il va te falloir passer à Serial au lieu de EthernetServer. Cela va dans le sens d'une simplification du code car tu n'auras plus besoin de gérer un serveur et une connexion : la connexion série est toujours présente.
Coté PHP il va falloir remplacer la gestion socket par une gestion de port série.
Une rapide recherche google et je vois qu'il y a probablement 2 méthodes pour faire cela :
- la lib intégré à PHP "Direct I/O"
http://php.net/manual/en/book.dio.php- une lib externe dédiée serial :
http://code.google.com/p/php-serial/et je tombe par hasard sur un article qui parle d'utiliser la lib php-serial avec un RPi :
http://www.raspberrypi.org/phpBB3/viewtopic.php?f=34&t=12000 (en fait c'est un gars qui a des problèmes parce que ca marche pas).
Je dirais pas encore tout a fait "Total Bonheur" mais je pense qu'on s'en rapproche.
Je suggère les étapes suivantes :
1) Etablir la liaison série entre RPi et Arduino
- Flasher dans ton Arduino depuis PC un sketch qui configure Serial à 9600b et qui fait Serial.println("Hello world!" ); delay(1000 );
- Brancher l'Arduino sur le port USB du RPi (il peut être prudent d'alimenter l'Arduino sur son entrée 6-9V pour éviter de trop tirer sur l'alim USB du RPi qui n'est pas réputée pour être très costaude).
- Attendre quelques instants
- taper la commande "dmesg" qui devrait rapporter que le port USB a été monté comme une liaison série du genre /dev/sttyUSBx" ou quelque chose du genre (trop fatiqué pour essayer moi même ce soir)
- taper la commande "cat /dev/xxxx" avec le nom de device ci-dessus
- Si tout se passe bien, tu devrais avoir les HelloW orld qui s'affichent dans la console
(J'ai fait ca avec une leonardo sur mon WR703N et il n'y avait aps besoin de régler la vitesse du port série coté Linu. Avec une UNO possible qu'il faille d'abord configurer le port série Linux et je sais pâ faire)
2) Apprendre à se servir de la php-serial ou DirectI/O pour communiquer entre PHP et Arduino
Note que PHP peut aussi s'utiliser en ligne de commande sans Web comme un langage de script en utilisant la commande "php moncode.php" ce qui est plus facile pour faire ce genre de test que de la faire via un serveur web.
3) Modifier ton PHP et ton sketch pour passer au dialogue série.
J'espère avoir été clair sur les étapes.
Si un
manchot pingouin

traine par là, il pourra te donner plus de détails sur le fonctionnement des ports série sur Linux, moins je suis encore trop imbibé de Windows

.