Reading COM (serial modem) in PHP
I need a COM interface (Windows, COM2) to read from PHP.
This demonstration continues. Reading is a problem, it works sometimes.
Is there any other way (no dio, no C ++), maybe w32api_register_function()better?
function rs232init ($ com, $ bautrate)
{
`mode $ com: BAUD = $ bautrate PARITY = N data = 8 stop = 1 xon = off`;
}
function send ($ comport, $ char)
{
$ fp = fopen ("$ comport", "w +");
if (! $ fp)
{
echo "not open for read";
}
else {
fputs ($ fp, $ char);
fclose ($ fp);
}
}
function read ($ comport2, $ sek)
{
$ buffer = "";
$ fp2 = fopen ("$ comport2", "r +");
if (! $ fp2)
{
echo "port is open for read";
}
else
{
sleep ($ sek);
$ buffer. = fgets ($ fp2, 4096);
}
return $ buffer;
fclose ($ fp2);
}
rs232init ("com2", "9600");
send ("com2", "3");
$ a = read ("com2", "2");
echo $ a;
source
share