シェルを介してEpson tm-t88ivサーマルプリンターとの低レベル通信を確立しようとしていますが、理解できません。私は、Dell vostro 1510でubuntu 13.10 64ビットに取り組んでいます。
多用のシリアルUSB pl2303ケーブルで接続しています。 lsusbは以下を示します。
ben@ben-Vostro1510:~$ lsusb
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 003: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 005: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 0c45:63e0 Microdia Sonix Integrated Webcam
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
dmesg | grep ttyショー:
ben@ben-Vostro1510:~$ dmesg | grep tty
[ 0.000000] console [tty0] enabled
[ 1.488664] tty tty28: hash matches
[ 225.882444] cdc_acm 2-4:1.0: ttyACM0: USB ACM device
[ 1478.741395] usb 5-1: pl2303 converter now attached to ttyUSB0
[ 3672.537405] pl2303 ttyUSB0: pl2303 converter now disconnected from ttyUSB0
[ 3679.219805] usb 5-1: pl2303 converter now attached to ttyUSB0
[ 4657.704772] pl2303 ttyUSB0: pl2303 converter now disconnected from ttyUSB0
[ 4699.905633] usb 5-1: pl2303 converter now attached to ttyUSB0
[ 4798.952739] pl2303 ttyUSB0: pl2303 converter now disconnected from ttyUSB0
[ 9930.266470] usb 5-1: pl2303 converter now attached to ttyUSB0
Cutecomを使用して特定の16進コードを送信しようとしましたが、応答がありません。/dev/ttyUSB0へのエコーも試みましたが、どこから応答を読むべきかわかりません。 「sudo cat/dev/ttyUSB0」も試しましたが、何も得られません。
これを解決するのを手伝ってください!ありがとう!
解決策:
走らなければならなかった
Sudo chmod 777 /dev/ttyUSB0
そして、ルートとしてjpnevulatorを実行します
Sudo jpnevulator --tty /dev/ttyUSB0 --read
そして、書き込みモードで別のものを使用して、ステータスチェックシーケンス02 AC 00 01 1C 00 00 03 30 30 43 45を書きました
画面にプリンターの応答が表示されます。私は今、チェックサムに関して別の問題を抱えていますが、それは低レベルプログラミングへの私のオデッセイの次のエピソードのためのものです。
サーマルプリンターについてはわかりませんが、Arduinoまたは携帯電話のモデムをテストするために使用した方法です。
例として、Android電話をモデムとして使用する場合:
シリアルポートの読み取り(ルートである必要があります):
Sudo su
cat /dev/ttyACM0
必要に応じてほんの数行を読むことができるので:
head -n2 /dev/ttyACM0
シリアルを作成し、他の端末タブまたはウィンドウを開きます。
Sudo su
echo -e "AT" > /dev/ttyACM0
ポートウィンドウの読み取り時にOK
と表示されます。16進データを送信することもできます(最後に新しい行を送信しないようにするには、-nオプションを使用します)
echo -e -n "\x41\x54\x0a" > /dev/ttyACM0
と同じ:
echo -e "\x41\x54" > /dev/ttyACM0
シェルは、表示されていないヘックスを、その値が内部に書き込まれた小さな正方形として表示します。これを試して。
echo -e "\x13"