LoginSignup
2
3

More than 3 years have passed since last update.

サーマルプリンタをCUPS経由で利用する(Raspberry Pi)

Last updated at Posted at 2020-04-11

経緯

サーマルプリンタと自作のプログラムを使って職場で発券機を運用しており
今まで、phpで組んだ発券機プログラムからphp_printer.dllを使ってサーマルプリンタに出力してきました。

閉じられた環境の中、不自由はありませんでしたが、Windows PCはイニシャルコストがばかにならないこと、不具合発生時のリカバリーが面倒なので、低コストかつ一度作ったSDイメージを使うことで容易に交換が可能なRaspberry Piで代替しようというのが始まりです。

動作環境

  • Raspberry Pi 3 Model A+
  • Symcode 58MM USB サーマルレシートプリンター

つまづいたところ

  • サーマルプリンタお馴染みのESC/POSコマンドを使った制御方法(python-escpos)だと、印刷をしたあとプリンタを見失い、デバイス番号が変わって印刷ができなくなってしまう(lsusbでの挙動/原因究明諦めた)。Zijiang ZJ-58用のドライバをセットアップしてCUPS経由で印刷に成功した。

手順

sudo apt install system-config-printer cups build-essential cmake libcups2-dev libcupsimage2-dev

もろもろインストール

git clone https://github.com/klirichek/zj-58
cd zj-58
cmake --build .
sudo make install

あとは、CUPSでプリンタのセットアップ(メニュー→設定→印刷設定→ロック解除→+Add→Unknown→Zijiang)
※ロック解除前にrootのパスワード設定(sudo passwd root)はしておくこと

印刷に成功して気付いたけどオートカッターなしモデルなので使い物にならない(´・_・`)
互換性のあるオートカッター付きサーマルプリンタをAmazonで買わなければ…

参考資料

Raspberry Piからサーマルプリンタに印刷命令を送りたい
klirichek/zj-58
Thermal Printer driver for CUPS, Linux, and Raspberry Pi: zj-58
Zj-58, Zj-80 and other receipt printers

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3