- blogs:
- cles::blog
Raspberry Pi を使ってレシートプリンタから印刷してみる
raspberrypi python printer今日はラズパイを使ってレシートプリンタの制御に挑戦してみました。
今回は Amazon で売っていた中国製の「Symcode 58MM USB サーマルレシートプリンター ESC/POS」安いプリンタを使います。この手のレシートプリンタは ESC/POS というエプソンが作ったプロトコルに対応したものが多いようです。ドットインパクトの ESC/P などと同じく、EPSON の規格がデファクトスタンダードなんですね。
† まずは udev の設定から
USB 接続ですが Linux だと自動的に認識されないので、lsusb を見てみます。
このプリンタはどうやら ID 0416:5011 で認識されているものみたいですね。
一般ユーザーからもこのデバイスにアクセスできるように udev にルールを追加して、udev のルールを読み込ませてやります。
† python-escpos を使ってみる
今回は Python から ESC/POS を話すことができる python-escpos*1 を使います。
インストールは pip で一撃です。
python-escpos では通常の状態では日本語が出ないので、Pillow*2 と TTF フォントを使って、日本語の入った画像を生成し、これをプリンタから出力させてみます。
このあたりの処理はグラフィック液晶で日本語を描画するのと同じような要領ですね。
今回のフォントは Circle M+ 1m*3 を使っています。
サンプルとしてはこんな感じのプログラムになりました。
escpostest.py
これでラズパイの活用の幅もさらに広がりそうです。
- *1: python-escpos/python-escpos: Python library to manipulate ESC/POS printers
- *2: Pillow — Pillow (PIL Fork) 6.0.0 documentation
- *3: M+を元にしたフォント : M+とIPAの合成フォント
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/10886
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
- シャープの空気清浄加湿器の... (1)
- SMARTEK デジタル温湿度計 (1)
2 . Word で数式がグレーアウトされていて挿入できないときは(15171)
3 . awk で指定した n カラム目以降を出力する(11761)
4 . アーロンチェアのポスチャーフィットを修理(11465)
5 . Windows 10 で勝手にログアウトされないようにする(9741)