PHPでシリアルポートにアクセスして遊んでみましたが、あまりうまくいきませんでした。
fsockopen
、、などfopen
を使ってみましproc_open
た。ソケットの読み取りや書き込みができません。
例:
$fp = fopen("/dev/ttyUSB0", "w+");
fwrite("enable");
echo fread($fp, 1024);
PHPでシリアルポートにアクセスして遊んでみましたが、あまりうまくいきませんでした。
fsockopen
、、などfopen
を使ってみましproc_open
た。ソケットの読み取りや書き込みができません。
例:
$fp = fopen("/dev/ttyUSB0", "w+");
fwrite("enable");
echo fread($fp, 1024);
私は過去に何度もこれに遭遇しました。かつてはCisco2811の管理インターフェイスを作成していました。これはあなたのIOSバージョンがわかりませんが、あなたの場合はうまくいくかもしれません(あなたのfwrite();
スルーコンソールのためにCiscoを想定しています)。
ユーザーが最初にデバイスにアクセスできるかどうかを確認します。簡単に、これはで行うことができますscreen /dev/ttyUSB0
。コマンドを実行し、切り離すには、次にを押しctrl+a
ますd
。
私は最も一般的にstream_*
このような何かのために家族を使用します。
次に例を示します。
$stream = stream_socket_client("udg:///dev/ttyUSB0", $errno, $errstr, 30);
fwrite($stream, "enable");
while(true){
$line = stream_get_contents( $stream );
if($line == 'exit'){
break;
}
}
デフォルトでstream_socket_client
は、ブロッキングモードで起動するため、手動で切り替える必要はありません。
拡張機能をインストールしてもかまわない場合にできるもう1つのことは、DirectIO
拡張機能です。それはあなたがボーレートとすべてのグッズを設定することを可能にする機能を持っています、ここの例。
あなたもこのプロジェクトを見ることができます:http ://code.google.com/p/php-serial/source/browse/trunk/