J'ai une grosse appli développée en Symfony que je cherche à faire dialoguer avec une Arduino Mega.
Je n'ai pas trouvé de bibliothèque fonctionnelle en php qui me permette d'avoir un échange bi-directionnel direct. Par contre, ça marche bien en nodeJs.
J'ai donc fait un bricolage : nodeJs fait l'interface carte-appli Symfony.
Mon code fonctionne : les trois modules (serveur Apache, serveur NodeJs et la carte) se parlent. Je trouve juste compliqué de devoir passer par NodeJs pour faire l'interface.
Je ne vois pas pourquoi PHP ne te permettrait pas de dialoguer sur une ligne série.
Une ligne série est un fichier comme un autre.
Il existe des librairies : PHP_serial
Dans ton cas, comme tout se passe sur le serveur, je ne vois pas le problème.
De plus, si tu peux le faire en NodeJS, c'est que c'est possible de le faire dans n'importe quel langage côté serveur.
Lorsqu'il s'agit de dialoguer sur une ligne série ou même d'ouvrir un simple fichier sur le poste client, cela pose des problèmes évidents de sécurité (cela revient à autoriser un serveur à accéder aux ressources locales du poste client).
Personnellement je fais cela avec un petit serveur Python qui tourne sur le poste client. Le dialogue avec le navigateur (dans le code JavaScript) utilise les WebSockets.
Mais tu n'as pas besoin de tout ça puisque chez toi tout se passe sur le serveur.
Merci pour ta réponse.
Au niveau de la sécurité, il n'y a pas de problème : tout se passe en local. Dans j'ai accès à toutes les ressources.
J'ai essayé des bibliothèques, mais la seule que je suis arrivé à utiliser (Elephant.io) ne fonctionne qu'en écriture.
Je vais refaire des tests avec PHP_serial.
Mais, de toute façon, il me faut NodeJs pour écouter la carte.