2017年12月28日木曜日

思いつきで買ったサーマルプリンタが結構使えた

先日行われた『ゆかり公式生放送を見る忘年会』にてこんなレシートを作ってみました。



割烹着ゆかりさんのお店...割烹ゆかり。そのままですね。
会場が和室だったので「それならやるしかないやん!」って思いつきでサーマルプリンタを買って使ってみたところ案外使えました。
買ったのはコレ↓
Aibecy POS-5805DD USBサーマルプリンタ

USB接続だけで良いならもう少し安いものがありますが、Bluetoothに対応していたこととバッテリ内蔵、あと見た目がこっちのほうが良いという点で選びました。
型番で調べてみると一応日本語も印刷できるっぽい、程度の認識で購入したので思い通りに印刷できるようになるまで苦労するorダメかもと思っていました。
ところがWindows用ドライバを使ってみるとInkscapeから直接印刷できて拍子抜けしてしまう程簡単でした。導入まで一癖あるのでメモを残しておきます。

USB接続の場合、サーマルプリンタの電源をONにして、PCに接続。デバイスマネージャーに"プリンターが接続されていません"と表示されることを確認します。

Bluetooth接続の場合、プリンタの電源を投入。まずはペアリングを行います。
BluetoothPrinterを選択。PINは1234


Bluetooth設定を開いて方向が発信のCOMポート番号を確認。この場合COM5。
amazon商品ページ説明欄からドライバをダウンロードして実行。
Portsに確認したCOMポート番号を選択して、OSはWindows10、Select PrinterはPOS-58を選択してBegin Setupをクリック。


そしてCOM(232C)接続...
電圧を確認したところTTLレベルではなく、±5.4Vが出ているので232Cレベル変換が必要です。
そしてピンアサインは下記の通り。マニュアルに載っておらず、調査したものです。
1:GND
2:TXD(プリンタからの出力)
3:RXD(プリンタへの入力)
4:???

1番にGNDがあることによって、USBとCOM両方を同じPCのUSBポートに接続すると+5VとGNDがショートするという恐ろしい仕様になっております。

通信仕様はボーレート115200bps,データ8bit,ストップ1bit,パリティなし
FRDM-K64Fボードと232Cレベル変換ICを介して接続してみたところうまく動きました。

使わせて頂いたソースはこれ。
https://os.mbed.com/users/aross34/code/Thermal_HelloWorld/

AdafruitThermal.cppの29行目のボーレートを115200に変更して動作しました。
ただし一部のコマンドが動いていないようで、真ん中あたりのLarge,Midium,smallはそれぞれ文字の大きさが変わるようですが、変わっていません。

Android端末からBluetoothで印刷する場合、ペアリングを行うところまでは普通のbluetoothデバイスと同じです。印刷はサーマルプリンタ用アプリを使用します。
画像を印刷するだけであれば iPrint が簡単かつ綺麗に印刷できました。


0 件のコメント :