UPnP Scanner Architecture Junichi Ota Ricoh Corporation Office Solution and Development Group アジェンダ ユーザ使用例 アーキテクチャ シーケンス ダイアグラ ム デバイス サービス スキャン フィーダ 外部アクティビティ 簡単な1ページスキャン Push型 Pull型 フィーダからの複数 ページスキャン ユーザ使用例 スキャン to コントロール ポイント イメージをスキャンし、コントロール ポイントに送る (プッ シュ型) イメージをスキャンし、コントロール ポイントが取り出す (プル型) スキャン to プリント イメージをスキャンし、プリンタのURLに送って印刷する JPEGイメージをXHTML-Print フォーマットに変換後、転送 スキャン to URL イメージをスキャンし、指定されたURLに送る HTTP/POSTで転送する UPnP v1 スキャナ アーキテクチャ スキャナ コントローラ ベンダー独自API スキャン フィーダ 外部アクティビティ プレゼンテーション HTML ドキュメント サービス コントロール プロトコル ドキュメント デバイス ディスクリプ ション ドキュメント UPnP デバイス アーキテクチャ ディスクリプション コントロール ディスカバリ イベンティング アドレッシング プレゼンテーション V1 ホーム ネットワーク スキャナ デバイス UPnP アーキテクチャ v1.0 ベース “urn:schemas-upnp-org:device:Scanner:1 “ 3種類のサービスの組み合わせ スキャン サービス (必須) フィーダ サービス (オプション) スキャナを操作し、イメージをスキャンする ドキュメント フィーダを制御する 外部アクティビティ サービス (オプション) ユーザに起因するイベントの自動通知設定と、それに関連付 けたジョブの登録 例) 「スキャン」ボタンを押すことにより、スキャンを開始する スキャナ デバイス ディスクリプション <?xml version="1.0"?> <serviceList> <root xmlns="urn:schemas-upnp-org:device-1-0"> スキャン サービス <service> <specVersion> <serviceType>urn:schemas-upnp-org:service:Scan:1</serviceType> <major>1</major> <serviceId>urn:upnp-org:serviceId:Scan:0.92</serviceId> デバイス情報 <minor>0</minor> <SCPDURL>URL to service description</SCPDURL> </specVersion> <controlURL>URL for control</controlURL> <URLBase> base URL for all relative URLs </URLBase> <device> <eventSubURL>URL for eventing</eventSubURL> </service> <deviceType>urn:schemas-upnp-org:device:Scanner:1</deviceType> フィーダ サービス <service> <friendlyName>short user-friendly title</friendlyName> <serviceType>urn:schemas-upnp-org:service:Feeder:1</serviceType> <manufacturer>manufacturer name</manufacturer> <serviceId>urn:upnp-org:serviceId:Feeder:0.92</serviceId> <manufacturerURL>URL to manufacturer site</manufacturerURL> <SCPDURL>URL to service description</SCPDURL> <modelDescription>long user-friendly title</modelDescription> <controlURL>URL for control</controlURL> <modelName>model name</modelName> <eventSubURL>URL for eventing</eventSubURL> <modelNumber>model number</modelNumber> </service> <modelURL>URL to model site</modelURL> <service> 外部アクティビティ サービス <serialNumber>manufacturer's serial number</serialNumber> <serviceType>urn:schemas-upnp-org:service:ExternalActivity:1</serviceType> <UDN>uuid:UUID</UDN> <serviceId>urn:upnp-org:serviceId:ExternalActivity:0.91</serviceId> <UPC>Universal Product Code</UPC> <SCPDURL>URL to service description</SCPDURL> <iconList> <controlURL>URL for control</controlURL> <icon> <eventSubURL>URL for eventing</eventSubURL> <mimetype>image/format</mimetype> <width>horizontal pixels</width> <height>vertical pixels</height> <depth>color depth</depth> <url>URL to icon</url> </service> </serviceList> <presentationURL>URL for presentation</presentationURL> </device> </root> </icon> </iconList> プレゼンテーションWebページURL デバイス アイコン スキャン サービス サービス名 “Scan:1” SOAP アクション StartScan Start Stop Abort SetConfiguration GetConfiguration GetSideInformation GetDestination GetState Abort() || Timeout Idle Timeout (Abort() || Timeout) && Intervention Required Reserve StartScan() && !Ready Reserved Buffer Empty Abort() Erred Timeout StartScan() && Ready NotReady FailureCode != "No Error" Ready UseFeeder && !Feeder.MorePages || Timeout Pending (UseFeeder && Feeder.MorePages && SideCount != 0) || (!UseFeeder && SideCount != 0) Finishing Page Complete && ((UseFeeder && !Feeder.MorePages) || SideCount == 0) Stop() Timeout Scanning Timeout スキャン サービス 状態変数 (自動通知) State (状態) Scanned side number ScanLength No Error/Jammed/Timeout SideNumber Idle/Scanning/Pending FailureCode Scanned line number DestinationID Notice that the destination has changed 状態変数 Resolution ImageFormat ImageType BitDepth ColorType CompressionFactor ColorSpace UseFeeder HeightLimit WidthLimit XValueLimit YValueLimit Destination JobID …..etc. フィーダ サービス サービス名 “Feeder:1” SOAP アクション Load Eject Reset GetState SetFeederMode GetFeederMode 状態変数 MorePages (自動通知) FeederMode Simplex/Duplex StateFailureCode SheetWidth SheetHeight InputJustification EntireDocument Model JobID Timeout 外部アクティビティ サービス サービス名 状態変数 “ExternalActivity:1” Activity SOAPアクション Register Renew Unregister AvailableRegistrations DisplayString DisplayStringSize (読み取りアクセスのみ) (読み取りアクセスのみ) ButtonName Duration RegistrationID シーケンス ダイアグラム (1) 簡単な 1 ページ スキャン (プッシュ型) イベントの自動通知登録 アクション: StartScan() Destination=クライアントURL 画像データ: HTTP/POST イベント: ScanLength イベント: ScanLength シーケンス ダイアグラム (2) 簡単な 1 ページ スキャン (プル型) イベントの自動通知登録 アクション: StartScan() Destination=“pull-absolute” イベント: DestinationID アクション: GetDestination() 画像データ: HTTP/GET イベント: ScanLength イベント: ScanLength シーケンス ダイアグラム (3) フィーダからの複数ページスキャン (プル型) イベントの自動通知登録 アクション: StartScan() UseFeeder=TRUE Destination=“pull-absolute” イベント: DestinationID アクション: GetDestination() 画像データ: HTTP/GET イベント: Feeder:MorePages 2ページ目スキャン イベント: DestinationID アクション: GetDestination() 画像データ: HTTP/GET 1ページ目スキャン For the interconnected lifestyle
© Copyright 2025 ExpyDoc