JPWO2014106882A1 - デバイス制御システム、印刷装置、及び、デバイス制御システムの制御方法 - Google Patents

デバイス制御システム、印刷装置、及び、デバイス制御システムの制御方法 Download PDF

Info

Publication number
JPWO2014106882A1
JPWO2014106882A1 JP2014555399A JP2014555399A JPWO2014106882A1 JP WO2014106882 A1 JPWO2014106882 A1 JP WO2014106882A1 JP 2014555399 A JP2014555399 A JP 2014555399A JP 2014555399 A JP2014555399 A JP 2014555399A JP WO2014106882 A1 JPWO2014106882 A1 JP WO2014106882A1
Authority
JP
Japan
Prior art keywords
device control
request
terminal
control
printer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014555399A
Other languages
English (en)
Other versions
JP6277961B2 (ja
Inventor
和弘 ▲高▼栖
和弘 ▲高▼栖
浩一郎 堤
浩一郎 堤
茂夫 池田
茂夫 池田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Publication of JPWO2014106882A1 publication Critical patent/JPWO2014106882A1/ja
Application granted granted Critical
Publication of JP6277961B2 publication Critical patent/JP6277961B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/209Specified transaction journal output feature, e.g. printed receipt or voice output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1205Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1207Improving or facilitating administration, e.g. print management resulting in the user being informed about print result after a job submission
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1209Improving or facilitating administration, e.g. print management resulting in adapted or bridged legacy communication protocols, e.g. emulation, protocol extension
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1236Connection management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1246Job translation or job parsing, e.g. page banding by handling markup languages, e.g. XSL, XML, HTML
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1279Controller construction, e.g. aspects of the interface hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1284Local printer device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1286Remote printer device, e.g. being remote from client or server via local network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1291Pool of printer devices: self-managing printing devices in a network, e.g. without a server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1292Mobile client, e.g. wireless printing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1293Printer information exchange with computer
    • G06F3/1294Status or feedback related to information exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1297Printer code translation, conversion, emulation, compression; Configuration of printer parameters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1297Printer code translation, conversion, emulation, compression; Configuration of printer parameters
    • G06F3/1298Printer language recognition, e.g. programme control language, page description language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/202Interconnection or interaction of plural electronic cash registers [ECR] or to host computer, e.g. network details, transfer of information from host to ECR or from ECR to ECR
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/208Input by product or record sensing, e.g. weighing or scanner processing
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07GREGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
    • G07G1/00Cash registers
    • G07G1/12Cash registers electronically operated
    • G07G1/14Systems including one or more distant stations co-operating with a central processing unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00326Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a data reading, recognizing or recording apparatus, e.g. with a bar-code apparatus
    • H04N1/00328Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a data reading, recognizing or recording apparatus, e.g. with a bar-code apparatus with an apparatus processing optically-read information
    • H04N1/00334Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a data reading, recognizing or recording apparatus, e.g. with a bar-code apparatus with an apparatus processing optically-read information with an apparatus processing barcodes or the like
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Telephonic Communication Services (AREA)
  • Facsimiles In General (AREA)
  • Selective Calling Equipment (AREA)

Abstract

ネットワーク接続された端末によりデバイスを制御できるようにする。ウェブブラウザー31を備えた端末3と、接続されたデバイスを制御するプリンター5とを備えたデバイス制御システムである。端末3は、ウェブアプリケーション32によってデバイスを制御するデバイスAPI33がデバイスに対応して有するオブジェクトを呼び出し、プリンター5にリクエストを送信し、プリンター5は、デバイスを制御するデバイス制御スクリプト502を実行し、デバイスAPI33を介して送信されたリクエストを受信してデバイスを制御する。

Description

本発明は、デバイスを制御するデバイス制御システム、印刷装置、及び、デバイス制御システムの制御方法に関する。
従来、ネットワークに接続された端末により、キーボード、バーコードスキャナー等のデバイスを制御するシステムでは、デバイスの制御用に、コントローラーとなる機器(コンピューターなど)が用意されていた。
特開2004−152256号公報
しかしながら、シンプルな構成で上述したようなデバイスを使用したいというニーズがあった。
本発明は、上述した事情に鑑みてなされたものであり、ネットワーク接続された端末によりデバイスを制御できるデバイス制御システム、印刷装置、及び、デバイス制御システムの制御方法を提供することを目的とする。
上記目的を達成するために、本発明のデバイス制御システムは、デバイスと、前記デバイスと接続する接続部、及び前記接続部に接続された前記デバイスを制御するデバイス制御部を有するデバイス制御装置と、前記デバイス制御装置と接続し、ウェブアプリケーションの表示及び前記デバイスを制御するデバイスアプリケーションプログラムインターフェースを実行させるウェブブラウザーを動作させる端末と、を備えることを特徴とする。
本発明によれば、端末のウェブブラウザーによって、デバイス制御装置に接続されたデバイスを制御できる。
また、本発明は、前記デバイスアプリケーションプログラムインターフェースは、前記デバイスに対応するオブジェクトを有し、前記ウェブアプリケーションは前記オブジェクトを呼び出し、前記デバイス制御装置にリクエストを送信する。
また、本発明の構成によれば、前記デバイス制御装置は、前記デバイスを制御するデバイス制御スクリプトを実行し、前記デバイス制御スクリプトは、前記オブジェクトと接続し、前記端末で送信された前記リクエストを受信して前記接続部に接続された前記デバイスを制御する。
また、本発明の構成によれば、前記デバイス制御スクリプトは、前記デバイスとデータを送受信するデバイス接続オブジェクト、及び前記デバイスAPIにデータを送信するクライアント接続オブジェクトを有する。
また、本発明の構成によれば、前記リクエストは、前記デバイス制御装置に接続された前記デバイスを指定して前記デバイスの制御の開始を指示する制御開始リクエストであり、前記コマンドは、前記デバイスの制御の開始を指示する制御開始コマンドであり、前記端末が前記制御開始リクエストを前記デバイス制御装置に送信した時、前記デバイス制御装置は前記制御開始リクエストで指定された前記デバイスに前記制御開始コマンドを送信し、前記デバイスを前記端末で制御可能とする。
また、本発明によれば、前記デバイス制御装置と接続し、第2のウェブアプリケーションの表示及び前記デバイスを制御する第2のデバイスアプリケーションプログラムインターフェースを実行させるウェブブラウザーを動作させる第2の端末を備え、前記第2のデバイスアプリケーションプログラムインターフェースは、前記デバイスに対応する第2のオブジェクトを有する。
また、前記端末で前記デバイスの制御が可能な時に、前記デバイス制御装置は前記デバイスを排他ロック状態とし、前記第2のウェブアプリケーションが前記第2のオブジェクトを呼び出して前記デバイス制御装置に第2のリクエストを送信した場合に前記第2のリクエストでの前記デバイスの制御を実行させない。
また、前記端末で前記デバイスの制御が可能な時に前記第2の端末が前記第2のリクエストを前記デバイス制御装置に送信した場合、前記デバイス制御装置は、前記第2の端末に前記デバイスが使用中であることを示す通知を送信する。
また、前記デバイスは、印刷を行うプリンターであり、前記端末で前記プリンターの制御が可能な時に前記第2の端末が前記第2のリクエストを前記デバイス制御装置に送信した場合、前記デバイス制御装置は前記第2のリクエストに基づいて前記デバイス制御スクリプトで前記プリンターを前記第2の端末での制御を可能にする。
また、前記端末の前記ウェブアプリケーションは前記オブジェクトを呼び出し、前記デバイス制御装置に前記デバイスを指定して前記デバイスの制御終了を指示する制御終了リクエストを送信し、前記端末が前記制御終了リクエストを前記デバイス制御装置に送信した時、前記デバイス制御装置は前記制御終了リクエストで指定された前記デバイスに前記デバイス制御スクリプトで制御の終了を指示する第2のコマンドを送信し、前記端末での前記デバイスの制御を終了させる。
また、前記デバイス制御装置が前記端末での前記デバイスの制御を終了させた後に前記第2の端末が前記第2のリクエストを前記デバイス制御装置に送信した場合、前記デバイス制御装置は前記第2のリクエストに基づいて前記デバイス制御スクリプトで前記デバイスを前記第2の端末での制御を可能にする。
また、前記デバイスアプリケーションプログラムインターフェースは、前記オブジェクトと前記デバイス制御装置のデバイス制御スクリプトとの接続を検出する。
また、前記オブジェクトは、前記デバイス制御スクリプトに含まれるイベントを呼び出す。
また、前記デバイスは、表示を行うディスプレイであり、前記リクエストは、前記ディスプレイを指定して前記ディスプレイの表示を要求する表示リクエストであり、前記端末が前記表示リクエストを前記デバイス制御装置に送信した時、前記デバイス制御装置は前記表示リクエストで指定された前記ディスプレイに前記デバイス制御スクリプトで表示を要求する表示コマンドを送信する。
また、前記表示リクエストで要求するディスプレイの表示は、時刻の表示である。
また、前記リクエストは、前記デバイスを指定して前記デバイスにイメージデータの登録を要求する登録リクエストであり、前記端末が前記登録リクエストを前記デバイス制御装置に送信した時、前記デバイス制御装置は前記登録リクエストで指定された前記デバイスに前記デバイス制御スクリプトで前記イメージの登録を指示する登録コマンドを送信する。
また、前記端末は、前記イメージデータを前記デバイス制御装置に送信し、前記デバイス制御スクリプトは、前記イメージデータを前記ラスターイメージデータに変換する。
また、前記リクエストは、前記デバイスを指定して、前記デバイスと前記端末との間で送受信されるデータの暗号化の要否の設定を指示する暗号化リクエストである。
また、本発明の構成によれば、印刷装置は、デバイスと接続する接続部と、デバイスを制御するデバイス制御スクリプトを実行して、前記接続部に接続された前記デバイスを制御するデバイス制御部と、印刷を行う印刷部と、を有することを特徴とする。
また、本発明のデバイス制御システムの制御方法は、ウェブブラウザーを動作させる端末、デバイス、及び前記デバイスと接続するデバイス制御装置を有し、前記ウェブブラウザーで動作するウェブアプリケーションで前記デバイスに対応するオブジェクトを呼び出し、前記デバイス制御装置にリクエストを送信し、前記デバイス制御装置で前記デバイスを制御するデバイス制御スクリプトを実行し、前記デバイス制御装置で受信した前記リクエストに基づいて前記デバイス制御スクリプトで前記デバイスを制御するコマンドを前記デバイスに送信し、前記端末での前記デバイスの制御を確立することを特徴とする。
また、前記リクエストは、前記デバイス制御装置に接続された前記デバイスを指定して前記デバイスの制御の開始を指示する制御開始リクエストであり、前記端末が前記制御開始リクエストを前記デバイス制御装置に送信した時、前記デバイス制御装置は前記制御コマンドを前記デバイスに送信し、前記デバイスを前記端末での制御を開始させる。
本発明の第1の実施形態に係るデバイス制御システムの構成図である。 本発明の第2の実施形態に係るデバイス制御システムの構成図である。 本発明の第3の実施形態に係るデバイス制御システムの構成図である。 インテリジェントプリンターに接続されるデバイスの接続例を示す図である。 インテリジェントプリンターの外観斜視図である。 コネクターパネルを示す図である。 無線LANユニットの接続例を示す図である。 デバイス制御システムの機能的構成を示す図である。 キーボードから取得可能なキーコードの例を示す図である。 環境の構築のワークフローを示す図である。 ウェブコンテンツの登録方法を示す図である。 ウェブコンテンツの登録方法を示す図である。 デバイス制御スクリプトの登録方法を示す図である。 デバイスの登録方法を示す図である。 デバイスの登録で選択されるデバイスの種類を示す図である。 ネットワークプリンターを登録する場合の入力項目を示す図である。 カスタマーディスプレイを登録する場合の入力項目を示す図である。 キー入力デバイスを登録する場合の入力項目を示す図である。 シリアル通信デバイスを登録する場合の入力項目を示す図である。 その他のデバイスを登録する場合の入力項目を示す図である。 プログラミングフローを示す図である。 Deviceオブジェクトを示す図である。 デバイスオブジェクト共通のオブジェクトを示す図である。 Displayオブジェクトを示す図である。 Keyboardオブジェクトを示す図である。 Printerオブジェクトを示す図である。 Printerオブジェクトを示す図である。 Printerオブジェクトを示す図である。 Scannerオブジェクトを示す図である。 SimpleSerialオブジェクトを示す図である。 connectメソッドの詳細を示す図である。 isConnectメソッドの説明図である。 createDeviceメソッドの説明図である。 createDeviceメソッドの説明図である。 deleteDeviceメソッドの説明図である。 createWindowメソッドの説明図である。 moveCursorPositionメソッドの説明図である。 setCursorTypeメソッドの説明図である。 addTextメソッドの説明図である。 addReverseTextメソッドの説明図である。 addMarqueeメソッドの説明図である。 addMarqueeメソッドの説明図である。 setBrightnessメソッドの説明図である。 onreceiveイベントの説明図である。 onreceiveイベントの説明図である。 onreceiveイベントの説明図である。 onkeypressイベントの説明図である。 onstringイベントの説明図である。 addTextAlignメソッドの説明図である。 addTextAlignメソッドの説明図である。 addTextAlignメソッドの説明図である。 addTextLineSpaceメソッドの説明図である。 addTextLineSpaceメソッドの説明図である。 addTextRotateメソッドの説明図である。 addTextRotateメソッドの説明図である。 addTextRotateメソッドの説明図である。 addTextメソッドの説明図である。 addTextメソッドの説明図である。 addTextメソッドの説明図である。 addTextLangメソッドの説明図である。 addTextLangメソッドの説明図である。 addTextLangメソッドの説明図である。 addTextFontメソッドの説明図である。 addTextFontメソッドの説明図である。 addTextFontメソッドの説明図である。 addTextSmoothメソッドの説明図である。 addTextSmoothメソッドの説明図である。 addTextSmoothメソッドの説明図である。 addTextDoubleメソッドの説明図である。 addTextDoubleメソッドの説明図である。 addTextDoubleメソッドの説明図である。 addTextDoubleメソッドの説明図である。 addTextSizeメソッドの説明図である。 addTextSizeメソッドの説明図である。 addTextSizeメソッドの説明図である。 addTextSizeメソッドの説明図である。 addTextStyleメソッドの説明図である。 addTextStyleメソッドの説明図である。 addTextStyleメソッドの説明図である。 addTextStyleメソッドの説明図である。 addTextStyleメソッドの説明図である。 addTextStyleメソッドの説明図である。 addTextPositionメソッドの説明図である。 addTextPositionメソッドの説明図である。 addFeedUnitメソッドの説明図である。 addFeedUnitメソッドの説明図である。 addFeedLineメソッドの説明図である。 addFeedLineメソッドの説明図である。 addImageメソッドの説明図である。 addImageメソッドの説明図である。 addImageメソッドの説明図である。 addImageメソッドの説明図である。 addLogoメソッドの説明図である。 addLogoメソッドの説明図である。 addBarcodeメソッドの説明図である。 addBarcodeメソッドの説明図である。 addBarcodeメソッドの説明図である。 addBarcodeメソッドの説明図である。 addBarcodeメソッドの説明図である。 addBarcodeメソッドの説明図である。 addBarcodeメソッドの説明図である。 addBarcodeメソッドの説明図である。 addBarcodeメソッドの説明図である。 addSymbolメソッドの説明図である。 addSymbolメソッドの説明図である。 addSymbolメソッドの説明図である。 addSymbolメソッドの説明図である。 addSymbolメソッドの説明図である。 addSymbolメソッドの説明図である。 addSymbolメソッドの説明図である。 addHLineメソッドの説明図である。 addHLineメソッドの説明図である。 addHLineメソッドの説明図である。 addVLineBeginメソッドの説明図である。 addVLineBeginメソッドの説明図である。 addVLineBeginメソッドの説明図である。 addVLineEndメソッドの説明図である。 addVLineEndメソッドの説明図である。 addVLineEndメソッドの説明図である。 addPageBeginメソッドの説明図である。 addPageEndメソッドの説明図である。 addPageAreaメソッドの説明図である。 addPageAreaメソッドの説明図である。 addPageDirectionメソッドの説明図である。 addPageDirectionメソッドの説明図である。 addPageDirectionメソッドの説明図である。 addPagePositionメソッドの説明図である。 addPagePositionメソッドの説明図である。 addPageLineメソッドの説明図である。 addPageLineメソッドの説明図である。 addPageLineメソッドの説明図である。 addPageRectangleメソッドの説明図である。 addPageRectangleメソッドの説明図である。 addPageRectangleメソッドの説明図である。 addCutメソッドの説明図である。 addCutメソッドの説明図である。 addCutメソッドの説明図である。 addPulseメソッドの説明図である。 addPulseメソッドの説明図である。 addPulseメソッドの説明図である。 addPulseメソッドの説明図である。 addSoundメソッドの説明図である。 addSoundメソッドの説明図である。 addSoundメソッドの説明図である。 addSoundメソッドの説明図である。 addCommandメソッドの説明図である。 addCommandメソッドの説明図である。 printメソッドの説明図である。 printメソッドの説明図である。 printメソッドの説明図である。 halftoneプロパティの説明図である。 onreceiveイベントの説明図である。 onreceiveイベントの説明図である。 onreceiveイベントの説明図である。 onreceiveイベントの説明図である。 onerrorイベントの説明図である。 ondataイベントの説明図である。 デバイス制御スクリプトの使用に関する説明図である。 デバイス制御スクリプトのオブジェクトの説明図である。 デバイス制御スクリプトのプロパティの一覧を示す図である。 デバイス制御スクリプトのプロパティの一覧を示す図である。 デバイス制御スクリプト502の構成例を示す図である。 ClientConnectionオブジェクトのAPIの一覧を示す図である。 DeviceConnectionオブジェクトのAPIの一覧を示す図である。 デバイス制御スクリプト名オブジェクトのAPIの一覧を示す図である。 ClientConnectionオブジェクトのAPIの説明図である。 onDeviceDataイベントの説明図である。 POS端末のサンプルの一例を示す図である。 プリンターのサンプルプログラムの一例を示す図である。 サンプルプログラムの環境設定のフローを示す図である。 サンプルプログラムを登録する画面の例を示す図である。 カスタマーディスプレイを設定する画面を示す図である。 POSキーボード/バーコードスキャナーを設定する画面を示す図である。 デバイスの設定の例を示す図である。 サンプルプログラムの表示例を示す図である。 Customer Display Sample画面の例を示す図である。 Customer Display Sample画面の例を示す図である。 Customer Display Sample画面の例を示す図である。 Keyboard Sample画面の例を示す図である。 Keyboard Sample画面の入力と結果の例を示す図である。 Keyboard Sample画面の例を示す図である。 Printer Sample画面の例を示す図である。 Printer Sample画面の例を示す図である。 Printer Sample画面の例を示す図である。 Barcode Scanner Sample画面の例を示す図である。 Barcode Scanner Sample画面の例を示す図である。 POS Terminal Sample画面の例を示す図である。 設定画面の例を示す図である。 POS Terminal Sample画面の例を示す図である。 POS Terminal Sample画面の例を示す図である。 POS Terminal Sample画面の例を示す図である。
以下、図面を参照して本発明の実施形態について説明する。
図1は、本発明を適用した第1の実施形態であり、アプリケーションサーバー2を備えたデバイス制御システム100の構成例を示す図である。
デバイス制御システム100は、アプリケーションサーバー2、端末3、及び、プリンター5(インテリジェントプリンター)を備えている。デバイス制御システム100では、アプリケーションサーバー2、端末3及びプリンター5が通信ネットワークを介して接続される。図1の例では、デバイス制御システム100は、無線LANアクセスポイント11を有し、アプリケーションサーバー2、プリンター5及び無線LANアクセスポイント11は有線LANにより接続される。無線LANアクセスポイント11は端末3を有線LANに接続する。これにより、端末3は無線LANアクセスポイント11と通信可能な範囲であれば使用できる。
プリンター5には、制御対象のデバイスとして、ネットワークプリンター7、カスタマーディスプレイ8、及びバーコードスキャナー9が接続される。ネットワークプリンター7は、プリンター5に対してネットワークを介して接続される。カスタマーディスプレイ8及びバーコードスキャナー9は、後述するUSBインターフェースを介して接続される。これらのデバイスは、一般的に周辺機器(peripheral)と呼ばれるが、以下の説明ではデバイスと呼ぶ。
プリンター5に接続するデバイスは図1に示す機器に限定されない。例えば、ディスプレイ、及び、キーボード等のキー入力デバイスを含む。また、OS標準のHID(Human interface device)ドライバーで制御可能なデバイス、OS標準のシリアル通信ドライバーで動作可能なシリアル通信デバイス、及び、シリアル通信デバイスと同様に制御可能なUSBデバイスを含む。
端末3は、ネットワーク接続可能なウェブブラウザーを有し、このウェブブラウザーによって、プリンター5に接続されたデバイスを制御できる。
端末3は、ネットワーク接続可能なウェブブラウザー搭載端末であればよく、例えば、図1に示すように周知のタブレットを用いることができる。デバイス制御システム100では、デバイスの制御用に、別途、コントローラーとなる機器(コンピューターなど)を用意する必要がない。
デバイス制御システム100の動作は、次の通りである。
(1)アプリケーションサーバー2にウェブアプリケーションを配置する。
(2)端末3のウェブブラウザーにより、ウェブアプリケーションを表示する。
(3)端末3のウェブブラウザーがプリンター5に対し、リクエストメッセージを送信する。
(4)プリンター5がリクエストメッセージを受信する。プリンター5は、受信したリクエストメッセージに基づいて、プリンター5によって制御可能なデバイスにデータを送信する。
(5)プリンター5に接続されるネットワークプリンター7、カスタマーディスプレイ8及びバーコードスキャナー9が制御される。
(6)プリンター5がウェブアプリケーションにレスポンスを返す。
図2は、本発明を適用した第2の実施形態であり、アプリケーションサーバー2を備えたデバイス制御システム200の構成例を示す図である。デバイス制御システム200は、端末3及びプリンター5を備えている。デバイス制御システム200では、アプリケーションサーバー2が、インターネット等の遠隔通信ネットワークにより端末3に接続される。図2の例ではカスタマーディスプレイ8がプリンター5に接続される。
デバイス制御システム200の動作は、次の通りである。
(1)アプリケーションサーバー2にウェブアプリケーションを配置する。
(2)端末3のウェブブラウザーにより、ウェブアプリケーションを表示する。
(3)端末3のウェブブラウザーがプリンター5に対し、リクエストメッセージを送信する。
(4)プリンター5がリクエストメッセージを受信する。プリンター5は、受信したリクエストメッセージに基づいて、プリンター5によって制御可能なデバイスにデータを送信する。
(5)プリンター5に接続されているネットワークプリンター7、カスタマーディスプレイ8及びバーコードスキャナー9が制御される。
(6)プリンター5がウェブアプリケーションにレスポンスを返す。
図3は、本発明を適用した第3の実施形態のデバイス制御システム300を示す図である。デバイス制御システム300は、アプリケーションサーバーとして用いる例である。デバイス制御システム300では、端末3がプリンター5に接続される。
デバイス制御システム300の動作は、次の通りである。
(1)プリンター5にウェブアプリケーションを配置する。
(2)端末3のウェブブラウザーにより、ウェブアプリケーションを表示する。
(3)端末3のウェブブラウザーがプリンター5に対し、リクエストメッセージを送信する。
(4)プリンター5がリクエストメッセージを受信する。プリンター5は、受信したリクエストメッセージに基づいて、プリンター5によって制御可能なデバイスにデータを送信する。
(5)プリンター5に接続されているネットワークプリンター7、カスタマーディスプレイ8及びバーコードスキャナー9が制御される。
(6)プリンター5がウェブアプリケーションにレスポンスを返す。
このように、本発明を適用したシステムでは、ウェブブラウザーを搭載した端末3が、ウェブアプリケーションを表示して、プリンター5に接続されたデバイスを制御できる。
プリンター5の構成について説明する。
プリンター5は、CPU、RAM、フラッシュROM、NV(不揮発性メモリー)、ビデオコントローラー、補助記憶装置(SSD:solidstatedrive)、インターフェース、及び、ローカルプリンター(印刷部)を備えている。プリンター5は、スピーカーを備えていてもよい。ローカルプリンターは、80mm幅または58mm幅のロール紙に印刷するサーマルプリンターである。
プリンター5にはPOS(pointofsales)システムをインストールできる。プリンター5のOS(operatingsystem)は、例えばWindows(登録商標)ベースであり、補助記憶装置に記憶される。
プリンター5は、プリンター5に接続されるデバイスを端末3が制御するソフトウェアである、デバイス制御プログラムを備えている。このため、端末3はドライバープログラムを必要としない。
プリンター5は、プリンター5が備えるローカルプリンター、及び、デバイスを制御するソフトウェアである、Windows(登録商標)標準のデバイスドライバープログラム(APD)、UPOSドライバー、OPOSドライバー等を備えている。
プリンター5には、ウェブアプリケーションをインストールできる。これにより、図3に示すようにプリンター5をアプリケーションサーバーとして利用できる。ウェブアプリケーションは、例えば、PHP及びPerlのサーバーサイドスクリプト、SQLiteデータベースアクセス(サーバーサイドスクリプト)が可能である。
図4は、プリンター5に接続されるデバイスの接続例を示す図である。
プリンター5には、上述したネットワークプリンター7、カスタマーディスプレイ8及びバーコードスキャナー9を接続できる。プリンター5にディスプレイ12、キャッシュドロワー13、及びキーボード14を接続できる。
図5は、プリンター5の外観斜視図である。
プリンター5の上部には、ロール紙カバー51が設けられる。ロール紙カバーはカバーオープンボタン52を押すと開き、ロール紙を出し入れできる。印刷後のロール紙を排出する排出口には、手動でロール紙をカットするマニュアルカッター53、及び、カッターカバー54を有する。カッターカバー54はプリンター5のローカルプリンターで紙ジャムが発生した場合及びロール紙カバー51が開かない場合に開かれる。カッターカバー54を開くとマニュアルカッター53のブレードが基準位置に戻る。プリンター5は、電源スイッチ56B、リセットボタン56A、LED表示部57、及び、コントロールパネル58を備える。LED表示部57は、補助記憶装置のアクセスを示すディスクアクセスLED、及び、ステータスLEDを備える。ステータスLEDは、OSの動作状態、OSのスタンバイモード、電源オフ状態、OSの起動シーケンス中、CPUの高温警告を通知する。
コントロールパネル58はパワーLED、エラーLED、ロール紙LED、及び送りボタンを備える。パワーLEDは電源が供給されている場合に点灯する。エラーLEDは通常動作時は消灯し、リセットされたとき、及び、ロール紙の末端が検出されて印刷が停止したときに点灯する。ペーパーLEDはロール紙の残量が十分なときは消灯し、残量がすくなくなると点灯し、自己診断機能の実行時に点滅する。送りボタンを押すと1行ずつ、または連続してロール紙が搬送される。
プリンター5の後部にはコネクターカバー59が設けられる。コネクターカバー59を外すと、プリンター5の背面のコネクターパネル(connection panel)が現れる。
図6はコネクターパネル60を示す図である。コネクターパネル60は、ドロワーキックコネクター61、イーサネットコネクター62、USBコネクター63、VGAコネクター64、COMコネクター65、ライン出力66、及びDC入力67を有する。コネクターパネル60は、本発明の接続部に相当する。但し、プリンター5のデバイスには、プリンター5本体が備えるローカルプリンター55が含まれる。従って、接続部は、コネクターパネル60、及び、プリンター5内部のインターフェースを含む。
ドロワーキックコネクター61には、キャッシュドロワー13またはオプションのブザーが接続される。イーサネットコネクター62はネットワークに接続される。USBコネクター63は6個のUSBポートを有する。USBコネクター63にはカスタマーディスプレイ8、バーコードスキャナー9、キーボード14及びその他のデバイスが接続される。VGAコネクター64にはディスプレイ12が接続される。COMコネクター65にはシリアル通信を行うデバイスのシリアルインターフェースが接続される。ライン出力66は外部のスピーカーに接続される。
図7は、無線LANユニット17の接続例を示す図である。無線LANユニット17は、USB延長ケーブル15に差し込まれ、USB延長ケーブル15はUSBコネクター63に差し込まれる。これにより、プリンター5を無線LAN接続することができる。
以下、デバイス制御システム100を例に挙げて、本発明の実施形態を詳細に説明する。
図8は、デバイス制御システム100の機能的構成を示す図である。
端末3は、アプリケーションサーバー2によって提供されるウェブアプリケーション32を、ウェブブラウザー31により表示する。ウェブアプリケーション32は、ウェブブラウザー31が有するデバイスアプリケーションプログラムインターフェース(API)33を呼び出す。デバイスAPI33は、例えばJava(登録商標)スクリプトであり、後述するように、プリンター5に接続されたデバイスを制御するオブジェクトを生成する。ウェブアプリケーション32はデバイスAPI33のオブジェクトを呼び出す(APICall)。デバイスAPI33は、呼び出されたオブジェクトの機能により、プリンター5に対してリクエストを送信する(Request)。
プリンター5では、デバイスサービスインターフェース501がリクエストを受け付けて、デバイス制御スクリプト502を制御する。デバイス制御スクリプト502は、キー入力デバイス18及びシリアル通信デバイス19を制御する。デバイス制御スクリプト502は、キー入力デバイス18により入力されたデータを取得して、デバイスサービスインターフェース501にデータを出力する。デバイス制御スクリプト502は、シリアル通信デバイス19との間でデータ通信を実行し、シリアル通信デバイス19から受信したデータをデバイスサービスインターフェース501に出力する。ここで、キー入力デバイス18はキーボード14を含み、シリアル通信デバイス19はバーコードスキャナー9及びキャッシュドロワー13を含む。
デバイスサービスインターフェース501は、ローカルプリンター55とデータを送受信する。ローカルプリンター55は、プリンター5が備えるローカルプリンターである。また、デバイスサービスインターフェース501は、ネットワークプリンター7及びカスタマーディスプレイ8とデータを送受信する。デバイスサービスインターフェース501は、デバイスのイベント(Event)やデバイスからの応答(Response)を、デバイスAPI33に出力する。デバイスAPI33は、ウェブアプリケーション32に応答(Callback)を出力する。
以上の動作により、デバイス制御システム100では、端末3によってプリンター5に接続されたデバイスを制御する。
このように、本発明は、プリンター5に接続されたデバイス(周辺機器)をマルチプラットフォーム環境で制御するときに用いられる。このシステムを利用すれば、ウェブブラウザーを搭載したパーソナルコンピューター、スマートフォン、あるいはタブレットコンピューターを用いてデバイスを制御できる。
また、デバイスAPI33は、以下の特徴を有する。
・デバイスとの通信内容を暗号化できる。
・プリンター5のOS標準のドライバーで動作するデバイスは、プリンター5にドライバーをインストールせずに、デバイス制御スクリプト502で使用できる。デバイス制御スクリプト502はJavaScript(商標)で記述するため、ウェブアプリケーション32と同じ言語で開発できる。
・デバイスAPI33を使ってデバイスにアクセスすると、デバイスは自動的に、排他ロックされる。このため、複数端末から同時アクセスしても、制御が混在しない。デバイス制御していた端末3がデバイスを解放すると、このデバイスは他の端末3から制御可能となる。
さらに、デバイスAPI33は、以下の特徴を有する。
・罫線を印刷するコマンドは、プリンター5のローカルプリンター55またはネットワークプリンター7が「罫線コマンド」をサポートしている場合に使用できる。
・ブザーの機能は、プリンター5またはネットワークプリンター7にブザーが接続されている場合に使用できる。
・キーボード14から取得できるキーコードに制限がある。キーボード14から取得可能なキーコードは、図9の通りである。
続いて、デバイスサービスインターフェース501の環境構築について説明する。
図10は、環境の構築のワークフローを示す。
1.ネットワーク設定
システム及びプリンター5のネットワーク設定をする。この設定は、Windows(登録商標)のネットワーク設定と同じ手順で行うことができる。
2.ウェブコンテンツの登録
ウェブブラウザーからプリンター5に、ウェブコンテンツを登録する。
プリンター5はウェブサーバーとして、ウェブコンテンツを登録できる。登録されたウェブコンテンツは、端末3のウェブブラウザー31から閲覧できる。
登録されるウェブコンテンツは、コンテンツのファイルすべてを1つにまとめてzipファイル形式に圧縮した形式にされる。zipファイル名は任意に指定できる。zipファイル名およびサブフォルダー名は、半角英数字(ASCII文字)を使用する。
ウェブコンテンツは追加登録ができず、すべてのファイルが上書き登録される。プリンター5に登録したウェブコンテンツに、端末3などからアクセスする場合、zipファイルのフォルダー構成によって、参照するURLが異なる。具体的な例を図11の[1]、[2]に示す。
3.プリンター5にデバイスを接続
プリンター5にデバイスを接続する。接続可能なデバイスは、上述したように、カスタマーディスプレイ8、バーコードスキャナー9、ディスプレイ12、キャッシュドロワー13、キーボード14等である。さらに、OS標準のHIDドライバーで制御可能なデバイス、OS標準のシリアル通信ドライバーで動作可能なシリアル通信デバイス、及び、シリアル通信デバイスと同様に制御可能なUSBデバイスを含む。図6のコネクターパネル60には、COMコネクター65が1つしかないが、シリアル−USB変換ケーブル、及び、シリアル−USB変換に対応したドライバープログラムがあれば、複数のシリアル通信デバイスを接続できる。
4.デバイス制御スクリプトの登録
プリンター5が対応した製品以外のデバイスをプリンター5で制御する場合、ユーザーが用意したデバイス制御スクリプトを登録する。登録は、ウェブブラウザーから行う。
5.デバイスの登録
プリンター5に接続するデバイスをプリンター5のソフトウェアに登録する。登録は、ウェブブラウザーから行う。
手順1.〜5で使用するウェブブラウザーはウェブブラウザー31を含む。
手順2.のウェブコンテンツの登録方法を詳細に示す。
ウェブコンテンツの登録ファイルは、図12に示すように、ウェブブラウザーでTMNetWebConfigを表示して登録する。
登録の手順は以下の通りである。
(1)登録するWebコンテンツをzipファイルで1つにまとめる。
(2)プリンター5の電源をオンにする。
(3)ウェブブラウザーを起動し、URL(http://プリンター5のIPアドレス/TMNetWebConfig/)を入力する。
(4)TMNetWebConfigが起動する。図11の画面の[Webサービス設定]-[更新設定]をクリックする。
(5)“Webコンテンツの更新設定”画面が表示される。
[Webコンテンツファイル]の[参照]をクリックし、(1)で用意したWebコンテンツをまとめたzipファイルを選択する。
(6)[アップロード]をクリックする。
手順4.デバイス制御スクリプトの登録を詳細に示す。
ユーザーが用意したデバイス制御スクリプトは、図13に示すように、ウェブブラウザーでTMNetWebConfigを表示して登録する。この方法では、ユーザーが用意したデバイスをプリンター5に接続して制御し、または、デバイスデータ処理のカスタマイズをする場合に、ユーザーがデバイス制御スクリプトを開発して登録できる。
登録の手順は以下の通りである。
(1)カスタマイズしたデバイス制御スクリプトを用意する。
(2)プリンター5の電源をオンにする。
(3)ウェブブラウザーを起動し、URL(http://プリンター5のIPアドレス/TMNetWebConfig/)を入力する。
(4)TMNetWebConfigを起動する。図12の画面の[Webサービス設定]-[登録と削除]をクリックする。
(5)“制御スクリプト”画面が表示される。
[登録する制御スクリプト]の[参照]をクリックし、登録するデバイス制御スクリプトを選択する。
(6)[登録]をクリックする。
デバイス制御スクリプトが登録され、画面下の[登録済み制御スクリプト]に一覧表示される。
手順5.のデバイスの登録方法を詳細に示す。
図14に示すように、ウェブブラウザーでTMNetWebConfigを表示してデバイスを登録する。
登録の手順は以下の通りである。
(1)ウェブブラウザーを起動し、URL(http://プリンター5のIPアドレス/TMNetWebConfig/)を入力する。
(2)TMNetWebConfigを起動する。図14の画面の[Webサービス設定]-[デバイス登録]より登録するデバイスの種類にしたがってクリックする。図14の画面で[デバイス登録]にはデバイス一覧301が表示される。デバイス一覧301から登録するデバイスの種類をクリックする。本実施形態ではデバイスの種類は、図15に示すように、プリンター、ディスプレイ、キー入力デバイス、シリアル通信デバイス、その他、の5種類から選択される。デバイスの種類の詳細は図15に示す通りである。
(3)各デバイスの設定画面が表示される。接続したデバイスをプリンター5に登録する。
(3−1)プリンターを登録する場合
プリンター5の本体が備えるローカルプリンターが登録されていることを、以下の手順で確認する。
(3−1−1)図14の画面で[登録済みプリンター]のデバイスID”local_printer”に、”プリンター5”が登録されていることを確認する。
(3−1−2)[テスト印字]をクリックする。ローカルプリンターにより「TEST_PRINT」が印字されることを確認する。
(3−1−3)接続しているネットワークプリンター7を登録する。
以下の手順で登録する。
(3−1−3−1)図16に示す項目(デバイスID、タイプ、型番、IPアドレス、リトライ間隔)を設定し、[登録]をクリックする。
(3−1−3−2)[登録済みプリンター]に追加されたことを確認したら、[テスト印字]をクリックする。登録したネットワークプリンター7により「TEST_PRINT」が印字されることを確認する。
(3−2)ディスプレイ(カスタマーディスプレイ8)を登録する場合。
カスタマーディスプレイのデバイスIDは、"local_display"固定である。接続しているカスタマーディスプレイ8を、以下の手順で登録する。
(3−2−1)図14の画面で[使用する]を選択する。
(3−2−2)図17の項目(通信設定、輝度)を設定し、[登録]をクリックする。
(3−2−3)[テスト表示]をクリックする。カスタマーディスプレイ8に文字が表示されることを確認する。
(3−3)キー入力デバイス18を登録する場合
接続しているキー入力デバイス18を、以下の手順で登録する。
(3−3−1)図18の項目(デバイスID、デバイス名、制御スクリプト)を設定し、[登録]をクリックする。
(3−3−2)[登録済みキー入力デバイス]に追加されたことを確認したら、[動作テスト]をクリックする。
(3−3−3)ウェブブラウザーにより画面が表示される。キー入力デバイス18を操作し、操作したとおりの結果が表示されることを確認する。
(3−4)シリアル通信デバイス19を登録する場合
接続しているシリアル通信デバイス19を、以下の手順で登録する。
(3−4−1)接続しているシリアル通信デバイス19について、図19の項目(デバイスID、デバイス名、制御スクリプト、通信速度、データビット、パリティ、ストップビット、フリー制御)を設定し、[登録]をクリックする。
(3−4−2)[登録済みシリアル通信デバイス]に追加されたことを確認する。
(3−5)その他のデバイスを登録する場合
接続しているデバイスを、以下の手順で登録する。
(3−5−1)接続しているデバイスについて、図20の項目(デバイスID、制御スクリプト)を設定し、[登録]をクリックする。
(3−5−2)[登録済みその他デバイス]に追加されたことを確認する。
ここで、デバイスAPI33を使用したアプリケーション開発のプログラミング方法について説明する。
デバイスAPI33の組み込みは、次の通りである。
本システムのデバイス制御機能をクライアントサイドJavaScriptから利用するために、デバイスAPI33が用意されている。デバイスAPI33はJavaScriptで提供される。例えばファイル名は「device-*.js」である。
まず、device-*.jsをアプリケーションに組み込んで使用する。
準備として、デバイスAPI33を利用するために、Webサーバーにdevice-*.jsを配置する。
続いて、Webページへの組み込みを行う。HTMLの<script>タグでWebページにスクリプトを組み込む。
(組み込み例)
<scripttype="text/javascript"src="device-1.0.0.js"></script>
プログラミングフローを図21に示す。
図21の”Applications”はウェブアプリケーション32に相当し、”DeviceControl”はデバイス制御機能(デバイスAPI33とデバイスサービスインターフェース501)に相当し、”Device”は制御されるデバイスを示す。
1:ウェブアプリケーション32が”newEpsonDevice()”コマンドを送信し、デバイスオブジェクトが生成される。
2:ウェブアプリケーション32が”Connect()”コマンドを送信し、デバイス制御機能との間の通信パスを確立する。
2.1:デバイス制御機能によりは”Callback(OK)”を返す。
3:ウェブアプリケーション32が”CreateDevice(DEVICE_TYPE_PRINTER)”コマンドを送信する。
3.1:デバイスサービスインターフェース501によりデバイスに”Cmd()”コマンドが送信される。
4:デバイスは”Deviceopen”を返す。
4.1:デバイス制御機能により”callback(Object,'OK')”を返す。
3〜4.1の手順によりウェブアプリケーション32がデバイスオブジェクトを取得する。
5:ウェブアプリケーション32がデバイスに応じたcallbackの登録を行う。
6:ウェブアプリケーション32がデバイスに応じたメソッドを呼び出す。
6.1:デバイスに”Cmd()”コマンドが送信される。
6.1.1:デバイスが実行する。
5.1:デバイスが実行結果を返す。
5.2:デバイス制御機能により”callback('success')”を返す。
7:ウェブアプリケーション32が”deleteDevice(Object)”を送信し、デバイスオブジェクトを開放する。
7.1:デバイスに”Cmd()”コマンドが送信される。
8:デバイスがデバイスクローズを返す。
8.1:デバイス制御機能により”callback('OK')”を返す。
9:ウェブアプリケーション32が”disconnect()”コマンドを送信し、デバイスサービスインターフェース501との通信経路を遮断する。
デバイスAPI33について詳細に説明する。
デバイスAPI33には、以下のオブジェクトが用意されている。
・Deviceオブジェクト(図22)
・デバイスオブジェクト共通(図23)
・Displayオブジェクト(図24)
・Keyboardオブジェクト(図25)
・Printerオブジェクト(図26A、図26B、図26C)
・Scannerオブジェクト(図27)
・SimpleSerialオブジェクト(図28)
Deviceオブジェクトについて詳細に説明する。
「コンストラクター」Deviceオブジェクトのコンストラクターであり、Deviceオブジェクトを新しく作成し、初期化する。
[構文]
Device();
[戻り値]
Deviceオブジェクト
「connectメソッド」
デバイスサービスインターフェース501との接続経路を確立する。
[構文]
connect(ipAddress,port,callback);
[パラメーター]
ipAddress:オブジェクト種類:(String)
プリンター5のIPアドレスを指定する。
・port:オブジェクト種類:(Number)
・8008(デバイスサービスインターフェース501のポート番号)を指定する。
・callback:オブジェクト種類:(Function)
・処理結果を受け取るコールバックを指定する。コールバックの第1パラメーターに図28の文字列が返る。
「disconnectメソッド」
connectによって接続された通信経路を切断する。
[構文]
disconnect();
「isConnectメソッド」
connectによって接続された通信経路の確立状態を取得する。
[構文]
isConnect();
[戻り値]
図30に示すように、戻り値は通信経路の確立状態である。
deviceAPオブジェクトについて詳細に説明する。
「createDeviceメソッド」
デバイスとのインターフェースとなるデバイスオブジェクトを取得する。
本メソッドの実行に成功すると、指定デバイスは排他的にロックされ、他のブラウザーからcreateDeviceを呼び出すと”DEVICE_IN_USE”が返るようになる。なお、プリンターは排他ロックされないので、複数ブラウザーからcreateDeviceによるデバイスオブジェクトの取得が可能である。
ondisconnectイベント発生の復帰処理で、すぐにcreateDeviceを実行すると、”DEVICE_IN_USE”が発生する。この場合、”DEVICE_IN_USE”以外が取得できるまで、再試行を行うことになる。
[構文]
createDevice(deviceId,deviceType,crypto,callback);
[パラメーター]
deviceId:オブジェクト種類:(String)
デバイスIDを指定する。
第2パラメーター(deviceType)にDEVICE_TYPE_DISPLAYを指定する場合、"local_display"を指定する。
deviceType:オブジェクト種類:(String)
図31のいずれかのデバイス種類を指定する。
crypto:オブジェクト種類:(Boolean)
通信データの暗号化の要否を指定する。
callback:オブジェクト種類:(Function)
処理結果を受け取るコールバックを指定する。コールバックの第2パラメーターが”OK”の場合、第1パラメーターにデバイスオブジェクトが返る。第2パラメーターは図32の文字列が返る。
「deleteDeviceメソッド」
デバイスを解放し、他のクライアントから使用可能な状態にする。
[構文]
deleteDevice(deviceObject,callback);
[パラメーター]
deviceObject:オブジェクト種類:(Object)
デバイスオブジェクトを指定する。
callback:オブジェクト種類:(Function)
処理結果を受け取るコールバックを指定する。コールバックのパラメーターに図33の文字列が返る。
「getAdminメソッド」
プリンター5に設定された管理者名を取得する。(管理者名はTMNetWebConfigによって設定できる。)
[構文]
getAdmin();
[戻り値]
・管理者名の文字列(String)
「getLocationメソッド」
プリンター5に設定された設置場所情報を取得する。設置場所の文字列はTMNetWebConfigで設定できる。
[構文]
getLocation();
[戻り値]
設置場所の文字列(String)
「ondisconnectイベント」
再接続処理が失敗したことを受け取る。本イベントが発生した場合、再度接続を確立するなど、ネットワーク切断対策のための処理を行うことになる。
[構文]
Function()
デバイスオブジェクト共通のオブジェクトについて説明する。
「callEventメソッド」
デバイスオブジェクトに対応するデバイス制御スクリプト502側の任意イベントを呼び出す。デバイス制御スクリプト502のイベントの詳細は、デバイス制御スクリプト502の説明において後述する。
[構文]
callEvent(eventName,data);
[パラメーター]
eventName:オブジェクト種類:(String)
デバイス制御スクリプト側のイベント名を指定する。
data:オブジェクト種類:(Object)
呼び出すイベントに渡すデータを指定する。
プロパティ名と値のセットからなる、単純なJSONデータが指定可能である。
Displayオブジェクトについて説明する。
「resetメソッド」
カスタマーディスプレイ8の初期化設定を命令バッファーに追加する。初期化により、以下の状態になる。
・表示文字が全て消去され、登録された全てのウィンドウが破棄される。
・カーソルはデフォルト状態に戻り、ディスプレイ原点に移動する。
・表示点滅、表示輝度がデフォルト状態に戻る。
[構文]
reset();
[戻り値]
Displayオブジェクト
「createWindowメソッド」
ウィンドウ設定を命令バッファーに追加する。ウィンドウは定義済ウィンドウと重ならないように定義される。また、ディスプレイのサイズ(20桁×2行)に収まる大きさが指定される。
[構文]
createWindow(number,x,y,width,height,scrollMode);
[パラメーター]
number:オブジェクト種類:(Number)
ウィンドウ番号を指定する。1〜4から指定される。
x:オブジェクト種類:(Number)
ウインドウ原点のディスプレイ上でのx座標を指定する。1〜20から指定される。・y:オブジェクト種類:(Number)
ウインドウ原点のディスプレイ上でのy座標を指定する。1か2を指定される。
width:オブジェクト種類:(Number)
ウィンドウの幅を指定する。
height:オブジェクト種類:(Number)
ウィンドウの高さを指定する。
scrollMode:オブジェクト種類:(String)
ウィンドウのスクロールモードの指定をする。図34に示すパラメーターから選択する。
[戻り値]
Displayオブジェクト
「destroyWindowメソッド」
定義済ウィンドウの破棄設定を命令バッファーに追加する。
[構文]
destroyWindow(number);
[パラメーター]
number:オブジェクト種類:(Number)
破棄するウィンドウ番号を指定する。1〜4から指定される。
[戻り値]
Displayオブジェクト
「setCurrentWindowメソッド」
カレントウィンドウの変更設定を命令バッファーに追加する。指定ウィンドウをカレントウィンドウとし、カーソルをカレントウィンドウの原点位置に移動させる。
[構文]
setCurrentWindow(number);
[パラメーター]
number:オブジェクト種類:(Number)
移動先のウィンドウ番号を指定する。1〜4から指定される。
[戻り値]
Displayオブジェクト
「clearWindowメソッド」
カレントウィンドウ内の表示消去を命令バッファーに追加する。
[構文]
clearWindow();
[戻り値]
Displayオブジェクト
「setCursorPositionメソッド」
カーソル位置設定を命令バッファーに追加する。
[構文]
setCursorPosition(x,y);
[パラメーター]
x:オブジェクト種類:(Number)
移動先となるx座標を指定する。1〜20から指定する。
y:オブジェクト種類:(Number)
移動先となるy座標を指定する。1か2を指定する。
[戻り値]
Displayオブジェクト
「moveCursorPositionメソッド」
カレントウィンドウ内でのカーソル位置設定を命令バッファーに追加する。
[構文]
moveCursorPosition(position);
[パラメーター]
position:オブジェクト種類:(String)
カレントウィンドウ内でのカーソルの移動先を指定する。図35のパラメーターから選択する。
[戻り値]
Displayオブジェクト
「setCursorTypeメソッド」
カーソル表示設定を命令バッファーに追加する。
[構文]
setCursorType(type);
[パラメーター]
type:オブジェクト種類:(String)
カーソルの表示方法を指定する。図36のパラメーターから選択する。
[戻り値]
Displayオブジェクト
「addTextメソッド」
文字列の表示を命令バッファーに追加する。
[構文]
addText(data);
addText(data,lang);
addText(data,x,y);
addText(data,x,y,lang);
[パラメーター]
data:オブジェクト種類:(String)
表示文字列を指定する。
lang:オブジェクト種類:(String)
文字列の表示言語を指定する。図37の文字列から指定する。
x:オブジェクト種類:(Number)
表示位置のx座標を指定する。1〜20から指定する。
y:オブジェクト種類:(Number)
表示位置のy座標を指定する。1か2を指定する。
[戻り値]
Displayオブジェクト
「addReverseTextメソッド」
反転文字列の表示を命令バッファーに追加する。
[構文]
addReverseText(data);
addReverseText(data,lang);
addReverseText(data,x,y);
addReverseText(data,x,y,lang);
[パラメーター]
data:オブジェクト種類:(String)
表示文字列を指定する。
lang:オブジェクト種類:(String)
文字列の表示言語を指定する。図38の文字列から指定する。
x:オブジェクト種類:(Number)
表示位置のx座標を指定する。1〜20から指定する。
y:オブジェクト種類:(Number)
表示位置のy座標を指定する。1か2を指定する。
[戻り値]
Displayオブジェクト
「addMarqueeメソッド」
マーキー表示を命令バッファーに追加する。マーキー表示は、表示ウィンドウのスクロールモード設定とは無関係に、1行の水平スクロールモードで表示される。
[構文]
addMarquee(data,format,unitWait,repeatWait,repeatCount,lang);
[パラメーター]
data:オブジェクト種類:(String)
表示文字列を指定する。
format:オブジェクト種類:(String)
文字列の表示方法を指定する。図39から選択する。
unitWait:オブジェクト種類:(Number)
1文字ごとの表示間隔(ms)を指定する。指定可能な値は1〜2000である。
repeatWait:オブジェクト種類:(Number)
文字列表示の繰り返し間隔(ms)を指定する。指定可能な値は1〜2000である。
repeatCount:オブジェクト種類:(Number)
文字列表示の繰り返し回数を指定する。指定可能な値は0〜127である。0を指定すると無制限に繰り返す。
lang:オブジェクト種類:(String)
文字列の表示言語を指定する。図40の文字列から指定する。
[戻り値]
Displayオブジェクト
「setBlinkメソッド」
画面の点滅設定を命令バッファーに追加する。
[構文]
setBlink(interval);
[パラメーター]
interval:オブジェクト種類:(Number)
点滅時間(ms)を指定する。0〜12700から指定する。設定値は50ms単位に丸められる。0を指定すると点灯状態となる。
[戻り値]
Displayオブジェクト
「setBrightnessメソッド」
ディスプレイの輝度設定を命令バッファーに追加する。
[構文]
setBrightness(brightness);
[パラメーター]
brightness:オブジェクト種類:(Number)
ディスプレイの輝度値を指定する。図41のパラメーターから選択される。
[戻り値]
Displayオブジェクト
「showClockメソッド」
時刻の表示を命令バッファーに追加する。
時刻表示を行うと、表示中の文字列はすべて消去される。また、時刻表示中に他の命令を送信すると、時刻表示を終了する。
[構文]
showClock();
[戻り値]
Displayオブジェクト
「addCommandメソッド」
コマンドを命令バッファーに追加する。
[構文]
addCommand(data);
[パラメーター]
data:オブジェクト種類:(String)
ESC/POSコマンドを文字列で指定する。コマンドの文字列は、”\x”で区切って指定される。例:“\x1B\x40”
[戻り値]
Displayオブジェクト
「sendメソッド」
命令バッファー内の命令を送信する。
[構文]
send();
「onreceiveイベント」
命令の実行結果を受け取る。
[構文]
Function(response);
[コールバック関数のパラメーター]
response:オブジェクト種類:(Object)
命令の実行結果を受け取る。図42Aに示すプロパティが含まれる。successの値は図42Bに示す通りであり、codeの値は図42Cに示す。
Keyboardオブジェクトについて説明する。
「setPrefixメソッド」
キーボード入力を文字列としてまとめて受け取る際、文字列の始まりと判断するためのキーコードを設定する。
[構文]
setPrefix(data);
[パラメーター]
data:オブジェクト種類:(Array)
キーコードの配列を指定する。キーコードは、例えば図9に示すキーコード一覧の通りである。
「onkeypressイベント」
キー押下イベントを受け取る。
[構文]
Function(data);
[コールバック関数のパラメーター]
data:オブジェクト種類:(Object)
図43に示すプロパティを受け取る。
「onstringイベント」
setPrefixで指定した文字群のいずれかで始まり、Enterキーを検出するまでの間に検出した文字入力を文字列として受け取る。
[構文]
Function(data);
[コールバック関数のパラメーター]
data:オブジェクト種類:(Object)
図44に示すプロパティを受け取る。
Printerオブジェクトを説明する。
「addTextAlignメソッド」
位置揃え設定を命令バッファーに追加する。
本APIの設定は、バーコード/2次元シンボルにも適用される。
印字モードがページモードで倒立印字を設定する場合、本APIではなく、後述する「addPageDirectionメソッド」で設定される。
[構文]
addTextAlign(align);
[パラメーター]
align(必須パラメーター,オブジェクト種類:String)
位置揃えを指定する。
定数を図45Aに、戻り値を図45Bに、例外を図45Cに示す。
「addTextLineSpaceメソッド」
改行量設定を命令バッファーに追加する。
[構文]
addTextLineSpace(linespc);
[パラメーター]
linespc:(必須パラメーター,オブジェクト種類:Number)
改行量(ドット単位)を指定する。0〜255の整数値で指定する。
戻り値を図46Aに、例外を図46Bに示す。
「addTextRotateメソッド」
倒立印字設定を命令バッファーに追加する。
本APIの設定は、バーコード/2次元シンボルにも適用される。
印字モードがページモードで倒立印字を設定する場合、本APIではなく、後述する「addPageDirectionメソッド」で設定される。
[構文]
addTextRotate(rotate);
[パラメーター]
rotate(必須パラメーター,オブジェクト種類:Boolean)
倒立印字の有無を指定する。
設定値を図47Aに示す、戻り値を図47Bに、例外を図47Cに示す。
「addTextメソッド」
文字の印字を命令バッファーに追加する。
テキストの印字後、テキスト以外を印字する場合、改行または紙送りを実行される。
ページモードでは、文字のベースラインドット(141ページ「付録」)を基準として、現在の印字位置に文字を展開する。
[構文]
addText(data);
[パラメーター]
data(必須パラメーター,オブジェクト種類:String)
印字する文字列を指定する。水平タブ/改行は、図48Aのエスケープシーケンスを使用する。
戻り値を図48Bに示し、例外を図48Cに示す。
「addTextLangメソッド」
言語設定を命令バッファーに追加する。
[構文]
addTextLang(lang);
[パラメーター]
lang:(必須パラメーター,オブジェクト種類:String)
対象言語を図49Aのようにう指定する。印字できる文字コードはプリンターの仕様による。
戻り値を図49Bに示し、例外を図49Cに示す。
「addTextFontメソッド」
文字のフォント設定を命令バッファーに追加する。
[構文]
addTextFont(font);
[パラメーター]
font:(必須パラメーター,オブジェクト種類:String)
図50Aに示すように、フォントを指定する。
戻り値を図50Bに示し、例外を図50Cに示す。
「addTextSmoothメソッド」
スムージング設定を命令バッファーに追加する。
[構文]
addTextSmooth(smooth);
[パラメーター]
smooth:(必須パラメーター,オブジェクト種類:Boolean)
スムージングの有無を指定する。
戻り値を図51Bに示し、例外を図51Cに示す。
「addTextDoubleメソッド」
文字の倍角設定を命令バッファーに追加する。
[構文]
addTextDouble(dw,dh);
[パラメーター]
dw:(省略可能パラメーター,オブジェクト種類:Boolean)
文字の横倍角を指定する。設定値を図52Aに示す。
dh(省略可能パラメーター,オブジェクト種類:Boolean)文字の縦倍角を指定する。
dwとdhのパラメーターの両方をture/1にした場合、4倍角の文字が印字される。設定値を図52Bに示す。
戻り値を図52Cに、例外を図52Dに示す。
「addTextSizeメソッド」
文字の倍率設定を命令バッファーに追加する。
[構文]
addTextSize(width,height);
[パラメーター]
width:(省略可能パラメーター,オブジェクト種類:Number)
文字の横倍率を指定する。設定値を図53Aに示す。
height(省略可能パラメーター,オブジェクト種類:Number)
文字の縦倍率を指定する。設定値を図53Bに示す。
戻り値を図53Cに、例外を図53Dに示す。
「addTextStyleメソッド」
文字の装飾設定を命令バッファーに追加する。
[構文]
addTextStyle(reverse,ul,em,color);
[パラメーター]
reverse:(省略可能パラメーター,オブジェクト種類:Boolean)
白黒反転文字を指定する。設定値を図54Aに示す。
ul(省略可能パラメーター,オブジェクト種類:Boolean)
アンダーラインを指定する。設定値を図54Bに示す。
em(省略可能パラメーター,オブジェクト種類:Boolean)
太字を指定する。設定値を図54Cに示す。
color(省略可能パラメーター,オブジェクト種類:String)
色を指定する。設定値を図53Dに示す。
戻り値を図54Eに、例外を図54Fに示す。
「addTextPositionメソッド」
横方向の印字開始位置を命令バッファーに追加する。
[構文]
addTextPosition(x);
[パラメーター]
x:(必須パラメーター,オブジェクト種類:Number)
横方向の印字開始位置(ドット単位)を指定する。0〜65535の整数値で指定する。
戻り値を図55Aに、例外を図55Bに示す。
「addFeedUnitメソッド」
ドット単位の紙送りを命令バッファーに追加する。
[構文]
addFeedUnit(unit);
[パラメーター]
unit:(必須パラメーター,オブジェクト種類:Number)
紙送り量(ドット単位)を指定する。0〜255の整数値で指定する。
戻り値を図56Aに、例外を図56Bに示す。
「addFeedLineメソッド」
行単位の紙送りを命令バッファーに追加する。
[構文]
addFeedLine(line);
[パラメーター]
line:(必須パラメーター,オブジェクト種類:Number)
紙送り量(行単位)を指定する。0〜255の整数値で指定する。
戻り値を図57Aに、例外を図57Bに示す。
「addImageメソッド」
ラスターイメージの印字を命令バッファーに追加する。
HTML5Canvasの描画したグラフィックを印字する。
HTML5CanvasのRGBAフルカラー画像のうち、指定範囲をhalftoneプロパティとbrightnessプロパティの設定にしたがって、ラスターイメージデータに変換する。画像の1ピクセルがプリンターの1ドットに相当する。透明色が含まれている場合、画像の背景を白とみなす。
ラスターイメージを高速に印字する場合、上述のaddTextAlignメソッドをALIGN_LEFTに指定し、本APIのwidthパラメーターの値を、プリンターの用紙幅を超えない8の倍数に指定する。
ページモードでは、ラスターイメージの左下ドットを基準として、現在の印字位置にラスターイメージを展開する。印字位置は移動しない。
異なるドメインからダウンロードした画像が含まれたHTML5Canvasは印刷できない。JavaScriptの同一ポリシーにより、セキュリティーエラーが発生する。
[構文]
addImage(context,x,y,width,height,color,mode);
[パラメーター]
context:(必須パラメーター,オブジェクト種類:Context)
HTML5Canvasの2Dコンテキストを指定する。
x:(必須パラメーター,オブジェクト種類:Number)
印字範囲の横方向の開始位置を指定する。0〜65535の整数値で指定する。
y:(必須パラメーター,オブジェクト種類:Number)
印字範囲の縦方向の開始位置を指定する。0〜65535の整数値で指定する。
width:(必須パラメーター,オブジェクト種類:Number)
印字範囲の幅を指定する。0〜65535の整数値で指定する。
height:(必須パラメーター,オブジェクト種類:Number)
印字範囲の高さを指定する。0〜65535の整数値で指定する。
color:(省略可能パラメーター,オブジェクト種類:String)
色を指定する。設定値を図58Aに示す。
mode(省略可能パラメーター,オブジェクト種類:String)
カラーモードを指定する。設定値を図58Bに示す。
戻り値を図58Cに、例外を図58Dに示す。
「addLogoメソッド」
NV(不揮発性メモリー)に記憶されたロゴの印字を命令バッファーに追加する。
プリンターのNVメモリーに登録されているロゴを印字する。
ロゴは、機種専用ユーティリティーやロゴ登録ユーティリティー(TMFLogo)を使って、あらかじめプリンターに登録される。
ページモードでは、ロゴの左下ドットを基準として、現在の印字位置にロゴを展開する。
[構文]
addLogo(key1,key2);
[パラメーター]
key1(必須パラメーター,オブジェクト種類:Number)
NVロゴのキーコード1を指定する。0〜255の整数値で指定する。
key2(必須パラメーター,オブジェクト種類:Number)
NVロゴのキーコード2を指定する。0〜255の整数値で指定する。
戻り値を図59Aに、例外を図59Bに示す。
「addBarcodeメソッド」
バーコード印字を命令バッファーに追加する。
ページモードでは、バーコードの左下ドット(HRIを除く)を基準として、現在の印字位置にバーコードを展開する。
[構文]
addBarcode(data,type,hri,font,width,height);
[パラメーター]
data(必須パラメーター,オブジェクト種類:String)
バーコードデータを文字列で指定する。バーコードタイプを図60A、図60B、図60Cに示す。
文字列で表現できないバイナリーデータを指定する場合、図60Dのエスケープシーケンスで指定する。
type(必須パラメーター,オブジェクト種類:String)
バーコードの種類を指定する。定数を図60Eに示す。
hri(省略可能パラメーター,オブジェクト種類:String)
HRIの位置を指定する。定数を図60Fに示す。
font(省略可能パラメーター,オブジェクト種類:String)
HRIフォントを指定する。定数を図60Gに示す。
width(省略可能パラメーター,オブジェクト種類:Number)
1モジュールの幅をドット単位で指定する。2〜6の整数値で指定する。
height(省略可能パラメーター,オブジェクト種類:Number)
バーコードの高さをドット単位で指定する。1〜255の整数値で指定する。
戻り値を図60Hに、例外を図60Iに示す。
「addSymbolメソッド」
2次元シンボル印字を命令バッファーに追加する。
ページモードでは、2次元シンボルの左上ドットを基準として、現在の印字位置にバーコードを展開する。
[構文]
addSymbol(data,type,level,width,height,size);
[パラメーター]
data(必須パラメーター,オブジェクト種類:String)
2次元シンボルデータを文字列で指定する。2次元コードタイプを図61A、図61Bに示す。
文字列で表現できないバイナリーデータを指定する場合、図61Cのエスケープシーケンスで指定する。
type(必須パラメーター,オブジェクト種類:String)
2次元シンボルの種類を指定する。定数を図61Dに示す。
level(省略可能パラメーター,オブジェクト種類:String)
エラー訂正レベルを指定する。定数を図61Eに示す。
レベルは2次元シンボルの種類に合わせて選択される。MaxiCode,2次元GS1DataBarの場合、LEVEL_DEFAULTを選択される。
width(省略可能パラメーター,オブジェクト種類:Number)
モジュールの幅を指定する。0〜255の整数値で指定する。MaxiCodeは無視される。
height(省略可能パラメーター,オブジェクト種類:Number)
モジュールの高さを指定する。0〜255の整数値で指定する。QRCodeとMaxiCodeは無視される。
size(省略可能パラメーター,オブジェクト種類:Number)
2次元シンボルの最大サイズを指定する。0〜65535の整数値で指定する。QRCodeとMaxiCodeは無視される。
戻り値を図61Fに、例外を図61Gに示す。
「addHLineメソッド」
横罫線印字を命令バッファーに追加する。横罫線の描画をする。ページモードでは使用できない。
[構文]
addHLine(x1,x2,style);
[パラメーター]
x1:(必須パラメーター,オブジェクト種類:Number)
横罫線の描画開始位置(ドット単位)を指定する。0〜65535の整数値で指定する。
x2:(必須パラメーター,オブジェクト種類:Number)
横罫線の描画終了位置(ドット単位)を指定する。0〜65535の整数値で指定する。
style:(省略可能パラメーター,オブジェクト種類:String)
罫線の種類を指定する。定数を図62Aに示す。
戻り値を図62Bに、例外を図62Cに示す。
「addVLineBeginメソッド」
縦罫線の開始を命令バッファーに追加する。縦罫線の描画を開始する。ページモードでは使用できない。縦罫線は、後述するaddVLineEndメソッドで終了を指定するまで描画する。本APIはaddVLineEndと一緒に使用される。
[構文]
addVLineBegin(x,style);
[パラメーター]
x(必須パラメーター,オブジェクト種類:Number)
縦罫線の描画開始位置(ドット単位)を指定する。0〜65535の整数値で指定する。
style(省略可能パラメーター,オブジェクト種類:String)
罫線の種類を指定する。定数を図63Aに示す。
戻り値を図63Bに、例外を図63Cに示す。
「addVLineEndメソッド」
縦罫線の終了を命令バッファーに追加する。縦罫線の描画を終了する。ページモードでは使用できない。本APIは前述のaddVLineBeginメソッドと一緒に使用される。
[構文]
addVLineEnd(x,style);
[パラメーター]
x(必須パラメーター,オブジェクト種類:Number)
縦罫線の描画を終了する位置(ドット単位)を指定する。0〜65535の整数値で指定する。
style(省略可能パラメーター,オブジェクト種類:String)
描画を終了する罫線の種類を指定する。定数を図64Aに示す。
戻り値を図64Bに、例外を図64Cに示す。
「addPageBeginメソッド」
ページモード開始を命令バッファーに追加する。ページモードの処理が開始する。
縦罫線は、次に説明するPageEndメソッドで終了を指定するまでページモードで処理する。本APIはPageEndメソッドと一緒に使用される。
[構文]
addPageBegin();
戻り値を図65に示す。
「addPageEndメソッド」
ページモード終了を命令バッファーに追加する。ページモードの処理が終了する。本APIは前述のaddPageBeginメソッドと一緒に使用される。
[構文]
addPageEnd();
戻り値を図66に示す。
「addPageAreaメソッド」
ページモード印字領域を命令バッファーに追加する。
ページモード印字領域(座標)を指定する。本APIに続けて、addTextメソッドなど印刷データのAPIを指定する。
印字内容に合わせて印字領域を指定される。印字データが印字領域をはみ出た場合、印字データが途中で切れた印字結果になる。本APIは上述のaddPageBeginメソッドと上述のPageEndメソッドに挟んで使用される。
[構文]
addPageArea(x,y,width,height);
[パラメーター]
x(必須パラメーター,オブジェクト種類:Number)
横方向の原点(ドット単位)を指定する。0〜65535の整数値で指定する。0はプリンターの印字可能領域の左端になる。
y(必須パラメーター,オブジェクト種類:Number)
縦方向の原点(ドット単位)を指定する。0〜65535の整数値で指定する。0は紙送りをしていない位置である。
width(必須パラメーター,オブジェクト種類:Number)
印字領域の幅(ドット単位)を指定する。0〜65535の整数値で指定する。
height(必須パラメーター,オブジェクト種類:Number)
印字領域の高さ(ドット単位)を指定する。0〜65535の整数値で指定する。
印字領域の幅と高さは、印字方向の設定に合わせて確定される。印字データが切れてしまう場合がある。
戻り値を図67Aに、例外を図67Bに示す。
「addPageDirectionメソッド」
ページモード印字方向設定を命令バッファーに追加する。ページモードの印字方向を指定する。回転させない場合は、省略できる。本APIは上述のaddPageBeginメソッドとPageEndメソッドに挟んで使用される。
[構文]
addPageDirection(dir);
[パラメーター]
dir(必須パラメーター,オブジェクト種類:String)
ページモードの印字方向を指定する。定数を図68Aに示す。
戻り値を図68Bに、例外を図68Cに示す。
「addPagePositionメソッド」
ページモードの印字位置設定領域を命令バッファーに追加する。
addPageAreaメソッドで指定したエリア内での、印字開始位置(座標)を指定する。本APIは上述のaddPageBeginメソッドとPageEndメソッドに挟んで使用される。
[構文]
addPagePosition(x,y);
[パラメーター]
x:(必須パラメーター,オブジェクト種類:Number)
横方向の印字位置(ドット単位)を指定する。0〜65535の整数値で指定する。
y:(必須パラメーター,オブジェクト種類:Number)
縦方向の印字位置(ドット単位)を指定する。0〜65535の整数値で指定する。
印字開始位置(座標)は、印字内容に合わせて指定される。以下を参考にされる。
・文字列を印字する場合
最初の文字のベースライン左端を指定する。
標準の大きさで、左詰めで印字する場合は省略可能である。高さが2倍の文字を印刷する場合は、yを42以上に指定する。
・バーコードを印字する場合
シンボルの左下を指定する。yにバーコードの高さを指定される。
・グラフィック/ロゴを印字する場合
グラフィックデータの左下を指定する。yにグラフィックデータの高さを指定される。
・2次元シンボルを印字する場合
シンボルの左上を指定する。左上から印字する場合は、省略可能である。
戻り値を図69Aに、例外を図69Bに示す。
「addPageLineメソッド」
ページモードの直線描画を命令バッファーに追加する。ページモードで直線を描画する。斜線は描画できない。本APIは上述のaddPageBeginメソッドとPageEndメソッドに挟んで使用される。
[構文]
addPageLine(x1,y1,x2,y2,style);
[パラメーター]
x1(必須パラメーター,オブジェクト種類:Number)
横方向の描画開始位置(ドット単位)を指定する。0〜65535の整数値で指定する。
y1(必須パラメーター,オブジェクト種類:Number)
縦方向の描画開始位置(ドット単位)を指定する。0〜65535の整数値で指定する。
x2(必須パラメーター,オブジェクト種類:Number)
横方向の描画終了位置(ドット単位)を指定する。0〜65535の整数値で指定する。
y2(必須パラメーター,オブジェクト種類:Number)
縦方向の描画終了位置(ドット単位)を指定する。0〜65535の整数値で指定する。
style(省略可能パラメーター,オブジェクト種類:String)
罫線の種類を指定する。定数を図70Aに示す。
戻り値を図70Bに、例外を図70Cに示す。
「addPageRectangleメソッド」
ページモードの四角形描画を命令バッファーに追加する。ページモードで四角形を描画する。本APIは上述のaddPageBeginメソッドとPageEndメソッドに挟んで使用される。
[構文]
addPageRectangle(x1,y1,x2,y2,style);
[パラメーター]
x1(必須パラメーター,オブジェクト種類:Number)
横方向の描画開始位置(ドット単位)を指定する。0〜65535の整数値で指定する。
y1(必須パラメーター,オブジェクト種類:Number)
縦方向の描画開始位置(ドット単位)を指定する。0〜65535の整数値で指定する。
x2(必須パラメーター,オブジェクト種類:Number)
横方向の描画終了位置(ドット単位)を指定する。0〜65535の整数値で指定する。
y2(必須パラメーター,オブジェクト種類:Number)
縦方向の描画終了位置(ドット単位)を指定する。0〜65535の整数値で指定する。
style(省略可能パラメーター,オブジェクト種類:String)
線の種類を指定する。定数を図71Aに示す。
戻り値を図71Bに、例外を図71Cに示す。
「addCutメソッド」
用紙カットを命令バッファーに追加する。用紙カットを設定する。ページモードでは使用できない。
[構文]
addCut(type);
[パラメーター]
type(省略可能パラメーター,オブジェクト種類:String)
用紙カット方法を指定する。設定値を図72Aに示す。
戻り値を図72Bに、例外を図72Cに示す。
「addPulseメソッド」
ドロアーキックを命令バッファーに追加する。ドロアーキックを設定する。ページモードでは使用できない。ドロアーは、ブザーと一緒に使用できない。
[構文]
addPulse(drawer,time);
[パラメーター]
drawer(省略可能パラメーター,オブジェクト種類:String)
ドロアーキックコネクターを指定する。設定値を図73Aに示す。
time(省略可能パラメーター,オブジェクト種類:String)
ドロアーキック信号のオン時間を指定する。設定値を図73Bに示す。
戻り値を図73Cに、例外を図73Dに示す。
「addSoundメソッド」
ブザーの鳴動を命令バッファーに追加する。ブザーを設定する。
ページモードでは使用できない。
ブザーの機能は、ドロアーと一緒に使用できない。
本APIはプリンターにブザーが付いてなければ使用できない。
[構文]
addSound(pattern,repeat);
[パラメーター]
pattern:(省略可能パラメーター,オブジェクト種類:String)
ブザーの音色を指定する。設定値を図74Aに示す。
repeat(省略可能パラメーター,オブジェクト種類:String)
繰り返し回数を指定する。設定値を図74Bに示す。
repeatに"0"を指定後、ブザーを停止したい場合、本APIを再度実行し、patternにPATTERN_NONEを指定する。
戻り値を図74Cに示し、例外を図74Dに示す。
「addCommandメソッド」
コマンドを命令バッファーに追加する。ESC/POSコマンドを送信する。
addCommandメソッドで、コマンドの命令バッファーを送信する場合、コマンドデータの文字列は、”\x”で区切って指定される。
例:“\x1B\x40”
[構文]
addCommand(data);
[パラメーター]
data(省略可能パラメーター,オブジェクト種類:String)
ESC/POSコマンドを文字列で指定する。
戻り値を図75Aに示し、例外を図75Bに示す。
「sendメソッド」
命令バッファーを送信する。
[構文]
send();
「printメソッド」
HTML5Canvasで描画したプリントイメージを印刷する。
HTML5CanvasのRGBAフルカラー画像のうち、指定範囲をhalftoneプロパティとbrightnessプロパティの設定にしたがって、ラスターイメージデータに変換する。画像の1ピクセルがプリンターの1ドットに相当する。透明色が含まれている場合、画像の背景を白とみなす。
異なるドメインからダウンロードした画像が含まれたHTML5Canvasは印刷できない。JavaScriptの同一出身ポリシーにより、セキュリティーエラーが発生する。
[構文]
print(canvas,cut,mode);
[パラメーター]
canvas(必須パラメーター,オブジェクト種類:canvas)
印刷するHTML5Canvasオブジェクトを指定する。
cut(省略可能パラメーター,オブジェクト種類:Boolean)
用紙カットの有無を設定する。設定値を図76Aに示す。
mode(省略可能パラメーター,オブジェクト種類:String)
カラーモードを指定する。設定値を図76Bに示す。
例害を図76Cに示す。
「startMonitorメソッド」
ステータスイベントを有効化する。プリンターのステータスをイベントで通知する。intervalプロパティで指定した間隔でステータスを更新する。
[構文]
startMonitor();
「stopMonitorメソッド」
ステータスイベントを無効化する。
[構文]
stopMonitor();
「halftoneプロパティ」
モノクロ(2階調)印刷で適用するハーフトーン処理方法を指定する。初期値はHALFTONE_DITHERである。
オブジェクト種類:String
設定値を図77に示す。
「brightnessプロパティ」
明るさ補正値をガンマー値0.1〜10.0の範囲で指定する。初期値は1.0である。
オブジェクト種類:Number
「timeoutプロパティ」
上述したsendメソッドで送信するメッセージのタイムアウト(ms)を指定する。初期値は10,000である。
オブジェクト種類:Number
「ntervalプロパティ」
ステータスを更新する間隔を指定する。
オブジェクト種類:Number
[説明]
ステータスを更新する間隔をミリ秒単位で指定する。
初期値:3000(3秒)
最小値:1000(1秒以上)
不正な値を指定した場合、3000とみなされる。
「onreceiveイベント」
コールバック関数を登録して、応答ドキュメント受信イベントを取得する。
[構文]
Function(response)
[コールバック関数のパラメーター]
パラメーター:response(後述する「responseオブジェクトのプロパティ」を参照)
名称:応答ドキュメント
オブジェクト種類:Object
[responseオブジェクトのプロパティ]
図78Aにプロパティの一覧を示す。
[successの値]
図78Bに、successの値の一覧を示す。
[codeの値]
図78Cに、codeの値の一覧を示す。
[statusの値]
図78Dに、statusの値の一覧を示す。
「onerrorイベント」
コールバック関数を登録して、通信エラーイベントを取得する。
[構文]
Function(error)
[コールバック関数のパラメーター]
パラメーター:error(後述する「errorオブジェクトのプロパティ」を参照)
名称:通信エラー情報
オブジェクト種類:Object
[errorオブジェクトのプロパティ]
errorオブジェクトのプロパティの一覧を図79に示す。
「onstatuschangeイベント」
コールバック関数を登録して、ステータス変更イベントを取得する。
[構文]
Function(status)
[コールバック関数のパラメーター]
パラメーター:status
名称:ステータス
オブジェクト種類:Number
「ononlineイベント」
コールバック関数を登録して、オンラインイベントを取得する。
オブジェクト種類:Function()
「onofflineイベント」
コールバック関数を登録して、オフラインイベントを取得する。
オブジェクト種類:Function()
「onpoweroffイベント」
コールバック関数を登録して、無応答イベントを取得する。
オブジェクト種類:Function()
「oncoverokイベント」
コールバック関数を登録して、カバークローズイベントを取得する。
オブジェクト種類:Function()
「oncoveropenイベント」
コールバック関数を登録して、カバーオープンイベントを取得する。
オブジェクト種類:Function()
「onpaperokイベント」
コールバック関数を登録して、用紙ありイベントを取得する。
オブジェクト種類:Function()
「onpapernearendイベント」
コールバック関数を登録して、用紙ニアエンドイベントを取得する。
オブジェクト種類:Function()
「onpaperendイベント」
コールバック関数を登録して、用紙エンドイベントを取得する。
オブジェクト種類:Function()
「ondrawerclosedイベント」
コールバック関数を登録して、ドロアークローズイベントを取得する。
オブジェクト種類:Function()
「ondraweropenイベント」
コールバック関数を登録して、ドロアーオープンイベントを取得する。
オブジェクト種類:Function()
Scannerオブジェクトについて説明する。
「ondataイベント」
バーコード情報の読み取りイベントを受け取る。
[構文]
Function(data);
[コールバック関数のパラメーター]
data
オブジェクト種類:(Object)
図80に示すプロパティを受け取る。
SimpleSerialオブジェクトについて説明する。
API仕様はデバイス制御スクリプトの作成により、カスタマイズすることができる。
「sendCommand」
任意のコマンドを送信する。
[構文]
sendCommand(data);
[パラメーター]
data
オブジェクト種類:(String)
コマンドを16進数文字列で指定する。
コマンドの文字列は、”\x”で区切って指定される。
<例>
0x020x1F0x03を送信する場合は、文字列”\x02\x1F\x03”を指定する。
「oncommandreplyイベント」
デバイスからの応答イベントを受け取る。
[構文]
Function(data);
[コールバック関数のパラメーター]
data
オブジェクト種類:(String)
応答データの16進数文字列を受け取る。
受け取る16進数文字列は、”\x”で区切られている。例:“\x1B\x40”
続いて、デバイス制御スクリプト502について説明する。
まず、プログラミングについて説明する。
図81は、デバイス制御スクリプトの使用に関する説明図である。
本発明のデバイス制御機能で提供するデバイス制御スクリプト502を使うことにより、デバイスのデータ処理のカスタマイズをしたり、新たなデバイスをウェブアプリケーションから使用したりすることができる。図81に示すように、デバイス制御スクリプト502は、デバイスコネクション503と、クライアントコネクション504とを有する。この図81ではプリンター5のデバイスを総称してデバイス20として示す。
上述したDeviceオブジェクトの「createDeviceメソッド」が実行されると、プリンター5上のデバイスサービスインターフェース501が、要求されたデバイスに対応するデバイス制御スクリプトを使用できるようにオブジェクトを生成する。生成されたオブジェクトにより、デバイスを制御できる。
デバイス制御スクリプト502には、デバイスサービスインターフェース501から、図82に示すオブジェクトが渡される。
これらのデバイスコネクション503及びクライアントコネクション504を使うことで、図81に示したように、デバイス制御スクリプト502はウェブアプリケーション32およびデバイス20と通信することができる。デバイスコネクション503は、デバイス20とのデータ送受信を行うオブジェクトである。クライアントコネクション504は、ウェブブラウザー31側のデバイスオブジェクトにデータ送信を行うオブジェクトであり、デバイスサービスインターフェース501にアクセスする。
デバイス制御スクリプトのオブジェクト使った機能について説明する。
デバイス制御スクリプト用APIを使って以下の機能を使用できる。
・ブラウザー側のデバイスオブジェクトの任意のイベントを呼び出し可能である。
・デバイスにデータを送信可能である。
・デバイスから発生したデータを受信可能である。
デバイス制御スクリプトの構成について説明する。
デバイス制御スクリプトは以下の条件を満たすようにコーディングされる。
・デバイス制御に必要なコードは、1つのファイルにまとめて記述される。
(TMNetWebConfigを使ってデバイスの設定をする際、1つのファイルしか登録できないこととする。)
・ファイル名の最初のドット"."までの名称と、コンストラクター名称を同じにする。
(例)ファイル名:Keyboard_Generic.ver1.0.js→コンストラクターの名称:Keyboard_Generic
・コンストラクターの外部参照のために、exports宣言する。
(例)exports.Keyboard_Generic=Keyboard_Generic;
・デバイス制御スクリプトには、図83及び図84に示すプロパティを持たせる。コンストラクターで適切な名称を設定される。
DEVICE_TYPEプロパティ(オブジェクト種類:String)
設定値の一覧を図83に示す。
DEVICE_GROUPプロパティ(オブジェクト種類:String
設定値の一覧を図84に示す。
・デバイスで発生したデータを受け取るためonDeviceDataメソッドを用意する。詳細は、後述する「デバイス制御スクリプト名オブジェクト」で説明する。
・ウェブブラウザー31側で動作するデバイスオブジェクトのメソッドに対応するメソッドを用意する。詳細は、後述する「任意イベント」で説明する。
デバイス制御スクリプト502の構成例を、図85に示す。
デバイス制御スクリプトAPIについて説明する。
デバイス制御スクリプトAPIには、次のオブジェクトが用意されている。
・クライアント接続(ClientConnection)オブジェクト(図86にAPIの一覧を示す。)
・デバイス接続(DeviceConnection)オブジェクト(図87にAPIの一覧を示す。)
・デバイス制御スクリプト名オブジェクト(図88にAPIの一覧を示す。)
ClientConnectionオブジェクトについて説明する。
このオブジェクトは、デバイス制御スクリプト502のコンストラクターの第1パラメーターに渡されるオブジェクトである。
API「send」は、ブラウザーで動作するデバイスオブジェクトにデータを送信する。
[構文]
send(event,data);
[パラメーター]
・event:オブジェクト種類:(String)
デバイスオブジェクトのイベント名を設定する。
・data:オブジェクト種類:(Object)
デバイスオブジェクトのイベントに渡すデータを指定する。
例を図89に示す。この例では、デバイスオブジェクトのonkeypressイベントが呼び出され、onkeypressイベントのdataパラメーターを使い、data.keycodeから49、data.asciiから'1'を取得する。
DeviceConnectionオブジェクトについて説明する。
このオブジェクトは、デバイス制御スクリプト502のコンストラクターの第2パラメーターに渡されるオブジェクトである。
API「send」は、シリアル通信デバイスにデータを送信する。
なお、HIDドライバーで動作可能な入力デバイスの場合には、送信されない。
[構文]
send(data);
[パラメーター]
data:オブジェクト種類:(Buffer)
デバイスに送信するデータを指定する。
デバイス制御スクリプト名オブジェクトについて説明する。
「onDeviceDataイベント」(HIDドライバーで動作可能な入力デバイス)
このイベントは、キー入力デバイスから検出されたデータを受信するイベントである。
キー入力デバイス用のデバイス制御スクリプト502の場合、この形式でイベントが記述される。
[構文]
onDeviceData(event,keycode,ascii);
[パラメーター]
event:オブジェクト種類:(Number)
キー操作の方向を受け取る。値の一覧を図90に示す。
keycode:オブジェクト種類:(Number)
キーコードを受け取る。キーコードの例は図9のキーコード一覧に示した。
ascii:オブジェクト種類:(String)
操作されたキーに対応する文字を受け取る。
キーコードに対応する文字がない場合(F1キーなど)、undefinedになる。
「onDeviceDataイベント」(シリアル通信デバイス)
このイベントはシリアル通信デバイスからデータを受信するイベントである。
シリアル通信用のデバイス制御スクリプト502の場合、この形式でイベントが記述される。
[構文]
onDeviceData(data);
[パラメーター]
data:オブジェクト種類:(Buffer)
シリアル通信デバイスから受信したデータを受け取る。
「任意イベント」
ブラウザーで動作するデバイスオブジェクトのAPI実行結果を受信するイベントである。
[構文]
callEventで指定した名称(data);
[パラメーター]
data:オブジェクト種類:(Object)
デバイスオブジェクトのcallEventでパラメーター指定したオブジェクトを受け取る。
サンプルプログラムについて説明する。
以下に説明するサンプルプログラムは、POSシステムのような使い方をすることが可能である。また、デバイス毎のデバイスAPI33のサンプルコードを作成できる。
図91には、POS端末のサンプルの一例を示す。図92には、プリンターのサンプルプログラムの一例を示す。
サンプルプログラムを動作させるのに必要な動作環境は、次の通りである。
(1)必要なデバイス(全てのデバイスを準備しなくても、サンプルプログラムを使用する事は可能である)
・プリンター5
・カスタマーディスプレイ8
・POSキーボード
・バーコードスキャナー
(2)プリンター5の操作に必要なもの
・ディスプレイ
・キーボード
・マウス
(3)その他
・LANケーブル
・サンプルプログラム
サンプルプログラムの環境設定のフローを図93に示す。
なお、TMNet TMNetWebConfig使用中に、“Windowsセキュリティ”画面が表示された場合、ユーザー名とパスワードを入力する。
1.LANケーブルの接続
プリンター5にLANケーブルを接続する。
2.サンプルプログラムの登録
サンプルプログラム(device_API_J_Sample.zip)をプリンター5に登録する。
3.デバイスの接続
使用するデバイスを、プリンター5に接続する。
4.デバイスの設定
TMNet TMNetWebConfigを使って、設定する。
サンプルプログラムの登録について説明する。
図94は、サンプルプログラムを登録する画面である。サンプルプログラム(device_API_UM_J_Sample.zip)を、TMNet TMNetWebConfigを使ってプリンター5に登録する。
以下の手順で登録する。
1.プリンター5の電源をオンにする。
2.デスクトップにあるショートカットから、TMNet TMNetWebConfigを起動する。
図94中に[2]で示す[Webサービス設定]-[Webコンテンツ]-[更新設定]を選択する。
3.図94の右側のフレームに示すように、“Webコンテンツの更新設定”画面が表示される。図94中に[3]で示す[参照]ボタンをクリックし、サンプルプログラムを設定する。
4.次に図94中に[4]で示す[アップロード]ボタンをクリックし、サンプルプログラムをプリンター5に登録する。
デバイスの設定について説明する。
ここでは、TMNet TMNetWebConfigを使って、以下のデバイスを設定する。
・カスタマーディスプレイ
・POSキーボード
・バーコードスキャナー
カスタマーディスプレイの設定について説明する。
図95は、カスタマーディスプレイを設定する画面を示す。
以下の手順で登録する。
1.デスクトップにあるショートカットから、TMNet TMNetWebConfigを起動する。
図95に[1]で示す[Webサービス設定]-[デバイス管理]-[ディスプレイ]を選択する。
2.図95の“カスタマーディスプレイの設定”画面が表示される。図95に[2]で示す[使用する]を選択し、[設定]ボタンをクリックする。ここで、設定値を変更する必要はない。
POSキーボード/バーコードスキャナーの設定について説明する。
図96は、POSキーボード/バーコードスキャナーを設定する画面を示す。
以下の手順で登録する。
1.POSキーボード/MSR/バーコードスキャナーが、プリンター5に接続されているか確認する。
2.デスクトップにあるショートカットから、TMNet TMNetWebConfigを起動する。
図96の[2]に示す[Webサービス設定]-[デバイス管理]-[キー入力デバイス] を選択する。
3.図96の“キー入力デバイス”画面が表示される。図96の[3]の箇所にデバイスID/デバイス名/制御スクリプトを設定し、[登録]ボタンをクリックする。設定の例を図97に示す。登録は、1デバイスずつ登録する。
4.登録したデバイスが、図96の[4]の[登録済みキー入力デバイス]に表示される。
サンプルプログラムの起動について説明する。
次のようにサンプルプログラム(device_API_UM_J_Sample.zip)を起動する。
1.Webブラウザーを起動し、アドレスバーにプリンター5のIPアドレスを入力する。プリンター5のIPアドレスの初期値は、"192.168.192.168"である。
2.サンプルプログラムが表示される。図98に表示例を示す。サンプルプログラムが表示されない場合、LANケーブルが接続されているか確認する。
サンプルプログラムの使い方
サンプルプログラムには、以下の項目がある。各項目を選択すると対応する画面に移動する。各サンプルプログラムの詳細は後述する。
・POS Terminal Sample
・Customer Display Sample
・Keyboard Sample
・Printer Sample
・Barcode Scanner Sample
Customer Display Sampleの詳細を説明する。
このサンプルプログラムにより、カスタマーディスプレイを動作させたり、カスタマーディスプレイのサンプルコードを生成したりすることが可能になる。
Customer Display Sampleは以下の手順で使用される。
1.サンプルプログラムを起動する。図98で[Customer Display Sample]を選択する。
2.図99Aの"Customer Display Sample"画面が表示される。この画面の[接続]ボタンをクリックする。
接続に成功すると、[Console]に以下のメッセージが表示される。また、カスタマーディスプレイの表示が変わる。
なお、[Device Setting]の設定を変更する必要はない。ただし、IPアドレスなどを変更している場合、変更した値に合わせて[Device Setting]の設定を変更する。
3.図99Bの画面で動作させたい機能を設定し、[追加]ボタンをクリックする。
4.図99Cの[Display Objectサンプルコード]に、手順3で追加した機能のソースが表示される。コピーして使用することができる。
5.図99Cの画面の[送信]ボタンをクリックすると、手順3で追加した機能に合わせてディスプレイの表示が変わる。
Keyboard Sampleの詳細を説明する。
このサンプルプログラムにより、POSキーボードからの入力を取得することができる。
は以下の手順で使用される。
1.サンプルプログラムを起動する。図98で[Keyboard Sample]を選択する。
2.図100Aの"Keyboard Sample"画面が表示される。[接続]ボタンをクリックする。接続に成功すると、[Console]に以下のメッセージが表示される。
なお、[Device Setting]の設定を変更する必要はない。ただし、IPアドレスなどを変更している場合、変更した値に合わせて[Device Setting]の設定を変更する。
3.文字列の始まりと判断するキーを選択し、[登録]ボタンをクリックする。
この設定には、あらかじめPOSキーボード側の登録が必要である。
例:F1+指定文字列+Enter
4.POSキーボードから入力すると、入力結果が図100Cの[ePOS Device API Keyboard Object]に表示される。入力と結果の例を図100Bに示す。
Printer Sample の詳細を説明する。
このサンプルプログラムにより、プリンターを動作させたり、プリンターのサンプルコードを生成したりすることができる。
Printer Sampleは以下の手順で使用される。
1.サンプルプログラムを起動する。図98で[Printer Sample]を選択する。
2.図101Aの"Printer Sample"画面が表示される。[接続]ボタンをクリックする。接続に成功すると、[Console]に以下のメッセージが表示される。
なお、[Device Setting]の設定を変更する必要はない。ただし、IPアドレスなどを変更している場合、変更した値に合わせて[Device Setting]の設定を変更する。
3.動作させたい機能を設定し、図101Bの画面の[追加]ボタンをクリックする。
4.図101Cの画面の[printer-Print APIサンプルコード]に、手順3で追加した機能のソースが表示される。コピーして使用することができる。
5.[送信]ボタンをクリックすると、手順3で追加した機能に合わせてテスト印字される。
Barcode Scanner Sampleの詳細を説明する。
このサンプルプログラムにより、バーコードスキャナーからの入力を取得することができる。
Barcode Scanner Sampleは以下の手順で使用される。
1.サンプルプログラムを起動する。図98で[Barcode Scanner Sample]を選択する。
2.図102Aの"Barcode Scanner Sample"画面が表示される。[接続]ボタンをクリックする。接続に成功すると、[Console]に以下のメッセージが表示される。
なお、[Device Setting]の設定を変更する必要はない。ただし、IPアドレスなどを変更している場合、変更した値に合わせて[Device Setting]の設定を変更する。
3.バーコードスキャナーにバーコードを読み込ませると、読み込まれた情報が図102Bの画面の[ePOS Device API Scanner Object]に表示される。
POS Terminal Sampleの詳細を説明する。
このサンプルプログラムにより、POSシステムのような動作をさせることができる。
POS Terminal Sampleは以下の手順で使用される。
まず、準備が行われる。この準備では、サンプルプログラムを起動し、各デバイスを設定する。
1.サンプルプログラムを起動する。図98の[POS Terminal Sample]を選択する。
2.図103Aの"POS Terminal Sample"画面が表示される。[設定]ボタンをクリックする。
3.図103Bの"設定"画面が表示される。この設定画面でIPアドレス/ポート/デバイスIDを設定できる。設定を変更した場合、[接続]ボタンをクリックしステータスが[OK]になるか確認する。確認後、画面を閉じる。なお、通常、設定を変更する必要はない。
次に、操作について説明する。
商品の読み込みから、レシート発行までの手順は下記のとおりである。
1.バーコードスキャナーまたは、POSキーボードから商品を入力する。
商品入力後、図104Aの画面で[小計]ボタンをクリックする。
・[商品取消]ボタンをクリックすると、選択中の商品が削除される。また、[商品全取消]ボタンを押すと全ての商品を削除する。
・数量を変更する場合、商品入力後に[数量]ボタンをクリックし、数字を入力する。数量を確定する時は[現計]ボタンをクリックする。
2.図104Bの画面で預かり金額を入力する。金額入力後、[現計]ボタンをクリックする。
3.図104Cの画面に示すように釣り銭が表示され、プリンターからレシートが印刷される。
以上説明したように、本発明を適用した実施形態のデバイス制御システム100は、ウェブアプリケーション32を提供するアプリケーションサーバー2と、ネットワークを介してアプリケーションサーバー2に接続され、ウェブアプリケーション32を表示するウェブブラウザー31を備えた端末3と、デバイスが接続されるコネクターパネル60を有し、コネクターパネル60に接続されたデバイスを制御するプリンター5と、を備える。端末3は、ウェブアプリケーション32によってデバイスを制御するデバイスAPI33がデバイスに対応して有するオブジェクトを呼び出し、プリンター5にリクエストを送信し、プリンター5は、デバイスを制御するデバイス制御スクリプト502を実行し、デバイスAPI33を介して送信されたリクエストを受信してコネクターパネル60に接続されたデバイスを制御する。
ここで、デバイス制御システム100に限らず、デバイス制御システム200、300においても同様の構成とすることができる。デバイス制御システム300では、プリンター5がアプリケーションサーバー2(図1)の機能を具備する。
デバイス制御システム100において、デバイス制御スクリプト502は、デバイスとデータを送受信するDeviceConnectionオブジェクトと、デバイス制御APIにデータを送信するClientConnectionオブジェクトとを有する。
デバイス制御システム100において、端末3は、プリンター5に接続されたデバイスを指定して、デバイスの制御開始を指示するリクエストをプリンター5に送信し、プリンター5はリクエストで指定されたデバイスに対し、デバイス制御スクリプト502によりコマンドを送信し、デバイスを制御可能な状態に移行する。
デバイス制御システム100において、第1の端末3及び第2の端末3を備える場合に、第1の端末3がプリンター5に接続されたデバイスを指定して、デバイスの制御開始を指示するリクエストをプリンター5に送信し、プリンター5がリクエストで指定されたデバイスを制御可能な状態に移行した場合に、デバイスは第2の端末3が送信するリクエストにより制御できない排他ロック状態となる。
この場合、第2の端末3が、デバイスAPI33が有するデバイスに対応するオブジェクトを呼び出してリクエストを送信した場合に、プリンター5は第2の端末3に対しデバイスの使用中を通知する。
また、デバイス制御システム100において、プリンター5に接続されたデバイスがローカルプリンターまたはネットワークプリンター7であり、プリンター5がリクエストで指定されたデバイスを制御可能な状態に移行した場合に、ローカルプリンターまたはネットワークプリンター7は第2の端末3が送信するリクエストに従ってデバイス制御スクリプト502により制御可能である。
デバイス制御システム100において、端末3は、プリンター5に接続されたデバイスを指定して、デバイスの制御終了を指示するリクエストをプリンター5に送信し、プリンター5はリクエストで指定されたデバイスに対し、デバイス制御スクリプト502によりコマンドを送信し、デバイスを制御可能な状態を終了する。
デバイス制御システム100において、端末3は、プリンター5に接続されたデバイスを指定して、デバイスの制御終了を指示するリクエストをプリンター5に送信し、プリンター5はリクエストで指定されたデバイスに対し、デバイス制御スクリプト502によりコマンドを送信し、デバイスを制御可能な状態を終了し、デバイスはプリンター5が第2の端末3が送信するリクエストにより制御可能となる。
デバイス制御システム100において、端末3は、デバイスAPI33により、デバイスAPI33が有するオブジェクトとプリンター5のデバイス制御スクリプト502との接続状態を検出する。
デバイス制御システム100において、端末3は、ウェブアプリケーション32によってデバイスAPI33が有するオブジェクトを制御し、デバイス制御スクリプト502のイベントを呼び出す。
デバイス制御システム100において、プリンター5にはデバイスとしてカスタマーディスプレイが接続され、端末3はカスタマーディスプレイの表示に係るリクエストを送信し、プリンター5はリクエストに従って、デバイス制御スクリプト502によりカスタマーディスプレイの表示を制御する。
デバイス制御システム100において、プリンター5にはデバイスとしてカスタマーディスプレイが接続され、端末3はカスタマーディスプレイの表示に係るリクエストを送信し、プリンター5はリクエストに従って、デバイス制御スクリプト502によりカスタマーディスプレイに時刻を表示させ、時刻の表示中に第2のリクエストが送信された場合に時刻の表示を停止させる。
デバイス制御システム100において、プリンター5に接続されたデバイスがプリンターであり、端末3は、デバイス制御APIのオブジェクトにより、プリンターにイメージデータを登録させるリクエストを送信し、プリンター5はリクエストで指定されたプリンターにイメージデータを登録させ、プリンターは登録したイメージデータを印刷する。
デバイス制御システム100において、端末3が送信するリクエストに従って、HTML5Canvasで描画されるカラーのイメージデータがラスターイメージデータに変換され、プリンターに登録される。
デバイス制御システム100において、端末3は、デバイス制御APIのオブジェクトにより、デバイスを指定して、デバイスと端末3との間で送受信されるデータの暗号化の要否の設定を指示するリクエストを送信する。
端末3は、ウェブアプリケーション32を提供するアプリケーションサーバー2、及び、デバイスが接続されるコネクターパネル60を有し、コネクターパネル60に接続されたデバイスを制御するプリンター5に、ネットワークを介して接続され、ウェブアプリケーション32を表示するウェブブラウザー31を備え、ウェブアプリケーション32によってデバイスを制御するデバイスAPI33がデバイスに対応して有するオブジェクトを呼び出し、プリンター5にリクエストを送信し、プリンター5にデバイスを制御するデバイス制御スクリプト502を実行させる。
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
以上説明したように、本発明は、デバイスを制御するデバイス制御システムに有用であり、POSシステムに用いられるデバイスの制御や印刷装置に適用可能である。
2…アプリケーションサーバー、3…端末、5…プリンター、7…ネットワークプリンター、8…カスタマーディスプレイ、9…バーコードスキャナー、11…無線LANアクセスポイント、12…ディスプレイ、13…キャッシュドロワー、14…キーボード、15…USB延長ケーブル、17…無線LANユニット、18…キー入力デバイス、19…シリアル通信デバイス、20…デバイス、31…ウェブブラウザー、32…ウェブアプリケーション、33…デバイスAPI、51…ロール紙カバー、52…カバーオープンボタン、53…マニュアルカッター、54…カッターカバー、55…ローカルプリンター、56A…リセットボタン、56B…電源スイッチ、57…LED表示部、58…コントロールパネル、59…コネクターカバー、60…コネクターパネル、61…ドロワーキックコネクター、62…イーサネットコネクター、63…USBコネクター、64…VGAコネクター、65…COMコネクター、100…デバイス制御システム、200…デバイス制御システム、300…デバイス制御システム、301…デバイス一覧、501…デバイスサービスインターフェース、502…デバイス制御スクリプト、503…デバイスコネクション、504…クライアントコネクション。

Claims (21)

  1. デバイスと、
    前記デバイスと接続する接続部、及び前記接続部に接続された前記デバイスを制御するデバイス制御部を有するデバイス制御装置と、
    前記デバイス制御装置と接続し、ウェブアプリケーションの表示及び前記デバイスを制御するデバイスアプリケーションプログラムインターフェースを実行させるウェブブラウザーを動作させる端末と、
    を備えることを特徴とするデバイス制御システム。
  2. 前記デバイスアプリケーションプログラムインターフェースは、前記デバイスに対応するオブジェクトを有し、
    前記ウェブアプリケーションは前記オブジェクトを呼び出し、前記デバイス制御装置にリクエストを送信する請求項1に記載のデバイス制御システム。
  3. 前記デバイス制御装置は、
    前記デバイスを制御するデバイス制御スクリプトを実行し、
    前記デバイス制御スクリプトは、前記オブジェクトと接続し、前記端末で送信された前記リクエストを受信して前記接続部に接続された前記デバイスを制御する請求項2に記載のデバイス制御システム。
  4. 前記デバイス制御スクリプトは、前記デバイスとデータを送受信するデバイス接続オブジェクト、及び前記デバイスAPIにデータを送信するクライアント接続オブジェクトを有する請求項3に記載のデバイス制御システム。
  5. 前記リクエストは、前記デバイス制御装置に接続された前記デバイスを指定して前記デバイスの制御の開始を指示する制御開始リクエストであり、
    前記コマンドは、前記デバイスの制御の開始を指示する制御開始コマンドであり、
    前記端末が前記制御開始リクエストを前記デバイス制御装置に送信した時、前記デバイス制御装置は前記制御開始リクエストで指定された前記デバイスに前記制御開始コマンドを送信し、前記デバイスを前記端末で制御可能とする請求項3に記載のデバイス制御システム。
  6. 前記デバイス制御装置と接続し、第2のウェブアプリケーションの表示及び前記デバイスを制御する第2のデバイスアプリケーションプログラムインターフェースを実行させるウェブブラウザーを動作させる第2の端末を備え、
    前記第2のデバイスアプリケーションプログラムインターフェースは、前記デバイスに対応する第2のオブジェクトを有する請求項5に記載のデバイス制御システム。
  7. 前記端末で前記デバイスの制御が可能な時に、前記デバイス制御装置は前記デバイスを排他ロック状態とし、前記第2のウェブアプリケーションが前記第2のオブジェクトを呼び出して前記デバイス制御装置に第2のリクエストを送信した場合に前記第2のリクエストでの前記デバイスの制御を実行させない請求項6に記載のデバイス制御システム。
  8. 前記端末で前記デバイスの制御が可能な時に前記第2の端末が前記第2のリクエストを前記デバイス制御装置に送信した場合、前記デバイス制御装置は、前記第2の端末に前記デバイスが使用中であることを示す通知を送信する請求項6に記載のデバイス制御システム。
  9. 前記デバイスは、印刷を行うプリンターであり、
    前記端末で前記プリンターの制御が可能な時に前記第2の端末が前記第2のリクエストを前記デバイス制御装置に送信した場合、前記デバイス制御装置は前記第2のリクエストに基づいて前記デバイス制御スクリプトで前記プリンターを前記第2の端末での制御を可能にする請求項6に記載のデバイス制御システム。
  10. 前記端末の前記ウェブアプリケーションは前記オブジェクトを呼び出し、前記デバイス制御装置に前記デバイスを指定して前記デバイスの制御終了を指示する制御終了リクエストを送信し、
    前記端末が前記制御終了リクエストを前記デバイス制御装置に送信した時、前記デバイス制御装置は前記制御終了リクエストで指定された前記デバイスに前記デバイス制御スクリプトで制御の終了を指示する第2のコマンドを送信し、前記端末での前記デバイスの制御を終了させる請求項6に記載のデバイス制御システム。
  11. 前記デバイス制御装置が前記端末での前記デバイスの制御を終了させた後に前記第2の端末が前記第2のリクエストを前記デバイス制御装置に送信した場合、前記デバイス制御装置は前記第2のリクエストに基づいて前記デバイス制御スクリプトで前記デバイスを前記第2の端末での制御を可能にする請求項10に記載のデバイス制御システム。
  12. 前記デバイスアプリケーションプログラムインターフェースは、前記オブジェクトと前記デバイス制御装置のデバイス制御スクリプトとの接続を検出する請求項3に記載のデバイス制御システム。
  13. 前記オブジェクトは、前記デバイス制御スクリプトに含まれるイベントを呼び出す請求項3に記載のデバイス制御システム。
  14. 前記デバイスは、表示を行うディスプレイであり、
    前記リクエストは、前記ディスプレイを指定して前記ディスプレイの表示を要求する表示リクエストであり、
    前記端末が前記表示リクエストを前記デバイス制御装置に送信した時、前記デバイス制御装置は前記表示リクエストで指定された前記ディスプレイに前記デバイス制御スクリプトで表示を要求する表示コマンドを送信する請求項3に記載のデバイス制御システム。
  15. 前記表示リクエストで要求するディスプレイの表示は、時刻の表示である請求項14に記載のデバイス制御システム。
  16. 前記リクエストは、前記デバイスを指定して前記デバイスにイメージデータの登録を要求する登録リクエストであり、
    前記端末が前記登録リクエストを前記デバイス制御装置に送信した時、前記デバイス制御装置は前記登録リクエストで指定された前記デバイスに前記デバイス制御スクリプトで前記イメージの登録を指示する登録コマンドを送信する請求項3に記載のデバイス制御システム。
  17. 前記端末は、前記イメージデータを前記デバイス制御装置に送信し、
    前記デバイス制御スクリプトは、前記イメージデータを前記ラスターイメージデータに変換する請求項16に記載のデバイス制御システム。
  18. 前記リクエストは、前記デバイスを指定して、前記デバイスと前記端末との間で送受信されるデータの暗号化の要否の設定を指示する暗号化リクエストである請求項3に記載のデバイス制御システム。
  19. デバイスと接続する接続部と、
    デバイスを制御するデバイス制御スクリプトを実行して、前記接続部に接続された前記デバイスを制御するデバイス制御部と、
    印刷を行う印刷部と、
    を有することを特徴とする印刷装置。
  20. ウェブブラウザーを動作させる端末、デバイス、及び前記デバイスと接続するデバイス制御装置を有し、
    前記ウェブブラウザーで動作するウェブアプリケーションで前記デバイスに対応するオブジェクトを呼び出し、
    前記デバイス制御装置にリクエストを送信し、
    前記デバイス制御装置で前記デバイスを制御するデバイス制御スクリプトを実行し、
    前記デバイス制御装置で受信した前記リクエストに基づいて前記デバイス制御スクリプトで前記デバイスを制御するコマンドを前記デバイスに送信し、
    前記端末での前記デバイスの制御を確立することを特徴とするデバイス制御システムの制御方法。
  21. 前記リクエストは、前記デバイス制御装置に接続された前記デバイスを指定して前記デバイスの制御の開始を指示する制御開始リクエストであり、

    前記端末が前記制御開始リクエストを前記デバイス制御装置に送信した時、前記デバイス制御装置は前記制御コマンドを前記デバイスに送信し、前記デバイスを前記端末での制御を開始させる請求項20に記載のデバイス制御システムの制御方法。
JP2014555399A 2013-01-02 2013-12-26 印刷装置、印刷装置の制御方法、及び、デバイス制御システム Active JP6277961B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361748232P 2013-01-02 2013-01-02
US61/748,232 2013-01-02
PCT/JP2013/007625 WO2014106882A1 (ja) 2013-01-02 2013-12-26 デバイス制御システム、印刷装置、及び、デバイス制御システムの制御方法

Publications (2)

Publication Number Publication Date
JPWO2014106882A1 true JPWO2014106882A1 (ja) 2017-01-19
JP6277961B2 JP6277961B2 (ja) 2018-02-14

Family

ID=51016898

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2014555399A Active JP6277961B2 (ja) 2013-01-02 2013-12-26 印刷装置、印刷装置の制御方法、及び、デバイス制御システム
JP2014555400A Active JP6206417B2 (ja) 2013-01-02 2013-12-26 プリンター、プリンターの制御方法、及び、デバイス制御システム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2014555400A Active JP6206417B2 (ja) 2013-01-02 2013-12-26 プリンター、プリンターの制御方法、及び、デバイス制御システム

Country Status (7)

Country Link
US (7) US9052853B2 (ja)
EP (2) EP2799999B1 (ja)
JP (2) JP6277961B2 (ja)
KR (3) KR101652655B1 (ja)
CN (2) CN104583984B (ja)
IN (2) IN2014DN06744A (ja)
WO (2) WO2014106883A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101632221B1 (ko) * 2014-02-27 2016-07-01 엘지전자 주식회사 디지털 디바이스 및 그의 서비스 처리 방법
JP5958490B2 (ja) * 2014-03-31 2016-08-02 コニカミノルタ株式会社 ウェブシステム、ウェブサーバ、データ配信方法、およびコンピュータプログラム
CN109324768B (zh) * 2014-12-30 2021-10-22 珠海奔图电子有限公司 一种通过移动终端将用户帐号与图像形成设备绑定的方法及系统
WO2017086989A1 (en) * 2015-11-20 2017-05-26 Hewlett-Packard Development Company, L.P. Xml file condensing
US9509942B1 (en) 2016-02-08 2016-11-29 Picaboo Corporation Automatic content categorizing system and method
CN106970767A (zh) * 2017-03-03 2017-07-21 华中科技大学 一种实现本地打印机接入云打印平台的方法和系统
US11752779B2 (en) 2017-12-12 2023-09-12 Gpcp Ip Holdings Llc Food service cup dispensers, systems, and methods
US20190180392A1 (en) 2017-12-12 2019-06-13 Gpcp Ip Holdings Llc Personalized food service material printing systems
US11472579B2 (en) 2018-12-04 2022-10-18 Gpcp Ip Holdings Llc Film securing apparatus and method
CN108773205B (zh) * 2018-06-13 2024-04-05 马方立 智能打印装置及智能打印控制方法
CN108898002B (zh) * 2018-07-06 2021-10-08 青岛山景虚拟现实研究院 一种可与计算机无线连接的扫描枪装置
JP7320822B2 (ja) * 2018-08-22 2023-08-04 株式会社アスタリスク システム及び周辺装置
JP7135685B2 (ja) * 2018-09-28 2022-09-13 株式会社リコー 電子機器、情報処理システム及び終了操作抑制方法
CN110969032B (zh) * 2018-09-28 2023-09-05 捷普电子(广州)有限公司 用于扫描物体的扫描设备
JP7278805B2 (ja) * 2019-03-04 2023-05-22 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム
JP2020204950A (ja) * 2019-06-18 2020-12-24 コニカミノルタ株式会社 情報処理システム、情報処理システムの制御方法、装置、及び制御プログラム
JP7234849B2 (ja) * 2019-08-05 2023-03-08 富士通株式会社 情報処理装置、アクセス制御システム及びアクセス制御プログラム
JP6732092B1 (ja) * 2019-12-12 2020-07-29 シチズン時計株式会社 機器制御方法、機器制御プログラム、および機器制御装置
RU2758816C1 (ru) * 2020-06-29 2021-11-02 Георгий Ревазович Хвистани Система и способ фотофиксации заказов предприятия общественного питания
JP2022138291A (ja) 2021-03-10 2022-09-26 セイコーエプソン株式会社 システム、サーバー装置及び端末装置
JP2022138292A (ja) 2021-03-10 2022-09-26 セイコーエプソン株式会社 情報処理装置及びシステム

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002176675A (ja) * 2000-12-06 2002-06-21 Seiko Epson Corp データ伝送システム及びその方法
JP2003274100A (ja) * 2002-03-14 2003-09-26 Ricoh Co Ltd 画像形成装置、リモート画像形成制御方法およびその方法をコンピュータに実行させるプログラム
JP2005045437A (ja) * 2003-07-25 2005-02-17 Fuji Xerox Co Ltd スキャナシステムおよびその方法
JP2007188468A (ja) * 2005-12-15 2007-07-26 Ricoh Co Ltd 通信装置、電子機器、情報処理システム、アプリケーション実行方法、アプリケーション実行プログラム及び記録媒体
JP2007328558A (ja) * 2006-06-08 2007-12-20 Ricoh Co Ltd データ処理装置、データ処理システム、データ処理装置の制御方法、データ変換機能付加方法、プログラム及び記録媒体
JP2010113606A (ja) * 2008-11-07 2010-05-20 Canon Imaging Systems Inc デバイス共有システム、デバイス共有クライアント、及びデバイス共有方法
JP2012173910A (ja) * 2011-02-21 2012-09-10 Seiko Epson Corp ネットワークシステム、デバイスサーバーおよびネットワークシステムの制御方法

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5707162A (en) 1993-11-24 1998-01-13 Seiko Epson Corporation Modular information processing apparatus
JP3399051B2 (ja) 1993-11-24 2003-04-21 セイコーエプソン株式会社 Posターミナル及びその印刷装置
US6368177B1 (en) 1995-11-20 2002-04-09 Creator, Ltd. Method for using a toy to conduct sales over a network
US20010021669A1 (en) 1995-11-20 2001-09-13 Creator Ltd. I*doll
US5752880A (en) 1995-11-20 1998-05-19 Creator Ltd. Interactive doll
US6128415A (en) * 1996-09-06 2000-10-03 Polaroid Corporation Device profiles for use in a digital image processing system
US6519048B1 (en) 1998-04-28 2003-02-11 Canon Kabushiki Kaisha Image forming apparatus, image forming method, and storage medium storing computer readable program therein
US6289371B1 (en) * 1998-09-30 2001-09-11 Hewlett-Packard Company Network scan server support method using a web browser
WO2002037291A1 (fr) * 2000-10-26 2002-05-10 Matsushita Electric Industrial Co., Ltd. Dispositif de designation d"image objet d"impression
US9836257B2 (en) 2001-01-19 2017-12-05 Flexiworld Technologies, Inc. Mobile information apparatus that includes intelligent wireless display, wireless direct display, or transfer of digital content for playing over air the digital content at smart televisions, television controllers, or audio output devices
JP2003288336A (ja) 2002-03-28 2003-10-10 Brother Ind Ltd 特定機能代行システム、及び、電子機器、記憶媒体
CN1287334C (zh) 2002-09-05 2006-11-29 精工爱普生株式会社 打印方法、程序及装置、商品销售数据处理装置、pos系统
JP4341326B2 (ja) 2002-09-05 2009-10-07 セイコーエプソン株式会社 印刷方法、印刷装置、プリンタドライバ、商品販売データ処理装置およびposシステム
US20060164550A1 (en) 2003-04-24 2006-07-27 Kyosuke Yoshimoto Video device, video module unit, and video device operation method
CN101136836A (zh) * 2003-04-24 2008-03-05 三菱电机株式会社 影像设备,影像模块单元以及影像设备操作方法
JP2006135982A (ja) 2003-04-24 2006-05-25 Mitsubishi Electric Corp ネットワーク接続装置、映像情報機器、情報送受信機器、及びネットワーク接続プログラム
KR100538903B1 (ko) 2003-06-24 2005-12-27 삼성전자주식회사 네트워크 인터페이스 장치
US8937731B2 (en) * 2003-09-01 2015-01-20 Konica Minolta Business Technologies, Inc. Image processing apparatus for receiving a request relating to image processing from an external source and executing the received request
JP2006344173A (ja) * 2005-06-10 2006-12-21 Canon Inc 情報処理装置及びその制御方法
JP4742766B2 (ja) 2005-09-14 2011-08-10 富士ゼロックス株式会社 ネットワークデバイス、デバイスリンクシステムおよびデバイスリンク方法
US20100153225A1 (en) * 2006-03-26 2010-06-17 Jay Ferro Printing Dynamic Image Content on Receipts
US7658323B2 (en) 2006-05-24 2010-02-09 Sun Microsystems, Inc. Point-of-service (POS) and POS application compatability
JP4066383B2 (ja) * 2006-07-06 2008-03-26 シチズンホールディングス株式会社 通信装置および通信制御方法、並びに当該通信装置を備えたプリンタ
JP4269182B2 (ja) * 2006-10-18 2009-05-27 セイコーエプソン株式会社 印刷測色制御装置、印刷測色制御方法、印刷測色制御プログラムおよび印刷装置
EP2083404A3 (en) * 2008-01-24 2010-01-06 Seiko Epson Corporation Receipt printing processing method, printer and receipt printing processing system
JP4473325B2 (ja) * 2008-05-23 2010-06-02 富士通株式会社 管理装置、ストレージシステム、記憶装置管理方法
JP4777387B2 (ja) * 2008-06-05 2011-09-21 株式会社東芝 スクリプト秘匿実行プログラム及びサーバ装置
JP5272897B2 (ja) * 2008-07-29 2013-08-28 セイコーエプソン株式会社 印刷装置、印刷装置の制御方法及び制御プログラム
JP4645723B2 (ja) * 2008-10-08 2011-03-09 ブラザー工業株式会社 通信装置
JP5440004B2 (ja) * 2008-10-20 2014-03-12 セイコーエプソン株式会社 情報配信システム、情報配信システムのサービス実現方法およびそのプログラム
WO2010080705A1 (en) 2009-01-09 2010-07-15 Transaction Tree, Inc. Receipt handling systems, print drivers and methods thereof
JP5305999B2 (ja) * 2009-03-16 2013-10-02 キヤノン株式会社 情報処理装置、その制御方法、及びプログラム
JP5451355B2 (ja) * 2009-12-14 2014-03-26 シャープ株式会社 情報機器、画像処理装置、情報機器と通信可能な情報処理装置およびそれらを含む情報処理システム
US20110194124A1 (en) * 2010-02-09 2011-08-11 Apple Inc. Data formats to support driverless printing
US20110231272A1 (en) * 2010-03-16 2011-09-22 App Masters Llc Retail mobile point-of-sale (POS) software application and retail middleware software application
US8700474B2 (en) * 2012-08-27 2014-04-15 Wal-Mart Stores, Inc. Deliverying customer specified receipt types at checkout

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002176675A (ja) * 2000-12-06 2002-06-21 Seiko Epson Corp データ伝送システム及びその方法
JP2003274100A (ja) * 2002-03-14 2003-09-26 Ricoh Co Ltd 画像形成装置、リモート画像形成制御方法およびその方法をコンピュータに実行させるプログラム
JP2005045437A (ja) * 2003-07-25 2005-02-17 Fuji Xerox Co Ltd スキャナシステムおよびその方法
JP2007188468A (ja) * 2005-12-15 2007-07-26 Ricoh Co Ltd 通信装置、電子機器、情報処理システム、アプリケーション実行方法、アプリケーション実行プログラム及び記録媒体
JP2007328558A (ja) * 2006-06-08 2007-12-20 Ricoh Co Ltd データ処理装置、データ処理システム、データ処理装置の制御方法、データ変換機能付加方法、プログラム及び記録媒体
JP2010113606A (ja) * 2008-11-07 2010-05-20 Canon Imaging Systems Inc デバイス共有システム、デバイス共有クライアント、及びデバイス共有方法
JP2012173910A (ja) * 2011-02-21 2012-09-10 Seiko Epson Corp ネットワークシステム、デバイスサーバーおよびネットワークシステムの制御方法

Also Published As

Publication number Publication date
US10402809B2 (en) 2019-09-03
US20160110145A1 (en) 2016-04-21
US20140185092A1 (en) 2014-07-03
CN104412244B (zh) 2018-02-02
KR101645148B1 (ko) 2016-08-02
EP2800000A4 (en) 2015-11-04
US20140185093A1 (en) 2014-07-03
US20160110139A1 (en) 2016-04-21
CN104583984A (zh) 2015-04-29
US20170004480A1 (en) 2017-01-05
KR101652655B1 (ko) 2016-08-30
WO2014106883A1 (ja) 2014-07-10
WO2014106882A1 (ja) 2014-07-10
US20150234626A1 (en) 2015-08-20
IN2014DN06744A (ja) 2015-05-22
US9052853B2 (en) 2015-06-09
US10043169B2 (en) 2018-08-07
EP2799999A4 (en) 2015-12-09
CN104412244A (zh) 2015-03-11
KR20160103161A (ko) 2016-08-31
KR20150098657A (ko) 2015-08-28
JP6206417B2 (ja) 2017-10-04
US9280305B2 (en) 2016-03-08
EP2800000B1 (en) 2020-08-26
CN104583984B (zh) 2018-05-22
IN2014DN06745A (ja) 2015-05-22
KR20150099579A (ko) 2015-08-31
US20180308085A1 (en) 2018-10-25
JPWO2014106883A1 (ja) 2017-01-19
US9274730B2 (en) 2016-03-01
EP2800000A1 (en) 2014-11-05
US9495121B2 (en) 2016-11-15
EP2799999B1 (en) 2020-04-01
KR101736017B1 (ko) 2017-05-15
US10108949B2 (en) 2018-10-23
JP6277961B2 (ja) 2018-02-14
EP2799999A1 (en) 2014-11-05

Similar Documents

Publication Publication Date Title
JP6277961B2 (ja) 印刷装置、印刷装置の制御方法、及び、デバイス制御システム
JP6384571B2 (ja) 端末の制御方法
JPH11249849A (ja) 印刷支援システム
CN117850708A (zh) 系统、控制方法、客户终端、打印装置和存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161122

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170801

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170928

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171219

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180101

R150 Certificate of patent or registration of utility model

Ref document number: 6277961

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150