[Système] Lecture de données sur le port Série avec PHP
Salut,
Pour un projet d'étude, j'essaye de mettre en place un système de lecture de TAG RFID via le port série, avec un traitement sous PHP.
L'environnement :
Windows XP / EasyPHP 1.8 (donc PHP 4.3.10)
Le code (de test) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
<?php
exec(`mode com4: BAUD=4800 PARITY=N data=8 stop=1 xon=on`);
$flux = fopen ("COM4:", "r");
if (!$flux) {echo "Erreur d'ouverture du port.";}
else {
echo "Lecture des données :";
$resultat = fgets($flux,10);
echo $resultat;
fclose ($flux);
}
?> |
L'erreur :
La page se charge, se charge, se charge et rien n'apparait ...
Cela doit donc signifier qu'il reste figé sur la ligne de lecture des données !
(J'ai essayé fgets et fgetc : idem)
Sous hyperterminal, aucun probleme tous s'affiche correctement.
Mais impossible d'obtenir le moindre caractère avec PHP.
Après quelques recherches, j'ai trouvé le jeu de fonction dio*, mais elle ne semblent pas fonctionner sous windows !
On ne peut pas dire que ce code soit compliqué ! J'ai aussi essayé de choper des caractères à'lintérieur d'une boucle, mais dans tous les cas, il semble que le code PHP ne passe pas la première lecture de données.
Mes Questions :
1 - Quelqu'un à t il une idée de la raison pour laquelle cela ne fonctionne pas ?
2 - Est ce que l'un de vous a déjà utilisé le port série pour ce genre d'application ?
3 - Comment faire un code propre pour que la lecture du port série se fasse en continue, une fois que la page est chargée ? (et non pas à l'ouverture de la page)
4 - Peut on être sur que le exec(mode com ...) fonctionne bien ?
5 - Des commentaires ?
Merci pour votre aide ...
Re: Lecture de données sur le port Série avec PHP
Citation:
Envoyé par slokix
4 - Peut on être sur que le exec(mode com ...) fonctionne bien ?
Quand tu tape la commande dans la console, qu'est ce qui te fait dire que ca marche ou pas ?
ben là, c'est pareil il faut analyser le résultat de la commande. voir les fonctions systemes car chacune renvoie différents résultats exec/passthru/system