Star CloudPRNT プロトコルガイド
Star CloudPRNTは、以下のCloudPRNT通信プロトコルを提供します。
Note:
全てのCloudPRNT対応プリンターは、CloudPRNT通信プロトコル Version HTTPをサポートします。
CloudPRNT通信プロトコル Version MQTTに対応するプリンターは 動作環境:対応プリンター を参照ください。
プリンターに対するCloudPRNT通信プロトコルの指定方法
CloudPRNT通信プロトコル Version MQTTに対応するプリンターは、プリンター起動時など、所定のタイミングで サーバー設定情報取得リクエスト(GET) を実行します。
CloudPRNTサーバーからのGETレスポンスにより、プリンターはどのプロトコルで動作するかを決定します。
詳しくは各プロトコルのフロー図をご参照ください。
CloudPRNT 通信プロトコル Version HTTP
CloudPRNTサーバーとプリンターは、以下のHTTPメソッドによる通信を行います。
サーバーポーリング(POST)
プリンターは定期的にPOSTリクエストを実行します。これをPOSTポーリングと呼びます。
リクエストボディで自身のステータス通知(JSONフォーマット)を行いつつ、サーバーからのレスポンスによる印刷ジョブ通知を待機します。
印刷ジョブリクエスト(GET)
サーバーから印刷ジョブ通知を受けた場合、プリンターはGETリクエストを使用し、印刷ジョブを取得します。
印刷ジョブ完了確認(DELETE)
印刷完了後、プリンターはDELETEリクエストによる印刷完了通知を行います。
Version HTTP プロセスフロー
Memo
以下の場合には CloudPRNT通信プロトコル Version MQTT をご利用いただくことをおすすめします。
CloudPRNT 通信プロトコル Version MQTT
CloudPRNT通信プロトコル Version MQTTは、CloudPRNTサーバーとデバイス間の通信にHTTPプロトコルに加えてMQTTプロトコルを利用することにより、より高速なプリンター制御を可能とします。
CloudPRNT通信プロトコル Version MQTTでは、以下の2つの手法を提供します。
Trigger POST
Trigger POSTの利点
- CloudPRNT通信プロトコル Version HTTP を実装済みのシステムからの移行が簡単に行えます。
- Version HTTPにおける、印刷動作開始の遅延、サーバーへの通信負荷を軽減できます。
Trigger POST 概要
CloudPRNT通信プロトコル Version HTTP をベースに、CloudPRNTサーバーはMQTTプロトコルのメッセージをプリンター向けに発行します。
CloudPRNT通信プロトコル Version HTTPと異なり、プリンターは定期的なPOSTポーリングを行いません。(デフォルト設定。定期的に実行させる設定も可能です。)
CloudPRNTサーバーは、印刷実行、またはプリンターステータス取得を行うタイミングで、プリンター向けのMQTTメッセージを発行します。
プリンターはMQTTメッセージを受信すると、すぐにサーバーポーリング(POST)を実行します。
その後の印刷動作はVersion HTTPと同じです。そのため、Version HTTPを構築済みのシステムからの移行が簡単に行えます。
Version MQTT - Trigger POST プロセスフロー
Memo
印刷動作開始を更に早くしたい場合には、 Full MQTT / Pass URL をご利用いただくことをおすすめします。
Full MQTT / Pass URL
Full MQTT / Pass URLの利点
- Trigger POST より更に高速なプリンター制御が行えます。
Full MQTT / Pass URL 概要
CloudPRNTサーバーとプリンターは、主にMQTTプロトコルによる通信を行います。
CloudPRNTサーバーは 印刷実行、またはステータス取得を行うタイミングで、プリンター向けのMQTTメッセージを発行します。
プリンターからのステータス通知や印刷結果通知もMQTTメッセージとなり、CloudPRNTサーバー向けに発行されます。
Full MQTT
プリンターに印刷を指示するMQTTメッセージのペイロードに、軽量な印刷データを載せることを言います。
プリンターはメッセージ受信後、すぐに印刷を開始します。
印刷動作後、プリンターは MQTTメッセージによる印刷結果通知 を行います。
Pass URL
プリンターに印刷を指示するMQTTメッセージのペイロードに、印刷データが格納されたURLを乗せることを言います。
プリンターはメッセージ受信後、指定されたURLに対し 印刷ジョブリクエスト(GET) による印刷データ取得を実行します。
印刷動作後、プリンターは 印刷ジョブ完了確認(DELETE) ではなく、
MQTTメッセージによる印刷結果通知 を行います。