Device Hub:インストール、ペアリング、印刷
最終更新 2026-10-13
ブラウザアプリと倉庫ハードウェアを繋ぐオンプレミスの橋:ワークステーションにインストール、1回ペアリング、プリンタ/秤を接続、印刷センターでキューを監視。
Device Hubとは#
ブラウザのサンドボックスはraw TCP / USB / シリアルを開けないため、Web版WMSはZPLプリンタや電子秤と直接通信できません。Device Hubは倉庫の各ワークステーション(Windows PC / Mac)にインストールするトレイ常駐アプリで、「ブラウザ↔ハードウェア」の橋渡しをします:OS起動時に自動起動し、意識せず動作。Tauri v2製で、Windows+macOS(Intel/Apple Silicon)を1つのコードベースで提供。
ダウンロードとインストール#
- 公式ダウンロードページ(/zh/download または /en/download)から取得:プラットフォームに応じてMac DMG / Windows MSI(Universal)を自動推奨します。
- ダウンロード→インストール→next-next-finishで完了。全工程で手動手順はゼロ:ドライバの手動導入、コマンド、設定ファイル編集は不要です。
- 初回起動のセットアップウィザード:①ペアリングコードを表示→②プリンタを自動検出(mDNS+USB)、デバイスにチェックして既定のラベルプリンタを設定→③完了。
- OS起動時に自動起動し、バックグラウンドで静かに動作します。
ペアリング#
- Hubのトレイアイコンに6桁のペアリングコードが表示されます。
- Web側で1回入力してペアリング完了:印刷時に表示されるペアリングダイアログ、またはAdmin → 印刷デバイス画面(Hubのペアリング管理もここ)。
- ペアリング後にトークンが発行され(ブラウザのlocalStorageに保存)、以降のWebSocketハンドシェイクは毎回トークンを携行。既定では127.0.0.1のみにバインドし外部からスキャン不可、LANモード(モバイル/タブレット印刷用)はオプトインで、トークンは依然必須です。
プリンタの接続#
- ZPLプリンタ(Zebra等):USB / ネットワーク9100番、HubはZPLを直接送信し、プリンタ状態(用紙切れ/リボン切れ/カバー開)をポーリング。
- Web側の印刷ボタンはすべてSDK経由でHubへ送信。Hub未インストール時は「Device Hubが検出されません」カードにプラットフォーム別のダウンロードリンクを表示、ZPLダウンロードは代替手段として残ります。
- 既定のラベルプリンタ:印刷デバイス画面で既定マーク(is_default_label_printer)を設定すると、印刷ボタンが送信先を認識します。
- 電子秤はシリアル/USBシリアルで接続し、ボーレート、プレフィックス/サフィックス、単位を設定可能、一般的な連続出力プロトコル(Mettler Toledo、CAS、AND等)に対応。印刷デバイス画面でscale種別として登録します。
モバイルのクラウド印刷フロー#
- モバイルWebでラベル印刷をタップ→POST /api/wms/print-jobs→print_jobsテーブル(queued、ZPL内容を含む)。
- 倉庫PCのDevice HubがSupabase Realtimeを購読(フォールバックは3秒ポーリング)→ジョブをアトミックに取得(UPDATE … WHERE status=queued、0件=キャンセル済みのため印刷せず、誤印刷を防止)。
- ローカルのZebraで印刷→done/failedで書き戻し→モバイルはステータスをポーリング。
印刷センター(Adminアプリ)#
- 印刷キュー:print_jobs全表、状態/倉庫/プリンタ/ラベル種別/時間で絞込。5分以上未処理はハイライト、queuedはキャンセル可、failedは再印刷可、Realtimeで自動更新。WMSの印刷ボタン送信後はここへのジャンプリンクを表示。
- 印刷デバイス:devices全表、オンライン/オフラインはlast_seen_atハートビートで判定(閾値2分)、接続方式、既定ラベルプリンタフラグ、所属Hub。Hubのペアリング管理もここで行います。
Hubが不要な機器:カメラ(getUserMedia)、スキャンガン(キーボードウェッジ、スキャン=キー入力)はブラウザ標準で処理されます。