私が使用する金銭登録機はすべてRedHat Linuxシステムです。このレジスタにはttyS0
シリアルポート()に接続されたスキャナがあります。
我々は、カウンターに立って、スキャナーに製品を置く人を必要とする多くのテストを行った。私はこの人を方程式から削除する方法を見つけようとしています。
シリアルポートの入力をシミュレートする簡単な方法はありますか?
明らかに、シリアルポートに情報を送信するのは簡単です。
echo [whatever] > /dev/ttyS0
しかし、私が本当に好きなのは、次のように入力できる一種のbashコードです。
echo [barcode number] > (some code that makes the machine think the barcode number is coming from the serial port)
可能ですか?
実際に登録できる項目にも制限があります。マイコンピュータに新しいユーティリティをインストールできません。そこにスクリプトを入れることができますが、bash
それはすべてです。
ベストアンサー1
ioctlを使用してこれを行うことができます(rootとして)TIOCSTI
。この記事の最後にあるサンプルプログラムをご覧ください。回答。それを次のように使用してください
echo [whatever] | ./tiocsti > /dev/ttyS0
何もコンパイルせずにPerlでこれを行うこともできます。このサイトを検索してみてください。はい。
別のオプションは私私が使っているのはハードウェアで行うことです。 USB->シリアルアダプタを介してマシンをそれ自体に接続し、読みたいものを書き込むか/dev/ttyUSBx
(または)変更されていないデータを渡すために生データを使用します。/dev/serial/by-id/xx-xx-xx
/dev/ttySx
/dev/ttyUSBx
stty raw