4

サポートチケット番号を送信できるように、PHP を使用してテキストを LED サインに送信しようとしています。サイン自体が作品です。それはeBayから来たもので、ドキュメントがほとんどなく、貧弱に作られています. しばらくそれをいじった後、私はそれがそれに送信されると予想される方法とボーレートが28800であることを理解することができました.PHPを使用してこのようなものと通信する方法はすでに知っていますが、私は知りませんボーレートを非標準に変更する方法を知っています。他のボーレートを試しましたが、うまく動作しませんでした。

4

3 に答える 3

2

Linux の setserial コマンドを調べると、シリアル ポートに非標準の速度を割り当てることができます。

ポートを初期化するために接続する前に、次のようにsetserialを実行すると、それを引き出すことができるはずです(サーバーのinitスクリプトまたはPHPのいずれかで...それが良い考えかどうかはわかりませんが):

/bin/setserial /dev/ttyS1 spd_cust baud_base 115200 divisor 4

コマンドで何が起こっているかは次のとおりです。

  • spd_cust オプションは、アプリケーションが 38400 を要求したときに速度をカスタム除数に設定するよう OS に指示します。
  • /dev/ttyS1 はシリアルポートです。これを何にでも変えます。
  • baud_base は、除数 4 で使用される数値です。

115200 / 4 = 28800 ...必要な速度:-)

PHP コードでは、38400 で接続しますが、これは奇妙に思えますが、setserial により、指定したポートは 28800 で実行されます。

于 2010-06-08T20:37:17.897 に答える
1

Windowsの場合は試してください

"mode " . $device . " BAUD=" . $baud

Linuxの場合

"stty -F " . $device . " " . $baud

これらは送信する正しいコマンドだと思います

于 2010-06-08T13:31:12.217 に答える
0

この2つのリンクをチェックしてください

于 2010-06-08T13:28:53.420 に答える