(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-12
(45)【発行日】2022-12-20
(54)【発明の名称】機器制御システム、デバイス、プログラム、及び機器制御方法
(51)【国際特許分類】
H04Q 9/00 20060101AFI20221213BHJP
【FI】
H04Q9/00 301E
(21)【出願番号】P 2017231630
(22)【出願日】2017-12-01
【審査請求日】2020-10-23
(73)【特許権者】
【識別番号】000004075
【氏名又は名称】ヤマハ株式会社
(74)【代理人】
【識別番号】110000154
【氏名又は名称】弁理士法人はるか国際特許事務所
(72)【発明者】
【氏名】須山 明彦
【審査官】小林 義晴
(56)【参考文献】
【文献】特表2008-533935(JP,A)
【文献】特開2002-202826(JP,A)
【文献】特開2017-028586(JP,A)
【文献】米国特許出願公開第2016/0267913(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04Q 9/00
(57)【特許請求の範囲】
【請求項1】
制御装置と、
自らを識別する機器IDを有し、ローカルエリアネットワーク内にある前記制御装置から受信される、ユーザを識別するユーザIDを登録する指示に基づいて前記ユーザIDをメモリに書き込むデバイスと、
前記機器IDを有するデバイスに向けて、前記ユーザIDと、コマンドとを含むメッセージを送信するサーバと、を含み、
前記制御装置は、ローカルエリアネットワーク内にある前記デバイスへ前記ユーザIDを登録する前記指示を送信し、前記デバイスの機器IDを前記サーバに送信し、
前記サーバは、前記機器IDと前記ユーザIDとを関連付けて記憶し、
前記サーバは、ユーザからの前記デバイスに対する動作指示を取得した場合に、前記取得された動作指示に基づいて、前記指示をしたユーザのユーザIDとコマンドとを含むメッセージを、前記ユーザIDと関連付けられた機器IDを有するデバイスへ向けてインターネットを介して送信し、
前記デバイスは、前記メッセージを受信し、前記メッセージに含まれるユーザIDと前記書き込まれたユーザIDとを比較し、
前記比較結果に応じて前記メッセージに含まれるコマンドの実行可否を決定する、
機器制御システム。
【請求項2】
請求項1に記載の機器制御システムにおいて、
前記デバイスは、前記比較において、前記メッセージに含まれるユーザIDと前記書き込まれたユーザIDとが異なると判断された場合、前記メッセージに含まれるコマンドを実行しない、
機器制御システム。
【請求項3】
請求項1または2に記載の機器制御システムにおいて、
前記デバイスは、前記比較において、前記メッセージに含まれるユーザIDと前記登録されたユーザIDとが同じと判断された場合に、当該メッセージに含まれるコマンドを実行する、
機器制御システム。
【請求項4】
自らを識別する機器IDを有し、ローカルエリアネットワーク内にある制御装置から受信した指示であってユーザを識別するユーザIDを登録する指示に基づいて前記ユーザIDをメモリに書き込み、
前記ユーザIDを登録する指示を送信した前記制御装置から送信される前記機器IDおよび前記ユーザIDを関連付けて記憶するサーバからインターネットを介して前記ユーザIDと、コマンドとを含むメッセージを受信し、前記メッセージに含まれるユーザIDと前記書き込まれたユーザIDとを比較し、
前記比較結果に応じて前記メッセージに含まれるコマンドの実行可否を決定する、
デバイス。
【請求項5】
自らを識別する機器IDを有し、ローカルエリアネットワーク内にある制御装置から受信した指示であってユーザを識別するユーザIDを登録する指示に基づいて前記ユーザIDをメモリに書き込む設定手段、および、
前記ユーザIDを登録する指示を送信した前記制御装置から送信される前記機器IDおよび前記ユーザIDを関連付けて記憶するサーバからインターネットを介して前記ユーザIDと、コマンドとを含むメッセージを受信し、前記メッセージに含まれるユーザIDと前記書き込まれたユーザIDとを比較し、前記比較結果に応じて前記メッセージに含まれるコマンドの実行可否を決定する受信手段、
としてコンピュータを機能させるためのプログラム。
【請求項6】
自らを識別する機器IDを有するデバイスと、サーバと、制御装置と、を含むシステムの機器制御方法であって、
前記制御装置が、ローカルエリアネットワーク内にある前記デバイスへ向けてユーザを識別するユーザIDを登録する指示を送信するステップと、
前記デバイスが、ローカルエリアネットワーク内にある前記デバイスから送信される前記指示に基づいて前記ユーザIDをメモリに書き込むステップと、
前記制御装置が、前記デバイスの機器IDを前記サーバに送信するステップと、
前記サーバが、前記機器IDと前記ユーザIDとを関連付けて記憶するステップと、
前記サーバが、ユーザからの前記デバイスに対する動作指示を取得した場合に、前記取得された動作指示に基づいて、前記ユーザIDと、コマンドとを含むメッセージを前記ユーザIDと関連付けられた機器IDを有するデバイスへ向けてインターネットを介して送信するステップと、
前記デバイスが、前記メッセージを受信し、前記メッセージに含まれるユーザIDと前記書き込まれたユーザIDとを比較するステップと、
前記デバイスが、前記比較結果に応じて前記メッセージに含まれるコマンドの実行可否を決定するステップと、
を含む機器制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は機器制御システム、デバイス、プログラム、及び機器制御方法に関する。
【背景技術】
【0002】
家電製品やオーディオ機器など、汎用的なコンピュータ機器と異なるデバイスにネットワーク等への接続機能を付加し、それらのデバイスをリモートで制御することが盛んに行われている。
【0003】
特許文献1には、ネットワークを通じてAV機器を遠隔制御するシステムが開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
デバイスの譲渡などがされた後に、そのデバイスへ命令をするサーバ等の設定が適切にされていないと、そのデバイスを譲渡したユーザによるリモート操作により、そのデバイスが予期せぬ動作をする恐れがある。
【0006】
本発明は上記課題を鑑みてなされたものであって、その目的は、譲渡等がされたデバイスが予期せぬ動作をする恐れを抑えることができる技術を提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明に係る機器制御システムは、自らを識別する機器IDを有し、ユーザを識別するユーザIDを登録する指示に基づいて前記ユーザIDをメモリに書き込むデバイスと、前記機器IDを有するデバイスに向けて、前記ユーザIDと、コマンドとを含むメッセージを送信するサーバと、を含む。前記デバイスは、前記メッセージを受信し、前記メッセージに含まれるユーザIDと前記書き込まれたユーザIDとを比較し、前記比較結果に応じて前記メッセージに含まれるコマンドの実行可否を決定する。
【0008】
また、本発明に係るデバイスは、自らを識別する機器IDを有し、ユーザを識別するユーザIDを登録する指示に基づいて前記ユーザIDをメモリに書き込み、前記ユーザIDと、コマンドとを含むメッセージを受信し、前記メッセージに含まれるユーザIDと前記書き込まれたユーザIDとを比較し、前記比較結果に応じて前記メッセージに含まれるコマンドの実行可否を決定する。
【0009】
また、本発明に係るプログラムは、自らを識別する機器IDを有し、ユーザを識別するユーザIDを登録する指示に基づいて前記ユーザIDをメモリに書き込む設定手段、および、前記ユーザIDと、コマンドとを含むメッセージを受信し、前記メッセージに含まれるユーザIDと前記書き込まれたユーザIDとを比較し、前記比較結果に応じて前記メッセージに含まれるコマンドの実行可否を決定する受信手段、としてコンピュータを機能させる。
【0010】
また、本発明に係る、自らを識別する機器IDを有するデバイスとサーバとを含むシステムの機器制御方法は、前記デバイスが、ユーザを識別するユーザIDを登録する指示に基づいて前記ユーザIDをメモリに書き込むステップと、前記サーバが、前記機器IDを有するデバイスに向けて、前記ユーザIDと、コマンドとを含むメッセージを送信するステップと、前記デバイスが、前記メッセージを受信し、前記メッセージに含まれるユーザIDと前記書き込まれたユーザIDとを比較するステップと、前記デバイスが、前記比較結果に応じて前記メッセージに含まれるコマンドの実行可否を決定するステップと、を含む。
【発明の効果】
【0011】
本発明によれば、譲渡等がされたデバイスが予期せぬ動作をする恐れを抑えることができる。
【図面の簡単な説明】
【0012】
【
図1】本発明の実施形態にかかる機器制御システムの構成を示す図である。
【
図3】音声認識装置、コマンドデータ送信装置、機器20およびユーザ端末により実現される機能を示すブロック図である。
【
図5】音声入力の利用登録の処理の一例を示すフロー図である。
【
図6】音声入力利用テーブルの一例を示す図である。
【
図7】機器登録の処理を説明するシーケンス図である。
【
図8】機器登録におけるユーザ端末の処理の例を示すフロー図である。
【
図9】機器登録における機器の処理の例を示すフロー図である。
【
図10】機器登録におけるコマンド送信サーバの処理の例を示すフロー図である。
【
図11】サンプルフレーズのテンプレートの一例を示す図である。
【
図12】フレーズ生成部およびフレーズ出力部の処理の例を示すフロー図である。
【
図13】表示されるサンプルフレーズの一例を示す図である。
【
図14】表示されるサンプルフレーズの他の一例を示す図である。
【
図15】動作指示受付部、メッセージ生成部、メッセージ送信部、メッセージ受信部、コマンド実行部の処理の一例を示すフロー図である。
【発明を実施するための形態】
【0013】
以下、本発明の実施形態の例を図面に基づいて説明する。
【0014】
[1.システム構成]
図1は、本発明の実施形態に係る機器制御システムの構成を示す。
図1に示すように、機器制御システム1は、第1機器20-1、第2機器20-2、第3機器20-3、音声入力装置30、音声認識装置40、及びコマンド処理システム50を含む。以下では、第1機器20-1、第2機器20-2、および第3機器20-3を総称して「機器20」と記載する場合がある。
【0015】
機器20及び音声入力装置30はローカルエリアに設置され、LAN2に接続される。LAN2は有線LANであってもよいし、無線LANであってもよい。LAN2はルータ4を介してインターネット6に接続される。音声認識装置40及びコマンド処理システム50はローカルエリア外に設置される。すなわち、機器20及び音声入力装置30から見て、音声認識装置40及びコマンド処理システム50はインターネット6側に設置される。なお、「ローカルエリア」とは、LAN2を介した通信が可能な限られた範囲のエリアである。
【0016】
機器20は機器制御システム1による制御の対象となる機器である。
図1では、3台の機器20が示されているが、4台以上の機器20が含まれていてもよいし、2台以下の機器20のみが含まれていてもよい。
【0017】
例えば、機器20はオーディオ機器又はオーディオビジュアル機器である。具体的には、機器20は、AVレシーバ、AVアンプ、スピーカ、光ディスク再生機器(ブルーレイディスク(登録商標)プレーヤ又はDVD(登録商標)プレーヤ等)、又はテレビジョン受像機である。また例えば、機器20は楽器(電子楽器又は電気楽器等)であってもよい。なお、機器20はこれら以外の機器であってもよい。
【0018】
以下では、第1機器20-1がAVレシーバであり、第2機器20-2がテレビジョン受像機であり、第3機器20-3がブルーレイディスクプレーヤである例を想定する。第2機器20-2はHDMI(High-Definition Multimedia Interface:登録商標)ケーブルを介して第1機器20-1の第1のHDMI端子(HDMI1)に接続され、第3機器20-3はHDMIケーブルを介して第1機器20-1の第2のHDMI端子(HDMI2)に接続されている。また、プライベートIPアドレス「192.168.0.2」、「192.168.0.3」、「192.168.0.4」がそれぞれ第1機器20-1、第2機器20-2、第3機器20-3に対して設定されている。
【0019】
図1に示すように、第1機器20-1は制御部21、記憶部22、及び通信部23を含む。制御部21は少なくとも一つのマイクロプロセッサ(CPU)を含み、記憶部22に記憶されたプログラムに従って処理を実行する。記憶部22は、主記憶部(例えばRAM)及び補助記憶部(例えば、不揮発性の半導体メモリ、またはハードディスクドライブ)を含む。記憶部22はプログラムやデータを記憶するためのものである。通信部23は他の装置との間でデータを送受信するためのものである。
図1では省略されているが、第2機器20-2、および第3機器20-3も制御部21、記憶部22、及び通信部23を含む。
【0020】
なお、機器20は、情報記憶媒体(例えば光ディスク又はメモリカード等)に記憶されたプログラムやデータを読み取るための構成(例えば光ディスクドライブ又はメモリーカードスロット等)を備えてもよい。そして、プログラムが情報記憶媒体を介して機器20に供給されてもよい。プログラムはインターネット6を介して機器20に供給されてもよい。
【0021】
音声入力装置30はマイクロフォンを含み、音声入力を受け付ける。本実施形態では、ユーザが機器20への動作指示を音声入力するために音声入力装置30が使用される。例えば、X社が提供するコマンド処理システム50を介して、居間に設置された機器20をスタンバイ状態から起動させたい場合、ユーザは「AAA ask MC to turn on the Living Room」等を音声入力装置30に入力する。ここで、「AAA」は音声入力装置30に対する音声入力を開始させるための言葉(Wake word)であって、例えば音声入力装置30の名称であり、「MC」は、コマンド処理システム50の名称である。
【0022】
音声入力装置30に入力された音声(フレーズ)を示す音声データはユーザIDとともにインターネット6を介して音声認識装置40に送信される。音声認識装置40は例えばサーバコンピュータによって実現される。音声認識装置40はいわゆるクラウドコンピューティングにより、複数のサーバによって実現されてもよい。音声認識装置40は音声認識処理を実行することによって、音声データを、プログラム(コマンド処理システム50)によって理解しやすい形式のデータに変換する。例えば、音声認識装置40は、フレーズの音声データから、そのユーザの指示の種類と指示の対象とを示す文字列を含む所定形式の動作指示を生成する。そして、動作指示はユーザIDとともにコマンド処理システム50に送信される。なお、ユーザIDは、音声データがコマンド処理システム50に送信されるまでの間に、いずれかのインターネット側の装置(処理)によって付与されてもよい。
【0023】
ここで、音声認識装置40は、ユーザから送信される音声の内容、例えばフレーズ中の特定の単語群に応じて、そのフレーズの内容を処理できるコマンド処理システム50に対して動作指示を送信することができる。ユーザは、利用したいコマンド処理システム50を事前に音声認識装置40に登録する。音声認識装置40はユーザから入力されたフレーズ中の言葉に基づいて、登録されたコマンド処理システム50のうちいずれかを選択し、選択されたコマンド処理システム50へ動作指示を送信する。また、音声認識装置40は、特定の機器20に対して複数の種類のフレーズを受け付け、種類に応じたコマンドデータ送信装置10を介して機器20を制御してもよい。例えば、フレーズの種類により、フレーズにおける指示の文言のフォーマットが異なっている。
【0024】
例えば、フレーズの第1の種類では、名称が「Living Room」である機器20を起動させるフレーズは、「AAA ask MC to turn on the Living Room」であり、フレーズの第2の種類では、その機器20を起動させる、第2の種類では、その機器20を起動させるフレーズは、「AAA turn on the Living Room」である。第1の種類では、フレーズはコマンド処理システム50を識別する名称である「MC」を含むが、第2の種類では、フレーズがその名称を含まない。音声認識装置40が第1の種類のフレーズを受け付けて動作指示を送信するか、第2の種類のフレーズを受け付けて動作指示を送信するかについては、ユーザにより設定される。この設定の詳細については後述する。音声認識装置40が第1の種類のフレーズを受け付けた際に送信先となるコマンド処理システム50が、第2の種類のものと異なっていてもよい。
【0025】
ユーザ端末60は、ユーザによるタッチ操作などの物理的操作を受け付け、機器20を制御する。また、ユーザ端末60は、ユーザの操作に基づいてコマンド処理システム50や音声認識装置40の設定を行う。ユーザ端末60は例えばスマートフォンやパーソナルコンピュータである。ユーザ端末60は制御部61、記憶部62、及び通信部63を含む。制御部61、記憶部62、記憶部22は制御部21、記憶部22、及び通信部23と同様である。
【0026】
図1に示すように、コマンド処理システム50は、コマンドデータ送信装置10、データベース52、及びMQTT(Message Queueing Telemetry Transport)サーバ53を含む。
【0027】
データベース52は各種データを記憶する。例えば、データベース52は各ユーザの所有している機器20の情報を記憶する。
図2はデータベース52に記憶される機器テーブルの一例を示す。機器テーブルT1はユーザごとに(ユーザIDと関連付けて)記憶される。なお、コマンド処理システム50(データベース52)、ユーザ端末60および機器20で使用されるユーザIDは、音声入力装置30及び音声認識装置40で使用されるユーザIDと異なっていてもよいし、同じであってもよい。これらのユーザIDが異なる場合には、それらのユーザIDを変換するための対応関係データがコマンド処理システム50または音声認識装置40に記憶されている。
【0028】
図2に示すように、機器テーブルT1は「ID」、「名称」、「機器ID」、「IPアドレス」、「コマンド種類」、「端子」、「接続先」、「受信可否」、「受付可能コマンド」フィールドを含む。
【0029】
「ID」フィールドは、ユーザの所有している各機器20を一意に識別する情報を示す。
図2では、第1機器20-1が機器ID「1」に相当し、第2機器20-2が機器ID「2」に相当する。
【0030】
「名称」フィールドは機器20の名称を示す。この名称はユーザが動作指示の対象の機器20を指定するために使用される。名称としては、ユーザによって設定された任意の名称が使用されてよいし、例えば機器20の製造元等によって設定された初期名称が使用され、ユーザにより修正が可能になっていてもよい。
【0031】
「機器ID」フィールドは、これのみで機器20を一意に特定する機器IDである。機器IDは、機器20のMACアドレスであってもよいし、MACアドレスに基づいて生成されたIDであってもよい。「IPアドレス」フィールドは、機器20が備えている有線又は無線ネットワークインタフェースカードに対して設定されたIPアドレスを示す。「コマンド種類」フィールドは、機器20で使用されているコマンドの種類(体系)を示す。「端子」フィールドは、機器20が備えている入力端子のリストを示す。「接続先」フィールドは、機器20が他の機器20の入力端子に接続されて、機器20から出力される音声が他の機器20に入力される場合に、機器20が接続された他の機器20の入力端子を示す。
【0032】
「受信可否」フィールドは、インターネット6を介してコマンドを含むメッセージを受信可能であるか否かを示す。メッセージについては後述する。例えば、「0」又は「1」が「受信可否」フィールドに登録される。「0」は、インターネット6を介してメッセージを受信できないことを示し、「1」は、インターネット6を介してメッセージを受信できることを示す。
【0033】
「受付可能コマンド」フィールドは、機器20が受付可能なコマンドのリストを示す。「受付可能コマンド」フィールドのリスト中に「Power」が設定されていれば、その機器は外部からのコマンドによりスタンバイ状態から起動することが可能であることを示し、設定されていなければスタンバイ状態から起動することができないことを示す。また、「受付可能コマンド」フィールドのリスト中に「Volume」が設定されていれば、その機器は外部からのコマンドにより音量を制御することが可能であることを示し、設定されていなければ音量を制御することができないことを示す。
【0034】
機器テーブルT1のデータは各ユーザによって登録される。ユーザはユーザ端末60からコマンドデータ送信装置10にアクセスすることによって、自らの所有する機器20の情報を機器テーブルT1に登録できる。登録の詳細については後述する。
【0035】
なお、データベース52には機器テーブルT1以外のデータも記憶される。例えば、データベース52にはユーザと、機器20のためにそのユーザが入力可能なフレーズの種類を示すデータとが関連付けて記憶されている。他にも、動作指示とコマンドとの対応関係を示すデータ(言い換えれば、動作指示をコマンドに変換するためのデータ)がデータベース52に記憶されてもよい。
【0036】
コマンドデータ送信装置10は例えばサーバコンピュータによって実現される。
図1に示すように、コマンドデータ送信装置10は制御部11、記憶部12、及び通信部13を含む。制御部11、記憶部12、及び通信部13は制御部21、記憶部22、及び通信部23と同様である。なお、コマンドデータ送信装置10は、情報記憶媒体(例えば光ディスク又はメモリカード等)に記憶されたプログラムやデータを読み取るための構成要素(例えば光ディスクドライブ又はメモリーカードスロット等)を備えてもよい。そして、プログラムが情報記憶媒体を介してコマンドデータ送信装置10に供給されてもよい。プログラムはインターネット6を介してコマンドデータ送信装置10に供給されてもよい。
【0037】
コマンドデータ送信装置10はデータベース52にアクセス可能である。コマンドデータ送信装置10とデータベース52とは一つのサーバコンピュータによって実現されてもよいし、別のサーバコンピュータによって実現されてもよい。
【0038】
コマンドデータ送信装置10は、音声認識装置40から送信される、機器20に対する動作指示を受け付け、当該動作指示に基づいてコマンドを含むメッセージを生成し、当該メッセージを当該機器20へ向けて送信する。より具体的には、メッセージはMQTTサーバ53を介して機器20へ向けて送信される。MQTTサーバ53は、MQTTプロトコルを使用してデータを送受信するためのものである。コマンドデータ送信装置10とMQTTサーバ53とは一つのサーバコンピュータによって実現されてもよいし、別のサーバコンピュータによって実現されてもよい。
【0039】
[2.機能ブロック]
図3は、コマンドデータ送信装置10、機器20およびユーザ端末60により実現される機能を示すブロック図である。
【0040】
図3に示すように、コマンドデータ送信装置10は動作指示受付部110、メッセージ生成部120、メッセージ送信部130、機器情報取得部140、音声利用登録部150、機器登録部160、及び登録結果送信部170を含む。動作指示受付部110、メッセージ生成部120、メッセージ送信部130、機器情報取得部140、音声利用登録部150、機器登録部160、及び登録結果送信部170は、制御部11が記憶部12に格納された各機能のプログラムを実行することによって実現される。
【0041】
また
図3に示すように、機器20はメッセージ受信部210、コマンド実行部220、機器情報送信部230および設定部260を含む。メッセージ受信部210、コマンド実行部220、機器情報送信部230および設定部260は制御部21が記憶部22に格納された各機能のプログラムを実行することによって実現される。
【0042】
また
図3に示すように、ユーザ端末60は登録制御部610、設定取得部620、フレーズ生成部630、フレーズ出力部640を含む。登録制御部610、設定取得部620、フレーズ生成部630、フレーズ出力部640は制御部61が記憶部62に格納された各機能のプログラムを実行することによって実現される。
【0043】
[2-1]まず、動作指示受付部110、メッセージ生成部120、メッセージ送信部130、メッセージ受信部210、及びコマンド実行部220について説明する。
【0044】
動作指示受付部110は、機器20に対する動作指示を受け付ける。例えば、動作指示受付部110は、音声認識装置40によってテキストデータ等のプログラムにとって理解可能な形式のデータに変換された動作指示を音声認識装置40から受信する。
【0045】
メッセージ生成部120は、動作指示受付部110が機器20に対する動作指示を受信した場合に、動作指示にかかるユーザを特定するユーザIDと、コマンドとを含むメッセージを生成する。コマンドは、動作指示に応じた動作を行わせるためのテキスト等のデータである。
【0046】
図4はメッセージD1の一例を示す図である。
図4に示されるメッセージD1は、第1機器20-1をスタンバイ状態から起動する旨の動作指示が受け付けられた場合に生成されるメッセージの一例である。
【0047】
メッセージD1は項目「uid」,「type」,「id」,「command」を含む。項目「uid」は動作指示をしたユーザのユーザIDを示す。
図4に示す例では、ユーザID「U1」が項目「uid」に設定されている。項目「type」はデータの種別を示す。
図5に示す例では「cmd」が項目「type」に設定されている。これはメッセージ中にコマンドが含まれることを示している。項目「id」はメッセージを一意に識別する識別情報を示す。項目「command」に設定されるデータはコマンドの内容を示す。項目「command」は項目「ip」,「path」,「method」を含む。項目「ip」はコマンドの宛先を示す。
図4の例では第1機器20-1のIPアドレスが項目「ip」に設定されている。項目「path」はコマンド本体に相当する。項目「method」は、使用されるHTTPプロトコルのメソッドを示す。
【0048】
メッセージ送信部130は、メッセージ生成部120によって生成されたメッセージを機器20へ向けて送信する。なお、メッセージ送信部130は、動作指示の対象となる機器20がインターネット6経由でメッセージを受信できない場合(受信可否フラグに「0」が設定されている場合)には、他の機器20へメッセージを送信し、その他の機器20に対象の機器20へメッセージの内容を転送させてもよい。
【0049】
メッセージはMQTTプロトコルを使用して機器20へ送信される。言い換えると、メッセージ送信部130はMQTTサーバ53を介してメッセージを機器20へ送信する。MQTTサーバ53には、複数のトピックが存在している。トピックのそれぞれの識別情報は、機器20の機器IDに基づいて設定されている。コマンドデータ送信装置10から機器20へ送信する際には、コマンドデータ送信装置10は機器IDに応じた識別情報を有する要求側のトピックへメッセージをパブリッシュし、機器20はその識別情報を有する要求側のトピックにパブリッシュされたメッセージを取得する。なお、MQTTプロトコルと異なるプロトコルでコマンド処理システム50と機器20との間の通信が行われてもよい。
【0050】
メッセージ受信部210はメッセージをインターネット6を介して受信する。コマンド実行部220は、メッセージに含まれるコマンドに基づいて、コマンドを実行する。コマンド実行部220は、メッセージに含まれるコマンドを直接解釈して機器20を直接制御してもよい。またコマンド実行部220は、ローカルエリアにあるユーザ端末60等から、LAN2を介して受信されるコマンドを実行する内部実行部と、受信されたメッセージに含まれるコマンドを変換し、その内部実行部へ変換されたコマンドを内部的に送信する変換部とを有していてもよい。例えば、機器20はHTTPデーモンを起動させ、内部実行部は、変換部からHTTPプロトコルを介してコマンドを受け付けてよい。
【0051】
[2-2]次に、登録制御部610、設定取得部620、フレーズ生成部630、フレーズ出力部640、音声利用登録部150、機器登録部160、登録結果送信部170、設定部260の概要について説明する。
【0052】
登録制御部610は、ユーザについて、第1の種類および第2の種類のうち少なくとも一方のフレーズを音声認識装置40が受け付け、コマンド処理システム50へ動作指示を送信することを可能にする。より具体的には、登録制御部610は音声認識装置40およびコマンド処理システム50に、このユーザについて利用登録の処理を実行させる。また、登録制御部610は、ユーザの操作に基づいて、コマンド処理システム50に音声入力による指示の対象となる機器20を登録する。
【0053】
設定取得部620は、ローカルエリアに接続される機器20を検出し、検出された機器20から機器20の音声入力における機器20の名称を含む機器情報を取得する。また、設定取得部620は、登録制御部610またはコマンド処理システム50から、音声認識装置40が受付可能なフレーズの種類を示す情報を取得する。機器情報やフレーズの種類を示す情報をまとめて、以下ではユーザ設定と記載する。音声入力における機器20の名称や、利用可能なフレーズの種類は、ユーザにより設定可能な項目であるからである。なお、登録制御部610は、設定取得部620により複数の機器20が検出された場合、例えば検出された機器20のうちユーザが指定する1または複数の機器20を音声入力による指示の対象となる機器20として登録する。
【0054】
音声利用登録部150は、ユーザ端末60の登録制御部610から、ユーザが音声入力によるコマンド処理システム50の利用を登録する要求(利用登録要求)を受信し、コマンドデータ送信装置10と音声認識装置40とが連携してそのユーザによる音声入力を可能にするための処理を実行する。
【0055】
機器登録部160は、ユーザ端末60の登録制御部610から、音声入力による指示の対象となる機器20を登録する要求(機器登録要求)を受信し、その機器20を音声入力の対象として登録する。登録結果送信部170は、機器20の登録の結果(機器登録結果)と、サンプルフレーズのテンプレートとを送信する。
【0056】
設定部260は、ユーザ端末60の登録制御部610から、ユーザID登録指示を受信し、そのユーザID登録指示に含まれるユーザIDを不揮発性メモリに書き込む。また設定部260は、ユーザ端末60の登録制御部610から、接続開始指示を受信し、コマンド処理システム50に含まれるMQTTサーバ53と接続させ、コマンド処理システム50からの受信を可能にする。
【0057】
フレーズ生成部630は、設定取得部620により取得されるユーザ設定に基づいて、機器20を制御可能なフレーズを生成する。フレーズ出力部640は、生成されたフレーズを表示させるデータを出力する。フレーズ出力部640がそのデータを出力することにより、ユーザ端末60の表示画面など、ユーザが視認可能なデバイスに、生成されたフレーズが表示される。
【0058】
[2-3]次に、機器情報取得部140及び機器情報送信部230について説明する。
【0059】
機器情報取得部140は機器20の機器情報を取得する。機器情報取得部140は、機器20に対して当該機器20の機器情報を機器情報取得部140へ向けて送信させるためのコマンドと、ユーザIDとを含むメッセージ(以下では「機器情報要求」と記載する)を生成し、当該メッセージをインターネット6を介して機器20へ送信する。より具体的には、機器情報取得部140は機器情報要求をMQTTサーバ53を介して機器20へ送信する。なお、機器情報要求の生成及び送信もメッセージ生成部120及びメッセージ送信部130により実行されてもよい。
【0060】
機器情報送信部230は、機器情報要求が受信されると、機器20の機器情報をインターネット6を介してコマンドデータ送信装置10に返信する。機器情報は、例えば、機器20の機種情報、ユーザが機器20を特定する名称、機器ID、IPアドレスを含む。また、機器情報は、機器20の現在の状態を示す現在情報を含んでもよい。なお、機器情報送信部230は機器情報をMQTTサーバ53を介してコマンドデータ送信装置へ送信する。機器情報取得部140は機器情報を受信する。そして、機器情報取得部140は、受信した機器情報のうち必要な項目を抽出し、それらの項目を機器テーブルT1に登録する。
【0061】
[3.処理]機器制御システム1で実行される処理について説明する。
【0062】
[3-1]はじめに、音声入力の利用登録の処理について説明する。音声入力の利用登録の処理は、音声認識装置40がユーザについて1または複数の種類のフレーズを受け付けて動作指示を送信することを可能にする処理と、コマンド処理システム50がその動作指示を受け付けることを可能にする情報を登録する処理とを含む。ユーザが音声入力によるコマンド処理システム50の利用をする前にこの処理が行われる必要がある。
【0063】
以下では、第1の種類のフレーズについて利用登録の処理を行う例について説明する。なお、第2の種類のフレーズについても以下と同様の処理で登録されてよい。
図5は、音声入力の利用登録の処理の一例を示すフロー図である。以下に記載される、音声利用登録部150が行う処理は、制御部11がその機能のプログラムを実行することにより実行される。登録制御部610が行う処理は、制御部61がその機能のプログラムを実行することにより実行される。
【0064】
はじめに、ユーザ端末60の登録制御部610はユーザにより利用登録の処理の開始が指示された場合に、コマンド処理システム50へ利用登録要求を送信する(ステップS111)。またコマンドデータ送信装置10の音声利用登録部150は、通信部13を介して利用登録要求を受信する(ステップS121)。利用登録要求は、ユーザにより直接的または間接的に指定される、音声入力を受け付ける音声認識装置40と動作指示を処理するコマンド処理システム50とを示す情報を含む。また、登録制御部610はユーザの認証情報を送信し(ステップS112)、音声利用登録部150は通信部13を介してユーザの認証情報を受信する(ステップS122)。ユーザ端末60から送信される認証情報は、例えばユーザIDおよびパスワードであってよい。また、コマンド処理システム50とは別の認証サーバが存在する場合には、登録制御部610が認証サーバに対してユーザにより入力されたユーザの識別情報とパスワードを入力することにより認証サーバから取得したアクセス許可情報(トークンの一種)を、登録制御部610が認証情報として送信してもよい。この場合、登録制御部610はアクセス許可情報を用いて認証サーバからユーザIDを取得してよい。なお、ここで入力されるユーザIDと、コマンド処理システム50と機器20とで利用されるユーザIDとが異なっていてもよい。例えば、音声利用登録部150は、認証情報に含まれるユーザIDのハッシュ値を後続の処理で利用するユーザIDとして生成してもよい。
【0065】
認証情報が取得されると、音声利用登録部150は、ユーザからの第1の種類のフレーズによる音声入力を、音声認識装置40が受け付ける設定と、音声認識装置が第1の種類のフレーズについて動作指示をコマンド処理システム50へ送信する設定をする(ステップS123)。
【0066】
そして、音声利用登録部150は、音声入力の利用登録状況をデータベースに格納する(ステップS124)。
図6は、音声入力利用テーブルの一例を示す図である。音声入力利用テーブルは、「ユーザID」、「第1種類登録」、「第2種類登録」フィールドを含む。「ユーザID」は、テーブルのレコードを一意に識別するキーとなる。「第1種類登録」は、「ユーザID」フィールドのユーザについて、第1の種類のフレーズを受け付けるための利用登録の処理がされていることを示す。「第2種類登録」は、「ユーザID」フィールドのユーザについて、第2の種類のフレーズを受け付けるための利用登録の処理がされていることを示す。
【0067】
音声入力の利用登録状況がデータベースに格納されると、音声利用登録部150は、音声入力の利用登録が成功したか否かを示す応答を送信し(ステップS125)、登録制御部610は利用登録応答を受信する(ステップS113)。
【0068】
[3-2]次に、ユーザの操作に基づいて、コマンド処理システム50に音声入力による指示の対象となる機器20を登録する処理(登録処理)について説明する。
図7は、機器登録の処理を説明するシーケンス図である。
図8は、機器登録におけるユーザ端末60の処理の例を示すフロー図である。
図9は、機器登録における機器20の処理の例を示すフロー図である。
図10は、機器登録におけるコマンドデータ送信装置10の処理の例を示すフロー図である。
【0069】
機器登録部160、登録結果送信部170および機器情報取得部140が行う処理は、制御部11がその機能のプログラムを実行することにより行われる。登録制御部610、設定取得部620、フレーズ生成部630およびフレーズ出力部640が行う処理は、制御部61がその機能のプログラムを実行することにより行われる。機器情報送信部230、設定部260が行う処理は、制御部21がその機能のプログラムを実行することにより行われる。
【0070】
以下では、ユーザ端末60、コマンドデータ送信装置10、機器20が実行する登録処理を、
図7のシーケンス図に従った順序で説明する。
【0071】
はじめに、ユーザ端末60の登録制御部610は、ユーザから機器登録開始の指示を取得した場合に、通信部63を介して、コマンド処理システム50へ利用登録確認要求を送信する(ステップS211)。利用登録確認要求は、より具体的には、音声認識装置40が、1または複数の種類のフレーズについて利用登録がされているか否かを問い合わせる情報である。次に、コマンドデータ送信装置10の機器登録部160は、利用登録確認要求を受信し、音声認識の利用登録の状況を示す利用登録確認応答を送信する(ステップS251)。より具体的には、機器登録部160は機器登録開始の指示をしたユーザについて音声入力利用テーブルに格納されたレコードを取得し、第1種類登録および第2種類登録のフィールドの値に基づいて、利用登録されたフレーズの種類を示す情報を応答する。なお、利用登録確認応答に、操作をしているユーザのユーザIDを示す情報が含まれてもよい。ユーザ端末60の登録制御部610は、利用登録確認応答を受信し、利用登録されたフレーズの種類を示す情報などを記憶部12に格納する(ステップS212)。なお、ユーザについて、機器20を操作するためのどの種類のフレーズについても利用登録がされていない場合には、利用登録確認応答としてエラーメッセージが送信され、登録制御部610はユーザに利用登録を行わせるための画面を出力する。
【0072】
設定取得部620は、利用登録確認応答を受信すると、ローカルエリア(LAN2)に接続された1または複数の機器20を検出し、検出された1または複数の機器20へ機器情報要求を送信する(ステップS213)。機器20の機器情報送信部230は、機器情報要求を受信し、ユーザ端末60へ向けて機器情報を送信する(ステップS221)。機器情報は、ユーザにより設定された機器の名称および機器IDを含む。ユーザ端末60の設定取得部620は、送信された機器情報を受信する(ステップS214)。
【0073】
機器情報を受信すると、登録制御部610は検索された機器20に、ユーザID登録指示を送信する(ステップS215)。機器20の設定部260は、ユーザID登録指示を受信する(ステップS222)。ユーザID登録指示は、機器20に登録すべきユーザIDの情報を含む。また、ユーザID登録指示が受信されると、設定部260は、不揮発性メモリにユーザIDを書き込む(ステップS223)。
【0074】
ユーザIDが書き込まれると、ユーザ端末60の登録制御部610は、検索された機器に、MQTTサーバへの接続開始指示を送信する(ステップS216)。機器20の設定部260は、MQTTサーバ53への接続開始指示を受信する(ステップS224)。そして、設定部260は、MQTTサーバ53へ接続し(ステップS225)、MQTTサーバ53から動作指示を受信できる状態にする。
【0075】
機器20がMQTTサーバ53へ接続すると、ユーザ端末60の登録制御部610は、コマンド処理システム50(コマンドデータ送信装置10)へ、機器登録要求を送信する(ステップS217)。機器登録要求は、ユーザIDと、登録する機器20の機器IDとを含む。コマンドデータ送信装置10は、ユーザ端末60から機器登録要求を受信する(ステップS252)。なお、機器登録要求に、ユーザIDの代わりに認証サーバへのアクセス許可情報を含んでもよい。この場合は、コマンドデータ送信装置10はアクセス許可情報を用いて認証サーバからユーザIDまたはユーザIDの元となる情報を取得してもよい。
【0076】
そして、機器登録部160は、機器登録要求に含まれる機器IDを有する機器20に向けて、機器情報要求を送信する(ステップS253)。機器情報送信部230は、コマンド処理システム50(MQTTサーバ53)から機器情報要求を受信し、コマンド処理システム50へ機器情報を送信する(ステップS226)。機器登録部160は、機器情報を受信する(ステップS254)。機器情報は、コマンドの体系を示す情報、有する入力端子の情報、入力端子に接続される他の機器20の情報、インターネット6を介してメッセージを受信できるか否かを示す情報、機器20が受付可能なコマンドのリストを含む。機器登録部160は、受信した機器情報のうち少なくとも一部(機器IDを含む)をユーザIDと関連付けてデータベースの機器テーブルT1に格納する(ステップS255)。なお、機器登録部160は、機器情報に含まれる情報を取捨選択、および整形して機器テーブルT1に格納してもよい。
【0077】
機器登録部160がステップS255までの処理を完了すると、登録結果送信部170は、音声入力の利用登録状況、言い換えると、音声認識装置40がユーザについて受け付けることのできるフレーズの種類に基づいて、サンプルフレーズのテンプレートを選択する(ステップS256)。また機器登録部160はユーザ端末60へ、機器の登録ができたか否かを示す機器登録結果と、選択されたサンプルフレーズのテンプレートとを送信する(ステップS257)。
【0078】
図11は、サンプルフレーズのテンプレートの一例を示す図である。サンプルフレーズは、ユーザが音声入力することにより機器20を制御可能なフレーズである。
図11は、第1の種類および第2の種類のフレーズについて利用登録がされている場合の例を示している。第1のテンプレートTP1は第1の種類のフレーズのサンプルのテンプレートを含み、第2のテンプレートTP2は、第2の種類のフレーズのサンプルのテンプレートを含む。サンプルの文面は、「sentence」の項目に設定された文字列である。機器の名称はユーザが設定することが可能であり事前に準備することができないため、仮の文字列「%s」がサンプルの文面に埋め込まれている。「feature」の項目に設定された文字列は、操作対象となる機器20が備える必要のあるコマンドを示している。
【0079】
フレーズ生成部630はコマンド処理システム50(コマンドデータ送信装置10)から、機器登録要求に対する処理の結果と、サンプルフレーズのテンプレートを受信する(ステップS218)。フレーズ生成部630は受信されたテンプレートと、ユーザ設定である利用登録の状況および機器の名称に基づいて、サンプルフレーズを生成し、フレーズ出力部640は生成されたサンプルフレーズを出力する(ステップS219)。
【0080】
以下では、フレーズ生成部630およびフレーズ出力部640の処理についてさらに詳細に説明する。
図12は、フレーズ生成部630およびフレーズ出力部640の処理の例を示すフロー図である。
【0081】
はじめに、フレーズ生成部630は、サンプルフレーズが必要とするコマンドを実行可能な機器20を選択し、選択された機器20の名称を取得する(ステップS311)。フレーズ生成部630は、例えば、テンプレートの「feature」の項目に設定されたコマンドを収集し、また、機器テーブルT1に格納されたあるユーザに関するレコードのうち、受付可能コマンドのフィールドに収集されたすべてのコマンドが存在するレコードを選択し、そのレコードに含まれる機器の名称を取得する。
【0082】
次に、フレーズ生成部630は、ユーザ設定(利用登録されたフレーズの種類を示す情報および機器の名称)に応じた処理を行う。より具体的には以下の処理を行う。まずフレーズ生成部630は、利用登録されたフレーズの種類を示す情報が、第1の種類のフレーズを受付可能な状態を示すかを判定する(ステップS312)。第1の種類のフレーズを受付可能な状態を示す場合には(ステップS312のY)、フレーズ生成部630は第1のテンプレートTP1の文言のうち機器名の箇所を選択された機器の名称で置き換えることにより、サンプルフレーズを生成する(ステップS313)。そして、フレーズ出力部640は、生成されたサンプルフレーズがユーザ端末60の画面に表示されるように、サンプルフレーズのデータを出力する(ステップS314)。ここで、利用登録されたフレーズの種類を示す情報が、第1の種類のフレーズを受付可能な状態を示さない場合には(ステップS312のN)、ステップS313およびS314の処理はスキップされる。
【0083】
図13は、表示されるサンプルフレーズの一例を示す図である。
図13の例は、第1の種類のフレーズが受付可能に設定されている場合に、第1のテンプレートTP1に基づいて表示される画面の一例である。名称「Living room」の機器20は、ボリューム操作のコマンドを処理可能であるため、サンプルフレーズとして出力されている。
【0084】
次にフレーズ生成部630は、利用登録されたフレーズの種類を示す情報が、第2の種類のフレーズを受付可能な状態を示すかを判定する(ステップS315)。第1の種類のフレーズを受付可能な状態を示す場合には(ステップS315のY)、フレーズ生成部630は第2のテンプレートTP2の文言のうち機器名の箇所を選択された機器の名称で置き換えることにより、サンプルフレーズを生成する(ステップS316)。そして、フレーズ出力部640は、生成されたサンプルフレーズがユーザ端末60の画面に表示されるように、サンプルフレーズのデータを出力する(ステップS317)。ここで、利用登録されたフレーズの種類を示す情報が、第1の種類のフレーズを受付可能な状態を示さない場合には(ステップS315のN)、ステップS316およびS317の処理はスキップされる。
【0085】
図14は、表示されるサンプルフレーズの他の一例を示す図である。
図14の例は、第2の種類のフレーズが受付可能に設定されている場合に、第2のテンプレートTP2に基づいて表示される画面の一例である。
【0086】
このように、コマンドの入力例として示されるサンプルフレーズを動的に制御することで、ユーザが音声入力において受付可能なサンプルフレーズを容易かつ確実に得ることができる。また、サンプルフレーズの生成にユーザ設定も用いることで、ユーザに応じて受け付けられるフレーズが変化する場合であっても、サンプルフレーズの文面を読み替える必要がなくなり、ユーザが、受け付けられる正しいサンプルフレーズを容易に認識することができる。
【0087】
[3-3]以下では、動作指示をコマンド処理システム50が受け付け、機器20を制御する処理について説明する。
図15は、動作指示受付部110、メッセージ生成部120、メッセージ送信部130、メッセージ受信部210、コマンド実行部220の処理の一例を示すフロー図である。以下に記載される、動作指示受付部110、メッセージ生成部120、メッセージ送信部130が行う処理は、制御部11がその機能のプログラムを実行することにより実行される。メッセージ受信部210、コマンド実行部220が行う処理は、制御部21がその機能のプログラムを実行することにより実行される。
【0088】
はじめに、動作指示受付部110は、音声認識装置40から動作指示を取得する(ステップS511)。そして、メッセージ生成部120は、取得した動作指示に基づいて、動作指示の対象となるユーザのユーザIDを取得し、動作指示に含まれる機器の名称と機器テーブルT1に基づいて、ユーザIDと関連付けられた機器IDであって、かつ動作指示の対象となる機器20の機器IDを取得する(ステップS512)。そして、メッセージ生成部120は、動作指示に対応するコマンドと、取得されたユーザIDとを含むメッセージを生成し(ステップS513)、メッセージ送信部130は動作指示の対象となる機器20へ生成されたメッセージを送信する(ステップS514)。
【0089】
動作指示の対象となる機器20のメッセージ受信部210は、メッセージを受信する(ステップS521)。次に、メッセージ受信部210は、メッセージに含まれるユーザIDと、機器20の不揮発性メモリに書き込まれたユーザIDとを比較する(ステップS522)。これらのユーザIDが同じ場合には(ステップS522のY)、コマンド実行部220はメッセージに含まれるコマンドを実行する(ステップS523)。一方、これらのユーザIDが異なる場合には(ステップS522のN)、そのメッセージは破棄され、メッセージ中のコマンドは実行されない。
【0090】
上述のように、メッセージ受信部210はユーザIDの比較結果に応じてコマンドを実行するか否かを制御する。これにより、機器20の予期せぬ動作を防止することができる。特に、機器20が譲渡された一方、コマンド処理システム50側で機器登録が解除されていない場合には、譲渡したユーザが誤って機器20に対するコマンドを音声入力した場合に、従来は機器20がそのコマンドにより誤動作してしまう恐れがあった。一方、本実施形態では、譲渡されたユーザが機器登録を行っていれば、譲渡したユーザがどんなコマンドを入力しても、機器20側でそのコマンドを含むメッセージを破棄するので、予期せぬ動作をする可能性を抑えることができる。
【0091】
[付記]以上に説明した実施形態についての記載から把握されるように、本明細書では以下に記載の発明を含む多様な技術的思想が開示されている。
【0092】
本発明にかかる機器制御システムは、自らを識別する機器IDを有し、ユーザを識別するユーザIDを登録する指示に基づいて前記ユーザIDをメモリに書き込むデバイスと、前記機器IDを有するデバイスに向けて、前記ユーザIDと、コマンドとを含むメッセージを送信するサーバと、を含む。前記デバイスは、前記メッセージを受信し、前記メッセージに含まれるユーザIDと前記書き込まれたユーザIDとが異なる場合に、当該メッセージに含まれるコマンドを実行しない。
【0093】
本発明にかかるデバイスは、自らを識別する機器IDを有し、ユーザを識別するユーザIDを登録する指示に基づいて前記ユーザIDをメモリに書き込み、前記ユーザIDと、コマンドとを含むメッセージを受信し、前記メッセージに含まれるユーザIDと前記書き込まれたユーザIDとが異なる場合に、当該メッセージに含まれるコマンドを実行しない。
【0094】
本発明にかかるプログラムは、自らを識別する機器IDを有し、ユーザを識別するユーザIDを登録する指示に基づいて前記ユーザIDをメモリに書き込む設定手段、および、前記ユーザIDと、コマンドとを含むメッセージを受信し、前記メッセージに含まれるユーザIDと前記書き込まれたユーザIDとが異なる場合に、当該メッセージに含まれるコマンドを実行しない受信手段、としてコンピュータを機能させる。
【0095】
本発明にかかる、自らを識別する機器IDを有するデバイスとサーバとを含むシステムの機器制御方法は、前記デバイスが、ユーザを識別するユーザIDを登録する指示に基づいて前記ユーザIDをメモリに書き込むステップと、前記サーバが、前記機器IDを有するデバイスに向けて、前記ユーザIDと、コマンドとを含むメッセージを送信するステップと、前記デバイスが、前記メッセージを受信し、前記メッセージに含まれるユーザIDと前記書き込まれたユーザIDとを比較するステップと、前記デバイスが、前記比較結果に応じて前記メッセージに含まれるコマンドの実行可否を決定するステップと、を含む。
【0096】
上記発明の一形態では、前記デバイスは、前記比較において、前記メッセージに含まれるユーザIDと前記書き込まれたユーザIDとが異なると判断された場合、前記メッセージに含まれるコマンドを実行しなくてよい。
【0097】
上記発明の一形態では、前記サーバは、前記デバイスに対する動作指示を受信した場合に、前記動作指示を送信したユーザを特定するユーザIDを含むメッセージを生成してもよい。
【0098】
上記発明の一形態では、前記デバイスは、前記比較において、前記メッセージに含まれるユーザIDと前記登録されたユーザIDとが同じと判断された場合に、当該メッセージに含まれるコマンドを実行してもよい。
【0099】
上記発明の一形態では、機器制御システムは、前記デバイスへ向けて前記ユーザIDを登録する前記指示を送信する制御装置をさらに含んでよい。前記制御装置は、前記デバイスの機器IDをサーバに送信し、前記サーバは、前記機器IDと前記ユーザIDとを関連付けて記憶し、前記サーバは、ユーザからの前記デバイスに対する動作指示を取得した場合に、前記取得された動作指示に基づいて、前記指示をしたユーザのユーザIDとコマンドとを含むメッセージを、前記ユーザIDと関連付けられた機器IDを有するデバイスへ向けて送信してよい。
【符号の説明】
【0100】
1 機器制御システム、2 LAN、4 ルータ、6 インターネット、10 コマンドデータ送信装置、11,21,61 制御部、12,22,62 記憶部、13,23,63 通信部、20-1 第1機器、20-2 第2機器、20-3 第3機器、30 音声入力装置、40 音声認識装置、50 コマンド処理システム、52 データベース、53 MQTTサーバ、60 ユーザ端末、110 動作指示受付部、120 メッセージ生成部、130 メッセージ送信部、140 機器情報取得部、150 音声利用登録部、160 機器登録部、170 登録結果送信部、210 メッセージ受信部、220 コマンド実行部、230 機器情報送信部、260 設定部、610 登録制御部、620 設定取得部、630 フレーズ生成部、640 フレーズ出力部、D1 メッセージ、T1 機器テーブル、TP1 第1のテンプレート、TP2 第2のテンプレート。