bonjour zozizozu,
merci pour la réponse, oui, j'avais vu dans 1 premier temps PHP-CPP pour l'extension PHP mais ici :
--> https://www.phpcpp.com/documentation/install
Luckily, for most of us (those who use Linux or Apple environments), this will be a piece of cake.
If you're on a different platform however, you are left on your own, because we
(as in me, the PHP-CPP developer), only uses Linux systems. There is however no reason why this library
should not also work on other platforms, because it only uses straight forward C++ code. Thus,
if you are on a different platform and have managed to compile the library on it, please give us feedback
so that we can update these installation instructions and include other platforms as well.
ça fonctionne sous Linux mais pas encore certifié opérationnel sous Windows : oui ça serait bien de prendre le temps d'y passer du temps...
Concernant python pour accéder au port com série, j'avais vu ça aussi (toujours sous Linux) :
--> http://www.doctormonk.com/2012/04/ra...d-arduino.html
--> https://www.elektormagazine.fr/artic...-php-ou-python
Comme PHP et ses Extensions, Python utilise aussi au final des <library> écrites en C/C++ ,
et j'avais aussi déjà accédé au port série en CGI via un exécutable en console, écrit en C++ sous C++ Builder6 mais c'est 1 solution intermédiaire mitigée :
on ne scrute pas le port COM série en permanence mais par petites périodes ; le port est constamment commuté périodiquement entre ouvert et fermé ...
J'ai aussi récemment développé en C++ sous Qt (avec le composant, la classe "QSerialPort" ) une autre solution intermédiaire mitigée ,
aboutissant à 1 exécutable perso opérationnel nommé "QtComSerieX.exe" proche de celui "comxs.exe" présent en fin de page web
ici sur le lien suivant :
--> https://radiovibrations.com/techblog.php?i=10
à partir de ça : (lecture asynchrone seule ici ; j'avais complété pour l'écriture synchrone ...)
--> https://code.qt.io/cgit/qt/qtserialp...erasync?h=5.14
appelé en PHP avec l'instruction suivante :
// émission + réception sur port Com
$result = shell_exec( "QtComSerieX.exe $comport $attente $envoi" ) ;
// $attente : délai d'attente (timeout pour la lecture du port COM) avant de sortir de l'exécutable.
// $envoi : les éventuels octets codés hexa à envoyer sur le port COM ouvert.
// $result : donnée lue (durant la période $attente) sur le port COM ouvert.
// ...
... Ça fonctionne + ou - bien, mais ça reste quand même toujours 1 solution mitigée ... le port est encore en permanence commuté périodiquement entre ouvert et fermé ...
Pou l'instant, je suis encore dans la lecture et la compréhension des sources de l'Extension PHP Direct IO.
Cordialement, A++ Did
Partager