[RESOLU] Lire un port série (RS232) avec PHP

sissou
Invité n'ayant pas de compte PHPfrance

20 mars 2013, 18:00

Bonjour,

Je suis étudiant et une partie de mont projet est de programer une petite station météo, et pour récupérait ses informations pour crée un mini site web.

Donc la station météo envoie des trame en hexadecimal de 14 octet (si je me souviens bien) et mon but et de récupérait uniquement 3 octet puis de les convertir en ASCII et de les afficher dans un tableau sur mon mini site web. Pour cella je compte faire appel a PHP, mais j'ai trés peut de connaissance sur le PHP, existerais t-il un script a "personnaliser" pour arriver a mon but ? Ou il y aurais t-il une personne assez douer la dessus pour me guider dans la finalité de mon projet ?

Par avance je vous remercie pour votre aide !

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

20 mars 2013, 23:46

salut,


vu ce que tu demande il y a peu de chance que ce que tu demande existe :)

Pour ce qui est de la communication sur le port série c'est surement un peu compliqué, il y a des sujets qui en parle sur le forum.

Tu peux exécuter des commandes depuis php comme si tu étais sur une console (par exemple avec exec).

donc sur le principe :
- 1 requête sur le port com (commande shell)
- Récupération des données (voir doc des commande exec et similaire)
- traitement
- Affichage

Sinon php n'est p'tet pas le meilleur langage pour cela.
Tu peux simplifier en utilisant en ligne de commande un script fait avec un langage plus adapté (perl, python etc etc).


@+
Il en faut peu pour être heureux ......

sissou
Invité n'ayant pas de compte PHPfrance

21 mars 2013, 12:44

Faire cella en PHP fait partie du cahier des charges, je suis donc obligé...

ViPHP
xTG
ViPHP | 7331 Messages

21 mars 2013, 13:33

En fait on peut accéder au port COM avec un simple fopen() normalement.
Le souci étant qu'on a pas accès aux interruptions du port COM (pas prévenu lorsqu'une donnée arrive)...
Donc c'est possible de dialoguer mais c'est pas un langage qui prévoit les échanges dans les deux sens sans beaucoup de bidouilles.

sissou
Invité n'ayant pas de compte PHPfrance

22 mars 2013, 14:08

Je veut uniquement lire la RS232 qui envoie 14 octet en Hexa et convertir 3 de ses 14 octet en ASCII

Je ne veut pas y écrire dedant !

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

22 mars 2013, 23:07

encore faut t'il lire au bon moment, ou avoir un buffer conséquent.

xtg t'a fournit une solution possible



@+
Il en faut peu pour être heureux ......