[Question] PHP -> ? -> Série -> Arduino

Bonsoir tout le monde :slight_smile:

Je lance un nouveau car la réponse semble floux sur internet pour pas mal de monde :S

Voulant réaliser la commande de l'arduino via un serveur ( sur Raspberry) et d'une page php, cependant quelle langage exécuter via une page php pour écrire sur le port série.

Avec le python ça marche mais je bloque sur la liaison php -> script python ...
Je me suis tourné vers le perl, le c, le vb.net etc ...

Enfin bref beaucoup de possibilités + pas trop d’expérience = Question ^^

A votre avis quel sera la solution la moins "chaotique" pour établir cette communication ?

Amicalement,
Trigger

Bonjour,

Je pense que les deux solutions les plus simples qui s'offrent à toi sont :

  • Utiliser les primitives de php permettant d'exécuter des programmes externes, par exemple "system(python mon_script.py)".
  • Réaliser ton interface web en Python, il y a tout plein de très bon framework Python de disponible sur le web.

Personnellement je pencherai plutôt pour la seconde solution.

Bonjour,

La meilleure solution c'est la solution "daemon + client".
Le deamon (= serveur) tourne en tache de fond, c'est lui qui initialise (une seule fois) le port série et qui attend les ordres des clients.
Les clients qui se connectent au deamon, envoient leur commande, puis quittent.

La solution la plus simple et efficace pour communiquer entre processus c'est les "tubes nommés" :

Attention: si les données envoyaient via le tube sont > à la taille du buffer système (généralement 4096 octets) l'écriture n'est pas "atomique" ce qui oblige d'ajouter une gestion des accès à la ressource partagé (le tube) au moyen de sémaphores.