概要
USB接続のプリンターを入手しましたので、ESP32-S3で制御してみました。内容はESC/POSコマンドを流し込むだけのお手軽制御です。
製品

こんな製品になります。新品なのですがメルカリ購入なので製品自体の紹介はしないで置きます。

製品自体はUSB接続で日本語フォント内蔵でカッター付きのものになります。海外モデルの場合に日本語が入っていないことがあるので注意してください。
業務用のレシートプリンタは物はいいのですが、結構高いんですよね。海外のやつはそこそこ安いのがあるのですが耐久性に違いがでると思います。
制御方法

EspUsbHost/examples/Vendor/EspUsbHostPrinterEscPos at main · tanakamasayuki/EspUsbHost
Library for using USB Host with ESP32. Contribute to tanakamasayuki/EspUsbHost development by creating an account on Git…
上記となります。USB Printer Classですが、接続してからバルク転送でESC/POSコマンドを送受信するタイプの制御になります。
ESC/POSで気をつけることはフォントの取り扱いです。日本語文字を送信してもプリンタはそのまま印刷してしまいます。日本語フォントが内蔵していない場合には単に文字化けして出力されます。
本当は全部画像にして自前で出力をすればいいのですが、ちょっと面倒ですよね。ラベルプリンター用のヘルパーライブラリも今度作ってみたいと思っています。
まとめ
最近のレシートプリンタはUSB接続よりBluetooth接続の方が一般的だと思います。ただBluetoothの場合には無印ESP32でしか使えないClassicのSPPを使うものと、ESP32-S3などで利用できるBLE経由のものが入り乱れています。Bluetoothだけの表示だと制御方法がわからないので注意してください。




コメント