zplCloud Blog
USB のみの GK420 をクラウドプリンターに: Raspberry Pi、エージェント 1 つ、100 ユーロ未満
新しく買うなら Link-OS を。動いているものは動く限り使い続ける。どちらも最後は同じプラットフォームに収まります。
正直な推奨事項から
これからラベルプリンターを購入するのであれば、Link-OS 搭載の Zebra、つまり ZD421、ZD621 またはそれ以上の機種を選んでください。Cloud Connect / Weblink が標準で組み込まれており、Wi-Fi、より高速なプリントヘッド、300 dpi および RFID のバリエーション、リモートでのファームウェアと設定の管理が利用できます。zplCloud への接続はコマンド 1 行で終わり、その後も何年にわたって管理しやすい状態が続きます。
ただし、多くの工房や小規模倉庫が抱えている問いはそこではありません。実際の問いはこうです。
「梱包台に GK420d が 1 台あります。2014 年から毎日出荷ラベルを印刷していて、一度も故障していません。しかし USB しかありません。クラウドから印刷するには、これを廃棄しなければならないのでしょうか。」
いいえ、その必要はありません。
これらのプリンターにできること、できないこと
GK420d/GK420t、GC420、LP2844、そして旧来の TLP シリーズは、機械的に優れていて構造も単純です。203 dpi、感熱式または熱転写式、EPL2 と ZPL II に対応しています。今なお数百万台が稼働しています。
これらに欠けているものは 1 つだけ、接続性です。Link-OS ではないため、Weblink も Cloud Connect も使えません。多くは USB 専用です。クラウドから見れば、これらのプリンターは存在していないのと同じです。
一方で、買い替えに費用がかかる部分はすべて揃っています。正常なプリントヘッド、プラテン、メディアセンサー、そして現場がすでに使い慣れた機器です。
必要なもの
| 部品 | 費用 | 備考 |
|---|---|---|
| Raspberry Pi Zero 2 W、3、4 または 5 | 約 20–80 € | 64 ビットの Raspberry Pi OS であれば何でも可。Zero 2 W で 1〜2 台のプリンターを扱えます |
| 電源、microSD、USB ケーブル | 約 15 € | プリンターに付属のケーブルがそのまま使えます (Pi Zero では micro-USB OTG アダプター) |
| zplCloud CLI エージェント | 込み | Starter はリモートプリンターエージェント 1 台、Pro は 5 台 |
| 合計 | 100 € 未満 | 新しい Link-OS デスクトッププリンターの数百ユーロと比べてください |
エージェントの消費電力は 1 桁ワット台で、systemd サービスとして動作し、停電後は自動的に再接続します。受信ポートの開放も VPN もファイアウォールの変更も不要で、api.zplcloud.com への送信方向の接続を 1 本開くだけです。
セットアップ、所要約 20 分
1. Pi を準備する
Raspberry Pi Imager で Raspberry Pi OS Lite (64 ビット) を書き込みます。カードに書き込む前に Imager の設定で SSH と Wi-Fi を有効にし、起動してログインします。
2. プリンターを接続する
lsusb
# Bus 001 Device 004: ID 0a5f:0084 Zebra Technologies ...
ベンダー ID 0a5f が Zebra です。ドライバーに関する話はこれで全部です。エージェントは USB プリンタークラス (libusb) 経由でプリンターと通信します。CUPS もスプーラーもメーカー製ドライバーも必要ありません。
何も表示されない場合は、充電専用ではなくデータ通信対応のケーブルを使ってください。また、プリンターがポートの供給を超える電力を必要とする場合、Pi Zero には電源付きハブを追加します。
3. CLI をインストールする
curl -fsSL https://zplcloud.com/install-cli.sh | sh
zplcloud --version
zplcloud usb list
インストーラーは適切なビルドを選択します。64 ビットの Pi OS には linux-arm64、32 ビットには linux-arm です。usb list には Zebra のプリンタークラスデバイスが表示されるはずです。
4. Pi からテストラベルを印刷する
zplcloud send --usb --zpl "^XA^FO50,50^A0N,32,32^FDHello from the Pi^FS^XZ"
ラベルが出てくれば、ハードウェア側の作業は完了です。
何も起きない場合は、言語モードを確認してください。GK420 が EPL2 で動作していると、ZPL は単なるテキストとして届き、無視されます。どのモードが有効かは設定ラベルで分かります。USB へのアクセスには権限も必要です。テストであれば sudo で十分ですが、サービスとして動かす場合は、udev ルールでデバイスをグループに割り当てるのがきれいな解決策です。
5. エージェントをサービスとして実行する
プラットフォームの API タブで API キーを作成し、次を実行します。
sudo zplcloud proxy --agent "Packing table Pi" --service-install --api-key sk_zplcloud_xxxx
systemctl status zplcloud-agent
journalctl -u zplcloud-agent -f
これで Restart=always を指定した zplcloud-agent.service がインストールされます。Pi は起動時に接続し、すべてのジョブを USB プリンターへ転送します。
Docker でも動作します。/dev/bus/usb をコンテナにマッピングし、ZPLCLOUD_API_KEY と ZPLCLOUD_AGENT を設定してください (docker-compose.agent.yml を参照)。1 台の Pi で複数の USB プリンターと、TCP 9100 の LAN プリンターを同時に扱えます。
6. どこからでも印刷する
エージェントは USB プリンターとともに Remote Printers に表示され、そこからは通常の zplCloud プリンターとして扱えます。デザイナー、REST API、CSV/JSON からのバッチジョブ、Kafka や SQL のデータソース、梱包担当者向けの Print View、リトライ付きのキュー、成功時と失敗時の Webhook がそのまま使えます。
古いプリンターについて知っておくべき 3 点
フォント。 GK420 のフラッシュメモリは数メガバイトです。11 MB の ZPLCloud Unicode フォントは収まらず、7 MB のスリム版でもぎりぎりです。何かを転送する前に確認してください。
zplcloud send --usb --zpl '! U1 getvar "memory.flash_free"'
アクセント付きのラテン文字には Liberation Sans (0.4 MB) を使うか、zplCloud にテキストを画像としてレンダリングさせてください。デザイナーは画像モードのテキストフィールドに対してこれを自動的に行います。GK420 で CJK を扱う場合は、画像モードが答えになります。SVG から作成したアイコンフォントは数 KB しかなく、余裕で収まります。
解像度と速度。 203 dpi、約 4 ips です。出荷ラベル、商品ラベル、棚ラベルには十分ですが、小型電子機器向けの高密度な 2D コードには向きません。
RFID なし、300 dpi なし、プリンター内蔵の Wi-Fi なし。 これらが必要になったときが買い替えのタイミングです。しかも移行は安く済みます。デザイン、バインディング、Print View、API 呼び出しはそのままで、変わるのはプリンターの登録だけだからです。
使い続けることが筋の通った答えである理由
まだ動くプリンターを廃棄場に送るのは、選べる中で最悪の結果です。機構部品と電子部品に投じられたエネルギーが失われ、そのうえ代替機の輸送が加わります。良好に印刷できる GK420 に必要なのは数年ごとのプリントヘッドであり、これは新しい機器ではなく交換部品です。Pi が追加する消費電力は LED 電球 1 個ほどです。
新しく買うなら Link-OS を。動いているものは動く限り使い続ける。 zplCloud はどちらも同じように扱います。