Я уже смотрел вариант с fopen.
Под линукс такой вариант сработает, но ставить линукс на рабочей машине для меня пока не актуально (разве что поставить виртуально линукс под винду, правда сомневаюсь, что сохраницца возможность адресации на устройство как в линуксе).
А под виндовс, насколько мне известно, fopen работает с кучей ограничений.
Вообще, спасибо за совет.
ps Насчёт поисковой - проблема не в желании, а в скорости соединения - на жпрс не особо нагуглишся.
pps нашёл кое-что по запросу fopen com windows - fopen("COM1:", "r+"); может то-самое
ещё кое-что (платное):
Цитата:
PHP Serial Extension:
This PHP extension for Windows allows you to communicate directly with the serial port through PHP.
This is a loadable extension for PHP running on Windows implementing serial port handling and communications. Once installed in PHP environment you can programm PHP applications to control serial device hosted on server from remote location; these devices can be anything from video switcher, cameras pan/tilt, ham radios, media players, home automation boxes, GSM modems/terminals (send/receive SMS), only your imagination and needs are the limits.
Link: http://www.easyvitools.com/phpserial/index.html
Link to installation instructions and usage: http://www.easyvitools.com/phpserial...reference.html
|
Бесплатное:
Цитата:
jared at dctkc dot com
http://ru.php.net/manual/en/function.fopen.php#20935
22-Apr-2002 08:33
PHP код:
<?php
// HOW TO USE PHP TO WRITE TO YOUR SERIAL PORT: TWO METHODS
$serproxy=true;
if ($serproxy) {
// Use this code in conjunction with SERPROXY.EXE
// (http://www.lspace.nildram.co.uk/freeware.html)
// which converts a Serial stream to a TCP/IP stream
$fp = fsockopen ("localhost", 5331, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)";
} else {
$e = chr(27);
$string = $e . "A" . $e . "H300";
$string .= $e . "V100" . $e . "XL1SATO";
$string .= $e . "Q1" . $e . "Z";
echo $string;
fputs ($fp, $string );
fclose ($fp);
}
} elseif ($com1) {
// Use this code to write directly to the COM1 serial port
// First, you want to set the mode of the port. You need to set
// it only once; it will remain the same until you reboot.
// Note: the backticks on the following line will execute the
// DOS 'mode' command from within PHP
`mode com1: BAUD=9600 PARITY=N data=8 stop=1 xon=off`;
$fp = fopen ("COM1:", "w+");
if (!$fp) {
echo "Uh-oh. Port not opened.";
} else {
$e = chr(27);
$string = $e . "A" . $e . "H300";
$string .= $e . "V100" . $e . "XL1SATO";
$string .= $e . "Q1" . $e . "Z";
echo $string;
fputs ($fp, $string );
fclose ($fp);
}
}
?>
|