JP6836632B2 - Mobile devices and mobile device systems - Google Patents
Mobile devices and mobile device systems Download PDFInfo
- Publication number
- JP6836632B2 JP6836632B2 JP2019147136A JP2019147136A JP6836632B2 JP 6836632 B2 JP6836632 B2 JP 6836632B2 JP 2019147136 A JP2019147136 A JP 2019147136A JP 2019147136 A JP2019147136 A JP 2019147136A JP 6836632 B2 JP6836632 B2 JP 6836632B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- control unit
- drive
- command
- unit
- 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.)
- Active
Links
- 238000013515 script Methods 0.000 claims description 77
- 238000010295 mobile communication Methods 0.000 claims description 56
- 238000004891 communication Methods 0.000 claims description 29
- 230000004044 response Effects 0.000 claims description 16
- 230000006870 function Effects 0.000 description 47
- 230000009471 action Effects 0.000 description 33
- 238000000034 method Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000005259 measurement Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000007599 discharging Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 235000019577 caloric intake Nutrition 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 238000010248 power generation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Electric Clocks (AREA)
- Electromechanical Clocks (AREA)
- Stored Programmes (AREA)
- Telephone Function (AREA)
Description
本発明は、携帯機器および携帯機器システムに関する。 The present invention relates to mobile devices and mobile device systems.
従来、予め記憶された制御プログラムに基づいて動作する電子時計がある。特許文献1には、装置の全体的な制御を行う制御部と、制御部のCPUが実行する制御プログラムや制御データが格納された設定値記憶手段としてのROMとを有する電子時計が開示されている。 Conventionally, there are electronic clocks that operate based on a control program stored in advance. Patent Document 1 discloses an electronic clock having a control unit that controls the entire device and a ROM as a set value storage means in which a control program executed by the CPU of the control unit and control data are stored. There is.
また、携帯端末と連動する機能を有するなど、機能を充実させた電子機器がある。特許文献2には、携帯端末に電子メールの受信があったことを通知する電子メール受信表示と、携帯端末に電話の着信があったことを通知する電話着信表示とを有する電子時計が開示されている。
In addition, there are electronic devices with enhanced functions such as having a function of interlocking with a mobile terminal.
ユーザに対して多くの機能を提供できるようにする場合に、携帯機器に予め全ての機能を記憶させておくことが考えられる。しかしながら、多くの機能を記憶させておこうとすると、必要なメモリ容量が増大して携帯機器の大型化を招いてしまう。 In order to provide many functions to the user, it is conceivable to store all the functions in the mobile device in advance. However, if an attempt is made to store many functions, the required memory capacity increases, which leads to an increase in the size of the mobile device.
本発明の目的は、ユーザに対して充実した機能を提供可能で、かつ携帯機器の大型化を抑制できる携帯機器および携帯機器システムを提供することである。 An object of the present invention is to provide a mobile device and a mobile device system that can provide a full range of functions to a user and can suppress an increase in the size of the mobile device.
本発明の携帯機器は、入力される指令と、動作部に対して出力する駆動信号と、の対応関係が予め定められている駆動部と、前記駆動部に対して前記指令を出力して前記動作部を動作させる制御部とを備え、前記制御部は、スクリプト言語を含むユーザプログラムを記憶する記憶部を有し、前記ユーザプログラムに従って前記指令を出力することを特徴とする。 The portable device of the present invention has a drive unit in which a correspondence relationship between an input command and a drive signal output to the operation unit is predetermined, and outputs the command to the drive unit. The control unit includes a control unit that operates the operation unit, and the control unit has a storage unit that stores a user program including a script language, and outputs the command according to the user program.
本発明に係る携帯機器は、ユーザプログラムを記憶する記憶部を有し、ユーザが自由に書き換えられることで、ユーザに対して充実した機能を提供することが可能である。また、多くのプログラムを予め記憶しておく必要がないため、携帯機器の大型化が抑制されるという効果を奏する。 The portable device according to the present invention has a storage unit for storing a user program, and can be freely rewritten by the user to provide a full range of functions to the user. In addition, since it is not necessary to store many programs in advance, it is possible to suppress the increase in size of the portable device.
以下に、本発明の実施形態に係る携帯機器および携帯機器システムにつき図面を参照しつつ詳細に説明する。なお、この実施形態によりこの発明が限定されるものではない。また、下記の実施形態における構成要素には、当業者が容易に想定できるものあるいは実質的に同一のものが含まれる。 Hereinafter, the mobile device and the mobile device system according to the embodiment of the present invention will be described in detail with reference to the drawings. The present invention is not limited to this embodiment. In addition, the components in the following embodiments include those that can be easily assumed by those skilled in the art or those that are substantially the same.
[実施形態]
本実施形態では、携帯機器の一例である電子時計1について説明する。また、本実施形態では、携帯機器システムの一例として、電子時計1およびアプリケーション60を含む携帯機器システム10について説明する。
[Embodiment]
In this embodiment, an electronic clock 1 which is an example of a portable device will be described. Further, in the present embodiment, as an example of the mobile device system, the
図1に示すように、携帯機器システム10は、電子時計1およびアプリケーション60を含む。電子時計1は、アナログ表示部26および外装ケース29を有する。
As shown in FIG. 1, the
アナログ表示部26は、ケース本体29eの内部空間に収容されている。アナログ表示部26は、指針6および文字板28を有する。指針6は、秒針6a、分針6b、および時針6cを有する。ケース本体29eには、リューズ27、第一ボタン30A、および第二ボタン30Bが配置されている。
The
携帯通信機器50は、例えば、電子時計1のユーザが所有する機器であり、ユーザによって使用される。携帯通信機器50は、典型的には、スマートフォン等の携帯型の端末機器である。携帯通信機器50は、近距離無線通信を実行する機能を有する。また、携帯通信機器50は、インターネット網100を介して外部サーバ200と通信する機能を有する。携帯通信機器50は、筐体51およびタッチパネル52を有する。タッチパネル52は、画像表示面に重畳されている。画像表示面には、アプリケーション60のユーザインタフェース61が表示される。ユーザは、タッチパネル52に対する入力動作によって携帯通信機器50を操作することができる。
The
図2に示すように、電子時計1は、駆動部2、制御部3、通信部4、電池5、指針6、モータ7、センサ9、太陽電池11、およびブザー12を有する。本実施形態の電子時計1は、指針6によって時刻を表示するアナログ電子時計である。電子時計1は、時刻を表示するデジタル表示部を有していてもよい。
As shown in FIG. 2, the electronic clock 1 has a
電池5は、電子時計1の電源であり、例えば、充電可能な二次電池である。電池5は、駆動部2、制御部3、通信部4を含む各部に対して電力を供給する。指針6は、輪列等を介してモータ7と連結されている。従って、指針6は、モータ7の回転と連動して回転する。
The
モータ7は、指針6を回転させる駆動源であり、例えば、電磁モータや静電モータである。本実施形態のモータ7は、秒針6aと連結された第一モータ71と、分針6b及び時針6cと連結された第二モータ72と、を有している。本実施形態の電子時計1では、秒針6aの運針と、分針6b及び時針6cの運針とが独立している。つまり、本実施形態の電子時計1は、分針6b及び時針6cによって現在時刻を表示させつつ、秒針6aに各種の動作を実行させることができるように構成されている。
The
センサ9は、電子時計1に関する情報を取得するセンサである。センサ9は、例えば、電子時計1の内部温度を計測する温度センサ、電子時計1の加速度を計測する加速度センサ、電子時計1の傾斜角度の変化を検出する傾斜センサ、太陽電池11が受光する光の強度を検出する光センサ等を含む。センサ9による検出結果は、制御部3や駆動部2によって取得される。
The
太陽電池11は、光エネルギーを電気エネルギーに変換する光発電機構である。太陽電池11は、例えば、文字板28に対して背面側に配置されている。太陽電池11によって発電された電力は、電池5に充電され、電池5を介して駆動部2、制御部3、モータ7等の電子時計1各部に電力供給される。
The
ブザー12は、ブザー音を発生させる鳴動機構である。ブザー12は、例えば、ピエゾ素子等の圧電素子を有し、圧電素子の振動によってブザー音を発生させる。圧電素子は、供給される電圧の変化に応じて振動することでアラームを示すブザー音を発生する。
The
駆動部2は、携帯機器に搭載されている動作部を駆動する。携帯機器が電子時計1である場合の駆動部2は、例えば、時計ICである。本実施形態の電子時計1において、駆動部2によって駆動される動作部は、モータ7およびブザー12を含む。
The
駆動部2は、モータ駆動回路21、電源管理部22、ブザー駆動回路23、およびタイマー24を有する。モータ駆動回路21は、モータ7を駆動する回路である。モータ駆動回路21は、制御部3から入力される指令に応じて、モータ7に対して駆動信号を出力する。本実施形態の電子時計1では、駆動部2に入力される指令と、駆動部2が第二モータ72に対して出力する駆動信号と、の対応関係が予め定められている。すなわち、駆動部2に対する入力指令と、当該入力指令に応じて駆動部2が出力する駆動信号との対応関係をユーザがカスタマイズすることはできない。言い換えるならば、駆動部2は、同じ入力指令に対して同じ動作を実行するように構成されている。なお、ファームウエアがアップデートされる場合には、入力指令と、出力する駆動信号との対応関係が変更されてもよい。
The
電源管理部22は、電池5の充放電を管理する。例えば、電源管理部22は、電池5から駆動部2や制御部3に対する電力の供給を制御する。また、電源管理部22は、太陽電池11から電池5への充電を管理する。また、電源管理部22は、電池5の電圧を検出する電圧検出回路と接続されている。駆動部2は、電池5の電圧(以下、単に「電池電圧」と称する。)に応じて電子時計1の動作モードを選択する。例えば、駆動部2は、電池電圧が低下した場合、電子時計1のモードを節電モードやパワーブレークモードに移行させる。節電モードは指針6の運針を停止させることなどにより、電池電圧の低下を抑制するモードである。パワーブレークモードは、駆動部2や制御部3の動作を停止するモードである。モード移行の判定および指令は、制御部3によってなされてもよい。
The
ブザー駆動回路23は、ブザー12に対する駆動信号を出力する回路である。ブザー駆動回路23は、制御部3から駆動部2に対して出力された指令に基づいてブザー12に対して駆動信号を出力する。駆動部2に入力される指令と、当該指令に応じてブザー駆動回路23がブザー12に対して出力する駆動信号と、の対応関係は予め定められている。
The
駆動部2は、予め定められた有限個の鳴動パターンでブザー12を鳴動させるように構成されている。例えば、駆動部2は、第一の鳴動パターンおよび第二の鳴動パターンの何れかでブザー12を鳴動させるように構成されているものとする。この場合、制御部3から駆動部2に対して出力されるブザー指令には、二つの鳴動パターンの何れでブザー12を鳴動させるかを指定する情報が含まれている。ブザー駆動回路23は、指定された鳴動パターンに対応する駆動信号をブザー12に出力する。
The
タイマー24は、発振回路等から出力されるクロック信号に基づいて経過時間をカウントする。駆動部2は、制御部3から入力された指令に応じてタイマー24に対する駆動信号を出力する。タイマー24に対する駆動信号には、タイマー時間を指定する信号や、カウント開始を指令する信号が含まれる。駆動部2は、タイマー24を利用して、各種の動作を実行する。
The
通信部4は、例えば、アンテナ、通信モジュール、および変換部を有する。通信部4は、携帯通信機器50との間で近距離無線通信を行う。通信部4は、例えば、Bluetooth(登録商標)のプロトコルによって携帯通信機器50と通信する。
The communication unit 4 includes, for example, an antenna, a communication module, and a conversion unit. The communication unit 4 performs short-range wireless communication with the
制御部3は、例えば、マイクロコンピュータであり、演算部31、およびメモリ8を有する。メモリ8は、RAM(Random Access Memory)32、およびROM(Read Only Memory)33を有する。RAM32は、例えば、フラッシュメモリやEEPROM等であり、演算部31のワークメモリとして利用される。また、RAM32はROM33としても使用可能であって、予め格納されている動作シーケンスや情報が記録されていてもよい。
The
図3に示すように、メモリ8は、複数のスロット80,81,82,83を有する。より詳しくは、メモリ8は、基準スロット80、第一スロット81、第二スロット82、および第三スロット83を有する。スロット80,81,82,83は、例えば、RAM32を構成する記憶領域である。スロット80は、通常動作に該当する時計動作を行うプログラム(以下、単に「主プログラム」と称する。)を記憶する記憶領域である。主プログラムは、内部時刻を算出する計時プログラム、電池5の充放電を制御する電源制御プログラム、モータ7の駆動制御を行うモータ制御プログラム、太陽電池11によって発電された電力を電池5に充電し、電池5を介して駆動部2、制御部3、モータ7等の電子時計1各部に分配する分配プログラム等を含む。
As shown in FIG. 3, the
主プログラムは、例えば、機械語のプログラムである。主プログラムは、電子時計1の型式(キャリバー)に応じたプログラムであってもよく、複数の型式に共通のプログラムであってもよい。本実施形態の主プログラムは、複数の型式に共通のプログラムである。主プログラムは、例えば、C言語で作成され、機械語にアセンブルされる。本実施形態の電子時計1では、主プログラムに対するユーザによるカスタマイズが不能である。なお、電子時計1において、ファームアップデートによる主プログラムの変更は許可される。ファームアップデートは、電子時計1の製造者によって提供される主プログラムのアップデートである。 The main program is, for example, a machine language program. The main program may be a program corresponding to the model (caliber) of the electronic clock 1, or may be a program common to a plurality of models. The main program of this embodiment is a program common to a plurality of types. The main program is, for example, written in C language and assembled in machine language. In the electronic clock 1 of the present embodiment, the user cannot customize the main program. In the electronic clock 1, the change of the main program by the firmware update is permitted. The firmware update is an update of the main program provided by the manufacturer of the electronic watch 1.
第一スロット81、第二スロット82、および第三スロット83は、ユーザプログラムを記憶する記憶領域である。ユーザプログラムは、ユーザによって作成されたプログラムであって、スクリプト言語で記述されている。本実施形態の携帯機器システム10では、携帯通信機器50から電子時計1に対してユーザプログラムを転送可能である。ユーザプログラムの詳細については、後述する。電子時計1は、例えば、基準スロット80、第一スロット81、第二スロット82、および第三スロット83の何れか一つのプログラムを実行するように構成されている。
The
以下の説明では、第一スロット81に記憶されたユーザプログラムを「第一ユーザプログラム」と称する。同様に、第二スロット82に記憶されたユーザプログラムを「第二ユーザプログラム」と称し、第三スロット83に記憶されたユーザプログラムを「第三ユーザプログラム」と称する。また、主プログラムに基づいて電子時計1が制御されているモードを主モードと称する。
In the following description, the user program stored in the
制御部3は、主モードでは、主プログラムに基づいて駆動部2に対して指令を出力する。例えば、制御部3は、内部時刻に基づいて分針6bおよび時針6cを運針させる指令を駆動部2に対して出力する。この指令を受け取った駆動部2は、分針6bおよび時針6cの回転位置を内部時刻に応じた位置とするように第二モータ72を駆動する。
In the main mode, the
主モードにおいて、制御部3は、内部時刻に基づいて秒針6aを運針させる指令を駆動部2に対して出力する。この指令を受け取った駆動部2は、第一モータ71によって秒針6aを運針させる。駆動部2は、所謂1秒運針によって間欠的に秒針6aを運針させるように第一モータ71を駆動してもよく、秒針6aを連続的に回転させるように第一モータ71を駆動してもよい。
In the main mode, the
主モードにおいて、制御部3は、主プログラムに基づいて電源管理部22に対して指令を出力する。電源管理部22は、制御部3からの指令に応じて、電池5の充放電を制御する駆動信号を出力する。また、制御部3は、主プログラムに基づいて駆動部2に対してブザーについての指令を出力する。例えば、主プログラムは、第一ボタン30Aおよび第二ボタン30Bに対するユーザの操作に基づいて、指定された時刻にブザー12を鳴動させる指令を駆動部2に出力する。駆動部2は、指令に応じて、指定された時刻にブザー駆動回路23からブザー12に対して駆動信号を出力し、ブザー12を鳴動させる。
In the main mode, the
上記のように構成された電子時計1において、制御部3は、メモリ8の基準スロット80に記憶されている主プログラムに従って、駆動部2に対して通常動作に該当する時計動作を指令する。また、制御部3は、ユーザからのプログラム実行命令に応じて、第一ユーザプログラム、第二ユーザプログラム、および第三ユーザプログラムの何れか実行する。本実施形態の電子時計1では、以下に説明するように、携帯通信機器50においてユーザプログラムの作成がなされる。また、携帯通信機器50において作成されたユーザプログラムが電子時計1に送信され、メモリ8のスロット81,82,83の何れかに記憶される。
In the electronic clock 1 configured as described above, the
ユーザプログラムは、携帯通信機器50において実行されるアプリケーション60によって作成される。ユーザプログラムは、電子時計1において実行されるアプリケーションプログラムであり、アプレットとも称される。アプリケーション60は、図1に示すように、ユーザプログラムを作成するためのユーザインタフェース61を表示する。ユーザインタフェース61は、提供されるサービス内容、電子時計1において実行させる動作、および動作を実行させるトリガ条件を入力するものである。ユーザインタフェース61は、サービス選択領域61a、トリガ選択領域61b、およびアクション選択領域61cを有する。
The user program is created by the
サービス選択領域61aは、作成するユーザプログラムからユーザが受けたいサービス内容を選択するための領域である。サービスには、電子時計1が単体で提供するサービスや、電子時計1と携帯通信機器50が協働して提供するサービスがある。例えば、本実施形態のアプリケーション60は、ユーザが指定した目的地までの距離を知らせる距離案内サービスを作成する。目的地は、例えば、カフェ等の店舗であってもよい。ユーザは、距離案内サービスを作成する場合、サービス選択領域61aから距離案内サービスを選択する。
The
トリガ選択領域61bは、トリガ条件を選択するための領域である。トリガ条件は、選択したサービスに対応するアクションを実行する条件である。トリガ条件としては、電子時計1に対するユーザの操作入力、開始時刻、電子時計1の内部情報等が選択可能である。例えば、操作入力としては、第一ボタン30Aや第二ボタン30Bに対するプッシュ操作が挙げられる。電子時計1の内部情報は、例えば、センサ9によって検出された情報や、この情報に基づいて算出されたデータである。例えば、温度センサによって所定温度以上の温度が検出されることがトリガ条件とされてもよい。あるいは、電子時計1において加速度センサや傾斜センサの検出結果に基づいてユーザの活動量データが算出される場合に、活動量データが所定の条件を満たすことがトリガ条件とされてもよい。例えば、算出された歩数が所定の歩数に達したことがトリガ条件とされてもよい。
The
アクション選択領域61cは、電子時計1において実行されるアクションを選択するための領域である。本実施形態の電子時計1では、電池5の情報、指針の動作、タイマー24の動作、およびブザー12の動作がユーザに対して開放されている。ユーザは、秒針6aの動作条件をカスタマイズすることや、ブザー12の動作条件をカスタマイズすることが可能である。また、ユーザは、電池5の情報やタイマー24によるカウントを利用してユーザプログラムを作成することが可能である。
The
図4に示すように、制御部3は、スクリプトエンジン3Bを有しており、スクリプト言語によって作成されたユーザプログラムを実行することが可能である。すなわち、制御部3は、時計のスロットが機械語の主プログラムによって制御される基準スロットからスクリプト言語を含むユーザプログラムが記憶されたスロットに変更された際に、ユーザプログラムに従った駆動をすることが可能である。ここで、後述するように駆動プログラム35は機械語であるため、ユーザプログラムはスクリプトエンジン3Bを用いて駆動プログラム35に反映される。そして、ユーザプログラムを反映した駆動プログラム35を実行し、駆動部2に対して指令を出力することで、主プログラムで実施されていた通常動作から、ユーザプログラムによる動作に切り替えることができる。スクリプト言語は、例えば、Lua等のレジスタ型のスクリプト言語である。
As shown in FIG. 4, the
また、本実施例において、携帯通信機器50において作成されるユーザプログラムはjson(javascript object notation)で書かれたテキストデータであり、その中にスクリプト言語として機能する表現が含まれる。ユーザプログラムは携帯通信機器50から電子時計1に送信され、メモリ8に記憶される。
なお、ユーザプログラムのうち電子時計1の処理に関する内容のみが電子時計1に送信されてもよい。その場合は、電子時計1に関連しない処理は、携帯通信機器50によって実行されてもよい。
Further, in the present embodiment, the user program created in the
Of the user programs, only the contents related to the processing of the electronic clock 1 may be transmitted to the electronic clock 1. In that case, the process not related to the electronic clock 1 may be executed by the
制御部3は、電池5、モータ7、ブザー12、タイマー24等の動作部を駆動するための各種の駆動プログラム35を記憶している。駆動プログラム35は、第一ボタン30A、第二ボタン30B、リューズ27等の時計の動作制御に関する機能についてのプログラムを含む。駆動プログラム35は、電子時計1の型式(キャリバー)に応じて作成される。すなわち、駆動プログラム35は、電子時計1に搭載されているムーブメントの種類に適合するように作成されたプログラムである。駆動プログラム35は、静的な機能モジュールとして時計毎にコーディングされている。一方、ユーザプログラムは、ユーザが望む動作を電子時計1に実行させる動的な機能モジュールである。
The
例えば、制御部3は、図4に示すように、第一モータプログラム35a、第二モータプログラム35b、第三モータプログラム35cを記憶している。第一モータプログラム35a、第二モータプログラム35b、および第三モータプログラム35cは、それぞれモータ7に動作を実行させるプログラムである。三つのモータプログラム35a,35b,35cには、互いに異なる動作が定義されている。モータプログラム35a,35b,35cがモータ7を駆動するためのモータ駆動情報は、例えば、駆動パルスの周波数、デューティ、パルス数、ステップ数、回転方向などである。
For example, as shown in FIG. 4, the
制御部3において実行される主プログラムやユーザプログラムは、駆動プログラム35を呼び出すことで駆動部2に指令を送る。例えば、第一モータプログラム35aが呼び出されると、第一モータプログラム35aにおいて定義された動作をモータ7に実行させるように、制御部3から駆動部2に対して指令が送られる。制御部3は、例えば、アプリケーション60が生成する動作命令のコードと、この動作命令のコードに対応する駆動プログラム35との対応関係を予め記憶している。この対応関係は、電子時計1の型式に応じて予め定められている。制御部3は、主プログラムやユーザプログラムを実行する場合に、上記の対応関係を参照して駆動部2に対して指令を出力する。
The main program or user program executed in the
駆動部2は、受信した指令に応じた駆動信号をモータ7等の動作部に出力して動作部を動作させる。例えば、第一モータプログラム35aが秒針6aに1秒運針を実行させるプログラムであるとする。この場合、制御部3において実行されるプログラムで第一モータプログラム35aが呼び出されると、秒針6aを1秒運針させる指令が制御部3から駆動部2に出力される。駆動部2は、秒針6aを1秒運針させる駆動信号をモータ7に出力する。駆動部2は、例えば、秒針6aの動作を変更する指令を受けるまで、秒針6aを1秒運針させ続ける。
The
携帯通信機器50のアプリケーション60は、ユーザに対して開放されている駆動プログラム35に基づいて、ユーザプログラムを生成する。以下の説明では、上述した距離案内サービスを提供するユーザプログラムを「距離案内プログラム」と称する。アプリケーション60は、トリガ選択領域61bで選択されたトリガ条件が成立した場合に、サービス選択領域61aで選択されたサービスを実行し、サービスの実行結果をアクション選択領域61cで選択されたアクションにて実行する、距離案内プログラムを生成する。距離案内プログラムは、トリガ条件が成立したか否かを判定するトリガブロック、サービスを実行するサービスブロックおよびアクションを実行するアクションブロックを含む。アクションブロックは、駆動プログラム35を呼び出す呼び出しコードを含んでいる。
The
ここで、距離案内サービスの具体例を示す。
トリガブロックはユーザが電子時計1のプッシュボタンが押されたことを判定してトリガ条件が成立する。
トリガ条件が成立すると、サービスブロックはユーザの現在位置と目的地位置とから残距離を求めて、サーバからその値を取得する。
アクションブロックは、サービスブロックで取得したユーザの現在位置から目的地までの距離を駆動プログラム35で認識させ、指針を使った所定の制御で距離を表現する。
Here, a specific example of the distance guidance service is shown.
The trigger block determines that the push button of the electronic clock 1 has been pressed by the user, and the trigger condition is satisfied.
When the trigger condition is satisfied, the service block obtains the remaining distance from the user's current position and destination position, and acquires the value from the server.
The action block causes the
アプリケーション60は、ユーザプログラムと、後述する連携プログラムとを含むプログラム集合体を生成する。連携プログラムは、ユーザプログラムと連携するプログラムであり、携帯通信機器50において実行される。プログラム集合体は、複数のブロックを含むことができる。例えば、プログラム集合体は、一つのトリガブロックと、一つのサービスブロックと、一つのアクションブロックと、によって構成されてもよい。本実施形態のプログラム集合体は、任意の個数のトリガブロックと、任意の個数のサービスブロックと、任意の個数のアクションブロックと、を組み合わせて生成される。ここで、任意の個数には、0が含まれる。
The
アプリケーション60は、電子時計1のメモリ8に流し込むためのスクリプトをブロックに埋め込む。つまり、アプリケーション60によって生成されるブロックは、電子時計1で実行されるスクリプトと、携帯通信機器50で実行される連携プログラムと、を合わせたブロックプログラムである。例えば、各ブロックがjsonで記載されたテキストデータである場合、アプリケーション60は、スクリプトをデータの一つとしてブロックに含ませる。つまり、スクリプトのテキストが一つの文字列値としてブロックに記載される。この場合、スクリプトを含むデータには、固有のタグが付けられる。
The
電子時計1で実行されるアクションに関するスクリプトは、アクションブロックに記載され、電子時計1で発生するトリガに関するスクリプトは、トリガブロックに記載される。電子時計1で実行されるサービスがある場合には、そのサービスに関するスクリプトがサービスブロックに記載される。アプリケーション60は、生成したブロックプログラムを含むプログラム集合体を携帯通信機器50のメモリや外部サーバ200に保存する。
The script related to the action executed by the electronic clock 1 is described in the action block, and the script related to the trigger generated by the electronic clock 1 is described in the trigger block. If there is a service executed by the electronic clock 1, a script related to that service is described in the service block. The
以下の説明では、電子時計1で発生するトリガに関するスクリプトを「トリガスクリプト」と称する。同様に、電子時計1が実行するサービスに関するスクリプトを「サービススクリプト」と称し、電子時計1が実行するアクションに関するスクリプトを「アクションスクリプト」と称する。 In the following description, the script related to the trigger generated in the electronic clock 1 is referred to as a "trigger script". Similarly, a script related to a service executed by the electronic clock 1 is referred to as a "service script", and a script related to an action executed by the electronic clock 1 is referred to as an "action script".
アプリケーション60は、ユーザプログラムを電子時計1に送信する場合、プログラム集合体に含まれる各ブロックからスクリプトを抽出する。アプリケーション60は、各ブロックから抽出されたスクリプトを連結して一つのユーザスクリプトを生成する。例えば、プログラム集合体がトリガブロック、サービスブロック、およびアクションブロックを含む場合、トリガスクリプト、サービススクリプト、およびアクションスクリプトが連結されてひとつのユーザスクリプトが生成される。生成されたユーザスクリプトが、電子時計1で実行されるユーザプログラムである。アプリケーション60は、生成したユーザスクリプトを電子時計1に送信する。
When the
アプリケーション60は、ペアリングがなされた電子時計1の型式(キャリバー)に応じたユーザプログラムを生成してもよく、複数の型式に共通のプログラムを作成してもよい。本実施形態のアプリケーション60は、複数の型式に共通のユーザプログラムを作成する。
The
アプリケーション60は、個別の型式に応じたユーザプログラムを作成する場合、予め電子時計1の型式、およびこの型式に対応する駆動プログラム35についての情報を取得する。それぞれの型式において利用可能な駆動プログラム35についての情報は、例えば、外部サーバ200から取得される。また、アプリケーション60は、型式に基づいて、電子時計1に搭載されているセンサ9についての情報や、電子時計1において発生するイベントについての情報を予め取得する。アプリケーション60は、取得した情報に基づいてユーザプログラムを生成する。
When creating a user program according to an individual model, the
ユーザによって選択されたトリガ条件が、第一ボタン30Aに対する所定のプッシュ操作であり、選択されたアクションが、距離に応じた回数だけ秒針6aを回転させる動作であるとする。この場合、アプリケーション60は、所定のプッシュ操作が検出された場合に距離に応じた回数だけ秒針6aを回転させる距離案内プログラムを生成する。秒針6aの回転数は、アプリケーション60から電子時計1に対して指示されてもよい。この場合、携帯通信機器50では、距離案内プログラムと連携する連携プログラムが実行される。アプリケーション60は、距離案内プログラムと共に、連携プログラムを生成する。
It is assumed that the trigger condition selected by the user is a predetermined push operation on the
連携プログラムは、携帯通信機器50が有するアプリスロット54(図3参照)に記憶される。携帯通信機器50は、第一アプリスロット54aから第三アプリスロット54cまでの複数のアプリスロット54を有する。第一アプリスロット54aは、メモリ8の第一スロット81に対応する記憶領域である。同様に、第二アプリスロット54bおよび第三アプリスロット54cは、第二スロット82および第三スロット83に対応する記憶領域である。距離案内プログラムが第一スロット81に記憶される場合、距離案内プログラムと連携する連携プログラムは、第一アプリスロット54aに記憶される。電子時計1において距離案内プログラムが実行される場合、携帯通信機器50において第一アプリスロット54aから連携プログラムが読み込まれて実行される。
The cooperation program is stored in the application slot 54 (see FIG. 3) of the
距離案内プログラムは、携帯通信機器50との無線通信によって、秒針6aの目標回転数についての情報を取得する。連携プログラムは、電子時計1からの情報リクエストに応じて、現在位置から指定された店舗までの距離を算出する。算出される距離は、直線距離であっても、店舗までの最短経路に沿った距離であってもよい。携帯通信機器50の現在位置は、例えば、GPS(GLOBAL POSITIONING SYSTEM)衛星から出力されるGPS電波に基づいて算出される。連携プログラムは、算出された距離に基づいて、秒針6aの目標回転数を決定し、電子時計1に送信する。距離案内プログラムは、連携プログラムに対して、定期的に目標回転数についての情報をリクエストしてもよく、定められたトリガ条件が成立した場合に情報をリクエストしてもよい。
The distance guidance program acquires information about the target rotation speed of the
作成された距離案内プログラムは、無線通信によって携帯通信機器50から電子時計1に対して送信される。アプリケーション60では、電子時計1が有する第一スロット81から第三スロット83までのどのスロットに距離案内プログラムを記憶させるかが選択される。従って、携帯通信機器50は、距離案内プログラム、および距離案内プログラムが格納されるべきスロット番号を電子時計1に送信する。指定された格納先のスロットが第一スロット81であるとする。この場合、制御部3は、受信した距離案内プログラムを第一スロット81に格納する。また、アプリケーション60は、距離案内プログラムと連携する連携プログラムを第一アプリスロット54aに格納する。
The created distance guidance program is transmitted from the
アプリケーション60は、例えば、携帯通信機器50と電子時計1との無線通信が確立したときに、ユーザプログラムの同期を実行する。ユーザプログラムの同期は、例えば、ユーザプログラムが変更された場合や、ユーザプログラムが新規作成された場合、ユーザプログラムの入れ替えがなされた場合に実行される。アプリケーション60は、ユーザプログラムの同期を行なう場合、更新用のユーザプログラムや新規作成されたユーザプログラムを電子時計1に送信する。制御部3は、受信したユーザプログラムを指定されたスロット81,82,83に格納する。
The
ユーザは、距離案内プログラムを実行する場合、電子時計1における操作、または携帯通信機器50における操作によって、距離案内プログラムを実行させるためのプログラム実行命令を行う。電子時計1に対する操作入力によって距離案内プログラムが実行される場合、電子時計1は、無線通信を介して、携帯通信機器50に対して連携プログラムを実行するようリクエストする。一方、携帯通信機器50における操作によって距離案内プログラムが起動される場合、携帯通信機器50は、電子時計1に対して距離案内プログラムを実行するようリクエストすると共に、連携プログラムを読み出して実行する。
When executing the distance guidance program, the user issues a program execution command for executing the distance guidance program by the operation of the electronic clock 1 or the operation of the
制御部3は、プログラム実行命令を受け取ると、第一スロット81から距離案内プログラムを読み込んで実行する。このときに、制御部3は、読み込んだ距離案内プログラムをRAM32に記憶させてもよい。なお、距離案内プログラムが実行されるときに、駆動部2は、秒針6aの動作を変更する指令がなされるまでの間は秒針6aに通常の運針をさせてもよい。すなわち、距離案内プログラムのトリガ条件が成立するまでの間は、秒針6aは、内部時刻の位置を示すように運針されてもよい。
Upon receiving the program execution command, the
距離案内プログラムは、トリガ条件が成立すると、サービス選択領域61aで選択されたサービスを実行し、サービスの実行結果を受けて、アクション選択領域61cで選択されたアクションを実行するための駆動プログラム35を呼び出す。例えば、制御部3には、第二モータプログラム35bとして、360度を一単位として秒針6aを回転させるプログラムが記憶されているとする。この場合、距離案内プログラムは、第二モータプログラム35bを呼び出し、目標回転数だけ秒針6aを回転させる。例えば、目標回転数が三回転である場合、距離案内プログラムは、引数を三単位として第二モータプログラム35bを呼び出す。これにより、制御部3から駆動部2に対して、秒針6aを三回転させる指令が出力される。駆動部2は、秒針6aを三回転させる駆動信号をモータ7に出力する。
When the trigger condition is satisfied, the distance guidance program executes the service selected in the
なお、第二モータプログラム35bにおける回転開始の起点は、例えば、12時の位置とされてもよい。この場合、駆動部2は、秒針6aを12時の位置まで運針させた後に秒針6aを三回転させる。
The starting point of the rotation start in the
図5から図8を参照して、実施形態の各ブロックにおける動作例の詳細を説明する。図5には、トリガブロックにおける動作例が示されている。携帯通信機器50では、SDK(Software Development Kit)55およびアプリケーション60が動作する。SDK55は、携帯通信機器50の基本ソフト(OS)とアプリケーション60との間に介在するソフトウェアである。SDK55は、ハードウェア資源の利用要求をアプリケーション60から受け取ると、この利用要求を基本ソフト用のコマンドに変換して出力する。
The details of the operation example in each block of the embodiment will be described with reference to FIGS. 5 to 8. FIG. 5 shows an operation example in the trigger block. In the
実施形態の制御部3では、ハードウェア制御部3Aおよびスクリプトエンジン3Bが動作する。ハードウェア制御部3Aは、電子時計1のハードウェアを制御するプログラムであり、例えば、C言語で作成されている。ハードウェア制御部3Aは、主プログラムとは別のプログラムであっても、主プログラムの一部であってもよい。スクリプトエンジン3Bは、ユーザプログラムのスクリプトを実行するプログラムである。スクリプトエンジン3Bは、例えば、スクリプトを逐次変換しながら実行する。
In the
図5を参照して、トリガブロックの動作例について説明する。
(1)ハードウェア制御部3Aが、トリガ条件の成立(発火)を検出する。ハードウェア制御部3Aは、複数種類のトリガを検出可能である。検出可能なトリガの一つは、例えば、第一ボタン30Aや第二ボタン30Bが押されたことである。ハードウェア制御部3Aは、ボタン30A,30Bが押されたことを示す信号に基づいて、トリガ条件の成立を検出する。
(2)ハードウェア制御部3Aは、スクリプトエンジン3Bに対してトリガスクリプトのtrg関数をコールする。trg関数の引数は、例えば、発火したトリガの種類を示す番号である。
(3)スクリプトエンジン3Bは、trg関数を実行する。trg関数は、現在実行中のトリガスクリプトにおいて設定されているトリガの番号と、引数とを比較する。trg関数は、設定されているトリガの番号と発火したトリガの番号とが一致するか否か、および現在実行中であるユーザプログラムのIDを戻り値として出力する。ユーザプログラムのIDは、現在アクティブなスロットの番号である。
(4)スクリプトエンジン3Bは、trg関数の戻り値をハードウェア制御部3Aに返す。
(5)ハードウェア制御部3Aは、戻り値を確認する。
(6)ハードウェア制御部3Aは、戻り値がトリガ番号の一致を示す値である場合、通知処理を開始する。通知処理は、トリガ条件が成立したことを携帯通信機器50に送信する処理である。
(7)ハードウェア制御部3Aは、携帯通信機器50との接続がなされていない場合、接続処理を実行する。既に携帯通信機器50との接続が確立されている場合、接続処理は省略される。
(8)ハードウェア制御部3Aは、無線通信により、アプリケーション60に対してトリガ通知を行なう。ハードウェア制御部3Aは、条件が成立したトリガの番号、および現在実行中であるユーザプログラムのIDをアプリケーション60に通知する。
(9)アプリケーション60は、アプリケーション60において実行しているユーザプログラムのIDと、電子時計1で実行されている連携プログラムのIDとを照合する。
(10)アプリケーション60は、IDが一致している場合、SDK55に対してトリガ通知を行なう。
An operation example of the trigger block will be described with reference to FIG.
(1) The
(2) The
(3) The
(4) The
(5) The
(6) The
(7) The
(8) The
(9) The
(10) When the IDs match, the
なお、(5)の戻り値の確認において、戻り値がトリガ番号の不一致を示す値である場合、(6)の通知処理へは移行しない。この場合、ハードウェア制御部3Aは、トリガ条件の成立を待機する待機状態となる。
In the confirmation of the return value in (5), if the return value is a value indicating a mismatch in the trigger numbers, the process does not proceed to the notification process in (6). In this case, the
図6に示すように、(9)のID照合において、ユーザプログラムと連携プログラムのIDが一致しなかった場合、同期処理が実行される。
(10)同期処理において、アプリケーション60は、電子時計1のユーザプログラムをアプリケーション60のユーザプログラムに同期させる。アプリケーション60は、最新のユーザプログラムを無線通信によってハードウェア制御部3Aに送信する。ハードウェア制御部3Aは、受信したユーザプログラムをメモリ8のスロット81,82,83に記憶させる。
(11)アプリケーション60は、ユーザプログラムが同期されたことを通知センターでユーザに対して通知する。この通知では、アプリケーション60で設定されているユーザプログラムが電子時計1に反映されていなかった旨、および同期が完了した旨が通知される。
(12)アプリケーション60は、ハードウェア制御部3Aに対してINFO要求を行なう。ハードウェア制御部3Aは、INFO要求に応じてINFO動作を実行する。INFO動作は、秒針6aによって予め定められたINFOマークを示す動作である。INFO動作は、ユーザに対する通知が送られていることをユーザに伝え、携帯通信機器50を確認するように促す動作である。
As shown in FIG. 6, in the ID collation of (9), when the IDs of the user program and the linked program do not match, the synchronization process is executed.
(10) In the synchronization process, the
(11) The
(12) The
図7を参照して、サービスブロックの動作例について説明する。
(1)SDK55がサービスの開始を通知する。サービスの開始条件は、例えば、連携プログラムにおいて定義されている。アプリケーション60は、連携プログラムに基づき、SDK55に対して、サービスの開始条件が成立した場合に通知することを事前に指示している。
(2)アプリケーション60は、電子時計1との通信が接続されているか否かを確認する。アプリケーション60は、電子時計1との通信が接続されていない場合、接続処理を行なう。
(3)アプリケーション60は、通信が接続されている場合、ハードウェア制御部3Aに対してサービス要求を送信する。
(4)ハードウェア制御部3Aは、スクリプトエンジン3Bに対してサービススクリプトのsrv関数をコールする。srv関数は、例えば、電子時計1が有する情報に基づいて処理を行なう関数である。
(5)スクリプトエンジン3Bは、srv関数において、ハードウェア制御部3Aに対して計測データを要求する。計測データの要求は、ユーザプログラムに対して開放されているデータ要求関数をコールすることで実行される。スクリプトエンジン3Bは、データ要求関数の引数によって、要求するデータの種類を指定する。
取得可能な計測データは、例えば、本日のユーザの歩数、電源電圧のデータ、本日のユーザの消費カロリー、光データ、現在の温度、秒針位置、分針位置、時針位置、機能針の位置等である。なお、スクリプトエンジン3Bは、複数種類の計測データをハードウェア制御部3Aから取得してもよい。
(6)ハードウェア制御部3Aは、要求された計測データをスクリプトエンジン3Bに返す。
(7)スクリプトエンジン3Bは、取得した計測データに基づく処理を実行する。スクリプトエンジン3Bは、例えば、計測データに基づく演算加工を実行してもよい。スクリプトエンジン3Bは、計測データに基づく条件判断を行なってもよい。
(8)スクリプトエンジン3Bは、ハードウェア制御部3Aに対してタスクを登録する。このタスクは、アプリケーション60に対して処理結果を渡す通信タスクである。
(9)ハードウェア制御部3Aは、登録されたタスクを実行し、サービス応答を行なう。サービス応答では、スクリプトエンジン3Bにおける処理結果がアプリケーション60に送信される。
(10)アプリケーション60は、SDK55に対してサービスのアウトプットを実行する。例えば、アプリケーション60は、連携プログラムに基づき、スクリプトエンジン3Bの処理結果からアウトプットの指令を生成する。この指令は、例えば、本日のユーザの消費カロリーを画面に表示させる指令である。SDK55は、取得したアウトプットに応じたサービスを実行する。
An operation example of the service block will be described with reference to FIG. 7.
(1) SDK55 notifies the start of the service. The service start condition is defined in, for example, the cooperation program. Based on the cooperation program, the
(2) The
(3) The
(4) The
(5) The
The measurement data that can be acquired are, for example, today's user's steps, power supply voltage data, today's user's calories burned, optical data, current temperature, second hand position, minute hand position, hour hand position, functional hand position, and the like. .. The
(6) The
(7) The
(8) The
(9) The
(10) The
図8を参照して、アクションブロックの動作例について説明する。
(1)SDK55がアクションの開始を通知する。アクションの開始条件は、例えば、連携プログラムにおいて定義されている。アプリケーション60は、連携プログラムに基づき、SDK55に対して、アクションの開始条件が成立した場合に通知することを事前に指示している。
(2)アプリケーション60は、電子時計1との通信が接続されているか否かを確認する。
(3)アプリケーション60は、通信が接続されている場合、ハードウェア制御部3Aに対して連携プログラムのスロット番号を送信する。アプリケーション60は、例えば、第一アプリスロット54aの連携プログラムを実行している場合、スロット番号である「1」をハードウェア制御部3Aに送信する。
(4)ハードウェア制御部3Aは、スロット番号の照合を行なう。ハードウェア制御部3Aは、電子時計1で実行されているユーザプログラムのスロット番号と、受信したスロット番号とが一致しているかを判定する。
(5)ハードウェア制御部3Aは、二つのスロット番号が一致している場合、アプリケーション60に対して番号一致を通知する。
(6)アプリケーション60は、ハードウェア制御部3Aに対してアクションデータの送信を要求する。
(7)ハードウェア制御部3Aは、アプリケーション60に対して、アクションデータの要求を受け付けた旨を応答する。
(8)ハードウェア制御部3Aは、スクリプトエンジン3Bに対してアクションスクリプトのact関数をコールする。act関数は、アクションに関する処理を実行する関数である。
(9)スクリプトエンジン3Bは、act関数がコールされると、ハードウェア制御部3Aの駆動関数をコールしてイベント処理を実行する。駆動関数は、駆動プログラム35の実行を指示する関数である。スクリプトエンジン3Bは、駆動関数により、運針動作、ブザー12の動作、ウエイト動作、現在時刻への復帰動作等を指示することができる。
例えば、運針動作では、動作させる指針として、秒針6a、分針6b、時針6c、および機能針を指定することができる。運針動作では、運針のステップ数を0から360[°]の範囲で指定することができる。ブザー12の動作では、ブザー12の鳴動パターンや鳴動回数を指定することができる。ウエイト動作では、待機時間を指定することができる。
ハードウェア制御部3Aは、指示された駆動プログラム35の実行が完了すると、スクリプトエンジン3Bに対してact関数をコールする。スクリプトエンジン3Bは、アクションスクリプトに従って、次のイベントを実行させる駆動関数をコールする。すなわち、スクリプトで定められたイベントを全て実行するまで、act関数のコールおよび駆動関数のコールが繰り返される。
(10)スクリプトエンジン3Bは、最後のイベントを実行させる駆動関数をコールすると、ハードウェア制御部3Aに対して、act関数のコール終了を指示する。
(11)ハードウェア制御部3Aは、コール終了の指示を受け取ると、最後のイベントが完了するまで処理待ちをする。
(12)ハードウェア制御部3Aは、最後のイベントが完了すると、アプリケーション60に対して動作完了を通知する。
(13)アプリケーション60は、SDK55に対してアクション終了を通知する。
(14)アプリケーション60は、ハードウェア制御部3Aに対して、動作完了通知を受け取った旨の応答を行なう。
An operation example of the action block will be described with reference to FIG.
(1) SDK55 notifies the start of the action. The action start condition is defined in, for example, the cooperation program. Based on the cooperation program, the
(2) The
(3) When the communication is connected, the
(4) The
(5) When the two slot numbers match, the
(6) The
(7) The
(8) The
(9) When the act function is called, the
For example, in the hand movement operation, the
When the execution of the instructed
(10) When the
(11) When the
(12) When the last event is completed, the
(13) The
(14) The
上記のように、ユーザプログラムは、モータ7だけでなく、電池5、ブザー12、およびタイマー24を利用することも可能である。例えば、ユーザプログラムにおいて、電池5の電圧に応じて異なる動作が設定されてもよい。一例として、ユーザプログラムは、電池5の電圧が低レベルである場合には秒針6aに第一の動作を実行させ、電池5の電圧が高レベルである場合には秒針6aに第二の動作を実行させてもよい。ユーザプログラムは、電池電圧を含む様々な条件に応じて異なる動作を行うように構成可能である。
As described above, the user program can use not only the
上記のように、ユーザプログラムは、トリガ条件等に応じてブザー12を鳴動させることもできる。トリガ条件は、センサ9の検出結果について設定されてもよい。一例として、ユーザプログラムは、ユーザの活動量データに関するトリガ条件が成立した場合にブザー12を鳴動させてもよい。例えば、ユーザプログラムは、算出されたユーザの消費熱量が所定値に達した場合にブザー12を鳴動させることもできる。
As described above, the user program can also sound the
以上説明したように、実施形態に係る電子時計1は、駆動部2と、メモリ8を含む制御部3と、を有する。電子時計1は、携帯機器の一例である。駆動部2は、入力される指令と、動作部に対して出力する駆動信号と、の対応関係が予め定められている。本実施形態の駆動部2は、複数の駆動回路を有する時計ICである。メモリ8は、ユーザによって作成されたスクリプト言語を含むユーザプログラムを記憶する記憶部である。制御部3は、ユーザプログラムに従って指令を出力する。
As described above, the electronic clock 1 according to the embodiment includes a
本実施形態の電子時計1は、ユーザプログラムを記憶するメモリ8を有する。本実施形態の電子時計1は、ユーザプログラムを記憶して実行することが可能に構成されていることで、ユーザに対して充実した機能を提供することができる。また、メモリ8等に多くのプログラムを予め記憶しておく必要がないため、電子時計1の大型化が抑制される。また、本実施形態の電子時計1において、ユーザプログラムがスクリプト言語を含むプログラムであるため、容易に作成可能である。例えば、ユーザプログラムを生成するためのアプリケーション60が簡素化される。本実施形態の電子時計1は、時計の制御プログラムに対してスクリプト言語を使用した仮想マシンを形成することが可能に構成されている。仮想マシンにより、ユーザが任意に電子時計1の機能を変更することが可能となる。また、スクリプト言語でユーザプログラムが作成されることで、電子時計1をカスタマイズする言語の共通化を図ることができる。
The electronic clock 1 of the present embodiment has a
本実施形態の制御部3は、予め記憶している機械語の駆動プログラム35によって指令を生成する。駆動プログラム35が機械語であることから、ユーザプログラムの実行における制御部3の演算処理が軽減される。
The
本実施形態の制御部3は、通常動作時には機械語の主プログラムに従って指令を出力する。言い換えると、機械語の駆動プログラム35によって、駆動部2に対して指令を出力して、通常動作が行われる。主プログラムが機械語であることから、通常動作の実行における制御部3の演算処理が軽減される。
The
本実施形態の制御部3は、ハードウェア制御部3Aとスクリプトエンジン3Bとを有する。制御部3は、ユーザプログラムによる駆動時には、ハードウェア制御部3Aとスクリプトエンジン3Bとが連動することでユーザプログラムに従った指令を出力する。ユーザプログラムによる動作が実行され、ユーザに対して充実した機能が提供される。
The
本実施形態の動作部は、指針6を回転させるモータ7を含む。駆動部2は、モータ7に対して駆動信号を出力するモータ駆動回路21を有する。制御部3は、ユーザプログラムに従い、駆動部2に対してモータ7を動作させる指令を出力する。指針6に対する制御がユーザに対して開放されていることで、ユーザに対して充実した機能を提供可能である。
The operating unit of this embodiment includes a
本実施形態の電子時計1は、携帯通信機器50との無線通信を行う通信部4を有し、携帯通信機器50との無線通信によってユーザプログラムを取得する。ユーザプログラムは、携帯通信機器50において生成されてもよく、外部サーバ200からダウンロードされてもよい。よって、ユーザは電子時計1に容易にユーザプログラムを組み込むことができる。
The electronic clock 1 of the present embodiment has a communication unit 4 that performs wireless communication with the
本実施形態の制御部3は、ユーザプログラムに従い、無線通信によって携帯通信機器50から取得した情報に基づいて駆動部2に対して指令を出力する。電子時計1は、携帯通信機器50と連携して動作することで、ユーザに対して充実した機能を提供することができる。
The
本実施形態の携帯機器は、電子時計1であり、機械語の駆動プログラム35を記憶している。駆動プログラム35は、電子時計1に搭載されたムーブメントの型式に対応した制御プログラムの一例である。制御部3は、ユーザプログラムに従い、型式に対応した駆動プログラム35を実行することで駆動部2に対して指令を出力する。つまり、ユーザプログラムは、電子時計1のキャリバーを判断して、そのキャリバーに合う形に変換してプログラムを流す。よって、本実施形態によれば、複数のキャリバーに対して共通のユーザプログラムを適用することが可能となる。例えば、ユーザが複数の電子時計1を所有しており、かつ各電子時計1のキャリバーが互いに異なるとする。このような場合であっても、ユーザは共通のユーザプログラムで複数の電子時計1に同じ機能を組み込むことができる。
The portable device of this embodiment is an electronic clock 1 and stores a machine
本実施形態の携帯機器システム10は、携帯通信機器50において実行されるアプリケーション60と、電子時計1等の携帯機器と、を含む。アプリケーション60は、スクリプト言語を含むユーザプログラムを生成する。携帯機器は、通信部4と、駆動部2と、メモリ8を含む制御部3と、を有する。メモリ8は、携帯通信機器50との無線通信によって取得したユーザプログラムを記憶する。制御部3は、ユーザプログラムに従って駆動部2に対して指令を出力して動作部を動作させる。
The
本実施形態の携帯機器システム10は、ユーザに対して充実した機能を提供可能で、かつ携帯機器の大型化を抑制することができる。本実施形態のアプリケーション60は、ユーザインタフェース61によるビジュアルプログラミングの機能を提供する。ユーザは、ユーザインタフェース61による非言語プログラミングによりユーザプログラムを作成することができる。よって、実施形態の携帯機器システム10は、埋め込みプログラミングの知識を有していないユーザに対しても、携帯機器における充実した機能を提供することができる。また、スクリプト言語はクラウドと親和性が高いため、携帯機器システム10とクラウドとの機能連携が容易である。
The
本実施形態の携帯機器システム10において、アプリケーション60は、ユーザプログラムと、携帯通信機器50において実行される連携プログラムと、を合わせて一つのブロックプログラムを生成して保存する。アプリケーション60は、ブロックプログラムから抽出したユーザプログラムを電子時計1等の携帯機器に送信する。ユーザプログラムと連携プログラムとが一つのブロックプログラムとしてまとめられることで、例えば、ユーザプログラムや連携プログラムの管理が容易となる。
In the
[実施形態の変形例]
実施形態の変形例について説明する。携帯機器は、例示した電子時計1には限定されない。実施形態の携帯機器は、電子時計を含む各種の機器を適用対象とする。携帯機器は、アナログ表示部26を有していなくてもよい。携帯機器は、例えば、デジタル表示のスマートウォッチであってもよい。
[Modified example of the embodiment]
A modified example of the embodiment will be described. The portable device is not limited to the illustrated electronic watch 1. The portable device of the embodiment is applied to various devices including an electronic watch. The portable device does not have to have the
ユーザプログラムのスクリプト言語は、例示したLuaには限定されない。また、ユーザプログラムの言語として、任意のスクリプト言語を使用可能である。携帯通信機器50は、所謂スマートフォンには限定されない。携帯通信機器50としては、携帯機器との無線通信を行う機能を有する様々な機器を利用可能である。携帯通信機器50は、例えば、タブレット端末機器であってもよい。
The scripting language of the user program is not limited to the illustrated Lua. In addition, any script language can be used as the language of the user program. The
ユーザに対して動作が開放される指針6は、秒針6aには限定されない。例えば、秒針6a、分針6b、および時針6cのうち任意の指針6の動作がユーザに開放されてもよい。また、指針6は、秒針6a、分針6b、および時針6cに加えて他の指針を有していてもよい。この場合、他の指針の動作がユーザに開放されてもよい。携帯機器がLED(Light Emitting Diode)等の発光素子を有する場合、発光素子の動作がユーザに開放されてもよい。携帯機器がデジタル表示部を有する場合、デジタル表示部の動作がユーザに開放されてもよい。
The
上記の実施形態および変形例に開示された内容は、適宜組み合わせて実行することができる。 The contents disclosed in the above-described embodiments and modifications can be combined and executed as appropriate.
1 電子時計
2 駆動部
3 制御部
3A:ハードウェア制御部、 3B:スクリプトエンジン
4 通信部
5 電池
6 指針
6a:秒針、 6b:分針、 6c:時針
7 モータ
8 メモリ
9 センサ
10 携帯機器システム
11 太陽電池
12 ブザー
21 モータ駆動回路
22 電源管理部
23 ブザー駆動回路
24 タイマー
27 リューズ
28 文字板
29 外装ケース
29a〜29d:かん、 29e:ケース本体
30A:第一ボタン、 30B:第二ボタン
31 演算部
32 RAM
33 ROM
35 駆動プログラム
35a:第一モータプログラム、 35b:第二モータプログラム、 35c:第三モータプログラム
50 携帯通信機器
51 筐体
52 タッチパネル
54 アプリスロット
54a:第一アプリスロット、 54b:第二アプリスロット、 54c:第三アプリスロット
55:SDK
60 アプリケーション
61 ユーザインタフェース
61a:サービス選択領域、 61b:トリガ選択領域、 61c:アクション選択領域
71:第一モータ、 72:第二モータ
81:第一スロット、 82:第二スロット、 83:第三スロット
100 インターネット網
200 外部サーバ
1
33 ROM
35
60
Claims (8)
前記制御部は、記憶部と、ハードウェア制御部と、スクリプトエンジンとを有し、
前記記憶部は、予め記憶され、機械語で記述された主プログラムと、外部機器を通じて取得され、スクリプト言語で記述されたユーザプログラムとを記憶し、
前記ハードウェア制御部は、通常動作時では、機械語で記述された駆動プログラムに対して前記主プログラムを反映させることにより機械語で記述された指令を生成して前記指令を前記駆動部に対して出力し、前記ユーザプログラムによる動作時では、前記ユーザプログラムを前記スクリプトエンジンが実行して前記駆動プログラムに反映することにより機械語で記述された前記指令を生成して前記指令を前記駆動部に対して出力し、
前記駆動部は、入力される前記指令に対応して予め定められた動作がされるように、前記指令に対応した駆動信号を前記動作部に出力し、
前記動作部は、入力される前記駆動信号に対応した駆動をする
ことを特徴とする携帯機器。 In a mobile device including a control unit, a drive unit, and an operation unit,
The control unit includes a storage unit, a hardware control unit, and a script engine.
The storage unit stores a main program stored in advance and written in machine language, and a user program acquired through an external device and written in a script language.
During normal operation, the hardware control unit generates a command written in machine language by reflecting the main program on the drive program written in machine language, and sends the command to the drive unit. When the user program operates, the script engine executes the user program and reflects it in the drive program to generate the command described in machine language and send the command to the drive unit. Output to
The drive unit outputs a drive signal corresponding to the command to the operation unit so that a predetermined operation is performed in response to the input command.
The operating unit is a portable device characterized in that it drives in response to the input drive signal.
前記駆動部は、前記モータに対して前記駆動信号を出力する駆動回路を有し、
前記制御部は、前記ユーザプログラムに従い、前記駆動部に対して前記モータを動作させる前記指令を出力する
請求項1に記載の携帯機器。 The moving unit includes a motor that rotates the pointer.
The drive unit has a drive circuit that outputs the drive signal to the motor.
The portable device according to claim 1 , wherein the control unit outputs the command for operating the motor to the drive unit according to the user program.
前記制御部は、前記ユーザプログラムに従い、無線通信によって前記携帯通信機器から取得した情報に基づいて前記駆動部に対して前記指令を出力する
請求項1または2に記載の携帯機器。 The external device is a mobile communication device and is
The mobile device according to claim 1 or 2 , wherein the control unit outputs the command to the drive unit based on information acquired from the mobile communication device by wireless communication according to the user program.
前記制御部は、前記ユーザプログラムに従い、前記型式に対応した前記制御プログラムを実行することで前記駆動部に対して前記指令を出力する
請求項1から3の何れか1項に記載の携帯機器。 The portable device is an electronic watch and stores a machine language control program corresponding to the model of the mounted movement.
The portable device according to any one of claims 1 to 3 , wherein the control unit outputs the command to the drive unit by executing the control program corresponding to the model according to the user program.
前記制御部は、前記ユーザプログラムに従い、前記センサから取得する情報に基づいて前記駆動部に対して前記指令を出力する
請求項1から4の何れか1項に記載の携帯機器。 Further, it is equipped with a sensor for acquiring information about the mobile device.
The portable device according to any one of claims 1 to 4 , wherein the control unit outputs the command to the drive unit based on the information acquired from the sensor according to the user program.
請求項1から5の何れか1項に記載の携帯機器。 The portable device according to any one of claims 1 to 5 , wherein the control unit outputs the command to the drive unit based on the state of the power supply according to the user program.
携帯機器と、
を備え、
前記携帯機器は、
制御部と、駆動部と、動作部とを有し、
前記制御部は、記憶部と、ハードウェア制御部と、スクリプトエンジンとを有し、
前記記憶部は、予め記憶され、機械語で記述された主プログラムと、前記携帯通信機器を通じて取得された前記ユーザプログラムとを記憶し、
前記ハードウェア制御部は、通常動作時では、機械語で記述された駆動プログラムに対して主プログラムを反映させることにより機械語で記述された指令を生成して前記指令を前記駆動部に対して出力し、前記ユーザプログラムによる動作時では、前記ユーザプログラムを前記スクリプトエンジンが実行して前記駆動プログラムに反映することにより機械語で記述された前記指令を生成して前記指令を前記駆動部に対して出力し、
前記駆動部は、入力される前記指令に対応して予め定められた動作がされるように、前記指令に対応した駆動信号を前記動作部に出力し、
前記動作部は、入力される前記駆動信号に対応した駆動をする
ことを特徴とする携帯機器システム。 An application that is executed on a mobile communication device and generates a user program written in a script language,
With mobile devices
With
The portable device is
It has a control unit, a drive unit, and an operation unit.
The control unit includes a storage unit, a hardware control unit, and a script engine.
The storage unit stores a main program stored in advance and described in machine language, and the user program acquired through the mobile communication device.
During normal operation, the hardware control unit generates a command written in machine language by reflecting the main program on the drive program written in machine language, and sends the command to the drive unit. When it is output and operated by the user program, the script engine executes the user program and reflects it in the drive program to generate the command described in machine language and send the command to the drive unit. And output
The drive unit outputs a drive signal corresponding to the command to the operation unit so that a predetermined operation is performed in response to the input command.
The operating unit is a portable device system characterized in that it drives in response to the input drive signal.
前記アプリケーションは、前記ブロックプログラムから抽出した前記ユーザプログラムを前記携帯機器に送信する
請求項7に記載の携帯機器システム。 The application generates and saves one block program by combining the user program and the cooperation program executed in the mobile communication device and linked with the user program.
The mobile device system according to claim 7 , wherein the application transmits the user program extracted from the block program to the mobile device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/809,832 US11537093B2 (en) | 2019-03-08 | 2020-03-05 | Mobile device and mobile device system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019043026 | 2019-03-08 | ||
JP2019043026 | 2019-03-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020148756A JP2020148756A (en) | 2020-09-17 |
JP6836632B2 true JP6836632B2 (en) | 2021-03-03 |
Family
ID=72429622
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019147136A Active JP6836632B2 (en) | 2019-03-08 | 2019-08-09 | Mobile devices and mobile device systems |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6836632B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2991383B1 (en) | 2013-04-26 | 2021-01-27 | Sony Corporation | Audio processing device and audio processing system |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002108634A (en) * | 2000-10-02 | 2002-04-12 | Seiko Epson Corp | Information processing method, information processor and recording medium in which information processing program is recorded |
JP2007057274A (en) * | 2005-08-22 | 2007-03-08 | Seiko Epson Corp | Electronic apparatus |
CH708234B1 (en) * | 2013-06-27 | 2015-05-15 | Soprod Sa | Portable multifunction device controlled by external information. |
WO2015127687A1 (en) * | 2014-02-28 | 2015-09-03 | 鄂文轩 | Portable device and method for wirelessly controlling controlled device using mobile terminal |
-
2019
- 2019-08-09 JP JP2019147136A patent/JP6836632B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2020148756A (en) | 2020-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101902808B1 (en) | Wristwatch, emergency help seeking method, and speed dial method | |
JP7083058B2 (en) | Mobile communication device cooperation system and main mobile communication device | |
EP3200031A1 (en) | Wrist watch embedded with a wireless control module | |
JP2016145805A (en) | Portable information device | |
JP6836632B2 (en) | Mobile devices and mobile device systems | |
US11537093B2 (en) | Mobile device and mobile device system | |
CN112368998B (en) | Mobile communication device cooperation system | |
US20180217563A1 (en) | Timepiece and control method of timepiece | |
JP6652809B2 (en) | Electronic clock, electronic clock system, and electronic clock control method | |
JP6482301B2 (en) | Electronic clock and electronic clock system | |
US12079656B2 (en) | Cooperation system, first terminal device, and second terminal device | |
JP7321324B2 (en) | Cooperation system | |
JP7245133B2 (en) | Display system, program and display device | |
JP7483647B2 (en) | Electronic clock, external device and system | |
JP7115928B2 (en) | Electronic device and program | |
US20160223990A1 (en) | Electronic timepiece, electronic timepiece system and method of controlling electronic timepiece | |
JP7468035B2 (en) | ELECTRONIC CLOCK, COMMUNICATION SYSTEM, OPERATION SETTING METHOD AND PROGRAM | |
JP7029327B2 (en) | Portable electronic devices | |
TWM520091U (en) | Wearing device with swing power generating unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200514 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201104 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201214 |
|
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: 20210119 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210205 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6836632 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |