カワリモノ息子の技術メモ的な~

カワリモノ息子とその母の技術メモ的な〜

学校が苦手な息子くんの作品とその母の作品、はたまた日常などいろいろを在宅エンジニア母が綴る

中1息子くんAliExpressで購入したレシートプリンタで遊ぶ

アリエクで注文

さかのぼること約1か月半前、息子くんにAliExpressで「サーマルプリンタ」(レシートプリンタ)が買いたいので注文してほしいと言われました。

↓ コレ!
ja.aliexpress.com
「DP-EH600」という型番です。

AliExpress通称アリエクは中華のショッピングサイトですごくお得に買うことが出来ます。
しかし以前一度注文したことがあるのですが、まてど暮らせど注文したものが届かず、ステータスがなぜか「Cancel」になっていて、問い合わせ(英語)を行い再度送ってもらうもまた「Cancel」に。
「わけがわからないな」という感想で、実はもうアリエクは使わないって思っていました。

しかし今回の息子くんからのリクエスト。
ネットでAliExpressのこと検索したら届くまでに時間はかかっても届かなかったというのはたまにしかないケースらしく。(でもあるにはある)

と、ツイートしてみたところ、アリエクマスターの優しいフォロワーさん方がお返事してくれました。

プリペイド系のカードを使うのが安心
・発送後の自動注文確定の期限を注意しておく

なるほどです。超感謝です!Twitterて便利ですね!

ということでアリエク注文に再挑戦してみました。

それぞれ届いた時期バラバラ

ブツは全部で4つ注文しました。
全部、サーマルプリンタに関係するものだそうです。私なんだかよくわからないものの、言われるがまま注文。

① サーマルプリンター本体
② サーマルプリンター用ロール感熱紙
③ ACアダプタにつなぐためのコネクタとやら
④ シリアルコンバーターとやら

④が一番に届いた!まさかこんなに早く届くとは思わずびっくりしました。

その次に③が注文から1か月くらいでとどいたあと、①が今回届きました。注文から約1か月半かかりました。まずまずなのかな。

f:id:toriko0413:20200523235613j:plain

②はまだ届いてませんが、追跡によると大阪まで来ているようなのであと少しで届くと思われます^^

早速動かしてみた

②の感熱紙はまだありませんが、本体にはテストロール紙が付属していました。ヤッタネ!

f:id:toriko0413:20200524003222j:plain

ということで早速動かしてみます。

接続

サーマルプリンタの裏側に同梱されていたケーブルをこんなふうに接続します。

f:id:toriko0413:20200524002515j:plain

ACアダプタは昔別の開発用に買ってた12V/2Aのものを使用しました。
息子くんはそのACアダプタを使用するつもりで、それに合う③のコネクタ ↓ を購入していたんだそうで。

f:id:toriko0413:20200524002838j:plain

赤と黒のケーブルがACアダプタにつながりました。
このとき本体のボタンを押したまま電源につなげることでテストプリントが行えます。

何度かテストプリントしてみました。
が、
んん??

f:id:toriko0413:20200524003440j:plain

右側が最初から付属していたテストプリントされたサンプル。
左側が今回何度か出力してみたもの。毎回切ってないので全部つながっていますが、赤枠で囲んだ部分が一回分の出力です。

どうも途中で途切れてます。それも毎回同じ部分で切れてます。

多分本当は全部出力されるべきであって、ACアダプターのアンペア数の問題かなぁとちょっと悩んでましたが、「ま、いいか!」とここはとばして次に進んでました。

ラズパイのPythonから制御する

ネットを参考にしてRaspberry piにつなげ、Pythonから制御できるようにしていました。
ちなみに我が家のラズパイはラズパイ3 model Bです。

f:id:toriko0413:20200524094354j:plain

まず、サーマルプリンタ用のライブラリを入れたらしいです。

pip install thermalprinter

このライブラリでは、サーマルプリンタに文字の出力のほかバーコードの出力などいろいろ行えるとのこと。

それともうひとつ、画像を出力できるライブラリも入れたとのこと。

pip install pillow

※ただし今回上記のpillowのpip installがエラーになって進みませんでした。この内部で使用しているlibjpeg-devが見つからないといったエラーで、それはjpegを扱うものであったため、下記のようにしてとりあえず回避したと言ってます。

pip install pillow --global-option="--desable-jpeg"

これらのライブラリを使ったプログラムは以下のように書きます。

from PIL import Image
from thermalprinter import *

p = ThermalPrinter(baudrate=115200)
# barcode
p.out('Barcode test:')
p.barcode_height(80)
p.barcode_position(BarCodePosition.BELOW)
p.barcode_width(3)
p.barcode('CODE128 TEST!!', BarCode.CODE128)
# image
p.out('Image test:')
p.image(Image.open('/home/pi/Downloads/test.png'))
p.feed(2)

ここでまたちょっと躓いていたので書いておくと、
from thermalprinter import *

p = ThermalPrinter(baudrate=115200)
の大文字小文字に注意!

出力したらこうなります。イラストは超レア息子くん画伯の作品!

f:id:toriko0413:20200524005501j:plain

出力の様子♪

いまのところちゃんと出力できています。
最初のサンプル印刷が途中で切れてたのは気にしなくていいのかな・・・?という疑問は残りつつ。

参考にさせていただいたサイト

息子くんに確認したところ以下のサイトを参考にして作ったそうです。
ありがとうございました。

趣味TECHオンライン

www.shumi-tech.online

そもそもアリエクで注文するときから上記を参考にしていたとのことでした。
買い物リストの④ シリアルコンバーターっていうのは爆速のための部品だったそうなのですが、ラッキーなことに今回はこれを使わずとも速かったです。
息子くんによるとOEMによって同じ型番でも仕様がさまざま?だそうで、今回は当たり製品だったねって言ってました。

そして、「この使わなかった部品、ルンバのハックに使えるよ」と不敵な笑みを浮かべていました・・・

thermalprinterライブラリの仕様書

thermalprinter.readthedocs.io

趣味テックオンラインのサイトに書いてあったライブラリ「py-thermal-printer」は使ってみたもののうちではうまく動かず、結果「thermalprinter」というライブラリを使ったんだそうです。
そして上記リンクの仕様書を参考にしたと言ってました。

さいごに

これから何ができるかな!?と楽しみです。
サーマルプリンタ、夢広がります。

でもね、その前に作り終わってほしい作品もいくつか残ってるんですよね・・・
明日からサーマルプリンタばかりになりそうな予感。。

これが届くまで一生懸命作ってた別の作品については完成したらブログ書きます。
日常で使うことができるすごく良いものができてるとおもってます^^

それと未踏ジュニアに応募している分はまた別で、もし通ったらそのまま進めて、もし通らなかったらその縮小版プロジェクトとして別ですすめる予定でいます。

って、そんなにできるんかな~!!



スター・はてブ有難うございます^^