以下、図面を参照しつつ、本発明の実施形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
<第1の実施形態>
<ネットワークシステムの全体構成>
まず、図1〜図6を参照して、本実施形態に係るネットワークシステム1の全体構成について説明する。なお、図1〜図6は、本実施形態にかかるネットワークシステム1の全体構成と動作概要とを示すイメージ図である。
ネットワークシステム1は、住居またはオフィスなどに配置される複数の家電と、スマートフォン500A,500B,500Cと、サーバ100とを含む。家電としては、たとえば、掃除機200、エアコン300、テレビ400、洗濯機、冷蔵庫、炊飯器、空気清浄器、床暖房、IH(Induction Heating)クッキングヒーターなどが挙げられる。なお、家電には、ホームサーバなどのAV機器が含まれてもよい。
複数の家電は、互いにペアリングしており、様々な情報をやり取りする。複数の家電とスマートフォン500A,500B,500Cとがペアリングしてもよい。複数の家電とスマートフォン500A,500B,500Cとは、無線LAN、有線LAN、ルータ、およびインターネットを介して、外部のサーバ100と接続可能である。
<ネットワークシステムの動作概要>
次に、本実施形態に係るネットワークシステム1の動作概要について説明する。はじめに、図1〜図3を参照しながらリビングルームで掃除が開始される際における掃除機200とエアコン300とテレビ400との連携動作について説明する。
図1を参照して、ユーザが掃除機200に向かって「掃除して」と頼むと、掃除機200はインターネットを介してサーバ100から天気予報などの様々な情報を取得する。天気が良い日には、掃除機200は、「わかりました。天気が良いので窓を開けてはいかがですか?」という音声を発する。掃除機200は、天気が悪い日や花粉の量が多いときには、窓を開けるように促さない方が好ましい。
図2を参照して、ユーザが掃除機200に向かって「嫌です。面倒臭いから。」と言うと、掃除機200は、「エアコンさん、掃除をするからイオンを出して。」という音声を発する。エアコン300は、「掃除機さん、わかった。イオンを出すね。」という音声を発する。エアコン300は、イオンの発生を開始してから、「掃除機さん、今イオンを出し始めたよ。」という音声を発する。掃除機200は、「エアコンさん、ありがとう。掃除が終わったら連絡するね。」という音声を発する。
図3を参照して、掃除機200は、「テレビさん、掃除をするから音量を上げて。」という音声を発する。テレビ400は、「掃除機さん、わかった。音量を上げるね。」という音声を発する。テレビ400は、音量を上げると、「掃除機さん、音量を上げたよ。」という音声を発する。掃除機200は、「テレビさん、ありがとう。掃除が終わったら連絡するね。」という音声を発する。
次に、図4を参照しながら、リビングルームで掃除が終了した際における掃除機200とエアコン300とテレビ400の連携動作について説明する。掃除機200は、ユーザに向かって「掃除が終わりました。」という音声を発する。掃除機200は、「エアコンさん、掃除が終わったから、イオンを止めても良いよ。」という音声を発する。エアコン300は、「掃除機さん、OK。じゃあ、止めるね。」という音声を発する。掃除機200は、「エアコンさん、協力してくれてありがとう。」という音声を発する。
掃除機200は、「テレビさん、掃除が終わったから、音量を元に戻して良いよ。」という音声を発する。テレビ400は、「掃除機さん、OK。じゃあ、音量を元に戻すね。」という音声を発する。掃除機200は、「テレビさん、協力してくれてありがとう。」という音声を発する。
次に、図5を参照しながら、ユーザが、イオンの発生を中止させるときの掃除機200とエアコン300の連携動作について説明する。ユーザが、掃除機200に向かって「イオンの発生を止めて。」と命令すると、掃除機200は、「エアコンさん、イオンの発生を止めて。」という音声を発する。エアコン300は、「掃除機さん、OK。イオンの発生を止めるね。」という音声を発する。掃除機200は、「ごめんね、エアコンさん。」という音声を発する。
次に、図6を参照しながら、エアコン300と洗濯機600の連携動作について説明する。洗濯機600が、「洗濯が終わったよ。」という音声を発する。洗濯機600は、インターネットを介してサーバ100から天気予報などの様々な情報を取得する。天気が悪い日や花粉の量が多きときには、洗濯機600は、「エアコンさん、雨が降っているから、部屋干しするかも、ドライ運転にして。」という音声を発する。エアコン300は、「洗濯機さん、了解。ドライ運転にするね。」という音声を発する。洗濯機600は、「エアコンさん、ありがとう。」という音声を発する。
このように、本実施形態にかかるネットワークシステム1では、複数の家電同士が会話をするものであって、すなわち、家電が家電に話しかけるものであって、家電が単にユーザに情報を伝達するだけのものではない。また、家電同士が話している間、ユーザは自分に話しかけられていないように感じるために、逆にユーザは家電に関して人間らしさを感じ易くなる。
さらに、家電(第1の家電)が、自身が受け付けた命令に対応して、または自身の動作に対応して、他の家電(第2の家電)に対する指示を表す音声を出力したりするため、両者の音声を聞いているユーザが、複数の家電の連携方法を認識しやすい。また、当該他の家電(第2の家電)が当該家電(第1の家電)に対する応答を音声によって出力したりするため、両者の音声を聞いているユーザが、複数の家電の連携方法を認識しやすい。つまり、ユーザからの命令を受けていない他の家電(第2の家電)がなぜ急に動作を開始したのかについてユーザが理解できない可能性が低減される。
以下、このような機能を実現するためのネットワークシステム1の各部の具体的な構成について詳述する。
<サーバ100のハードウェア構成>
まず、サーバ100の具体的構成の一態様について説明する。図7は、本実施形態に係るサーバ100のハードウェア構成を表わすブロック図である。図7を参照して、サーバ100は、主たる構成要素として、CPU(Central Processing Unit、単にプロセッサともいう。)110と、メモリ101と、メモリインターフェイス102と、キーボード103と、ディスプレイ104と、通信インターフェイス106と、時計109とを含む。
CPU110は、メモリ101あるいは外部の記憶媒体に記憶されているプログラムを実行することによって、サーバ100の各部を制御する。CPU110は、メモリ101あるいは外部の記憶媒体に記憶されているプログラムを実行することによって、図1〜図6に示す動作および後述する機能および各ステップを実現する。
キーボード103は、ユーザからの命令を受け付けて、当該命令をCPU110に入力する。ディスプレイ104は、CPU110から信号に基づいて、文字や画像を出力する。
なお、キーボード103とディスプレイ104は、タッチパネル105であってもよい。タッチパネル105は、抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式、静電容量方式などのいずれのタイプであってもよい。タッチパネル105は、光センサ液晶を含んでもよい。タッチパネル105は、所定時間毎に外部の物体によるタッチパネル105へのタッチ操作を検知して、タッチ座標(座標)をCPU110に入力する。
メモリ101は、各種のRAM(Random Access Memory)や、各種のROM(Read-Only Memory)などによって実現される。なお、メモリ101は、インターフェイスを介して利用される、USB(登録商標)メモリ、CD、DVD、メモリカード、FD、ハードディスク、磁気テープ、カセットテープ、MO、MD、ICカード、光カード、マスクROM、EPROM、EEPROMなどの記憶媒体などによっても実現される。
メモリ101は、CPU110によって実行されるプログラム、CPU110によるプログラムの実行により生成されたデータ、キーボード103またはタッチパネル105を介して入力されたデータ、後述するデータベースなどを記憶する。
ここで、図8は、本実施形態にかかる制御命令データベース101Aに含まれる情報を示すイメージ図である。図7および図8を参照して、本実施形態に係るメモリ101は、家電に入力され当該家電からサーバ100に伝達される命令と、サーバ100から当該家電および他の家電へと出力される命令と、の対応関係を示す制御命令データベース101Aを格納する。CPU110は、家電に命令が入力された際に、当該命令と当該命令が入力された家電とに基づいて、制御命令データベース101Aを参照して、当該命令に対応する制御データと当該制御データの送信先とを読み出す。CPU110は、通信インターフェイス106を介して、当該送信先に当該制御データを送信する。
なお、図1〜図6の動作概要および図8に示すように、本実施形態においては、掃除機200(第1の家電)が発する指示の中に、エアコン300(第2の家電)を特定するための情報が含まれる。また、エアコン300(第2の家電)が掃除機200(第1の家電)からの指示に対応する動作を完了した際には、掃除機200がエアコン300に対して「ありがとう」「ごめんね」「よろしく」などの謝辞や結語を表す言葉を音声で発するものである。
また、メモリ101は、複数の家庭およびオフィス毎の、当該家庭およびオフィスに属する家電に関する情報(以下、家電情報101Bという。)を格納する。より詳細には、家電情報101Bは、複数の家庭およびオフィス毎に、当該家庭およびオフィスに属する家電の名前とそのIPアドレスとその機能と他の家電とのペアリングの可否と他の家電とのペアリング状態とを含む。CPU110は、これによって、命令が入力された家電とペアリング中である家電を特定することができる。
CPU110は、メモリインターフェイス102を介して外部の記憶媒体に格納されているデータを読み出して、当該データをメモリ101に格納してもよい。逆に、CPU110は、メモリ101からデータを読み出して、メモリインターフェイス102を介して当該データを外部の記憶媒体に格納してもよい。
なお、記憶媒体としては、USBメモリ、CD、DVD、メモリカード、FD、ハードディスク、磁気テープ、カセットテープ、MO、MD、ICカード、光カード、マスクROM、EPROM、EEPROMなどの、不揮発的にプログラムおよびその他のデータを格納する媒体が挙げられる。
通信インターフェイス106は、アンテナやコネクタによって実現される。通信インターフェイス106は、有線通信あるいは無線通信によって他の装置との間でデータをやり取りする。CPU110は、通信インターフェイス106を介して、他の装置から制御データなどのプログラム、画像データ、テキストデータなどを受信したり、他の装置に制御データなどのプログラム、画像データ、テキストデータを送信したりする。
具体的には、CPU110は、通信インターフェイス106を利用することによってインターネットを介して、掃除機200、エアコン300、テレビ400、洗濯機600などの複数の家電と複数のスマートフォン500A,500B,500Cとデータを送受信する。CPU110は、通信インターフェイス106を介して、外部のキーボード130およびディスプレイ140とデータを送受信することもできる。
時計109は、CPU110に、現在時刻を出力したり、所定のタイミングからの経過時間を出力したりする。
<掃除機200のハードウェア構成>
次に、掃除機200の具体的構成の一態様について説明する。図9は、本実施形態に係る掃除機200のハードウェア構成を表わすブロック図である。図9を参照して、掃除機200は、主たる構成要素として、CPU210と、メモリ201と、メモリインターフェイス202と、ボタン203と、ディスプレイ204と、通信インターフェイス206と、スピーカ207と、マイク208と、時計209と、掃除制御回路220とを含む。
CPU210は、メモリ201あるいは外部の記憶媒体に記憶されているプログラムを実行することによって、掃除機200の各部を制御する。CPU210は、メモリ201あるいは外部の記憶媒体に記憶されているプログラムやサーバ100から受信する制御データを実行することによって、図1〜図6に示す動作および後述する機能および各ステップを実現する。
ボタン203は、ユーザからの命令を受け付けて、当該命令をCPU210に入力する。ディスプレイ204は、CPU210から信号に基づいて、文字や画像を出力する。
なお、ボタン203とディスプレイ204は、タッチパネル205であってもよい。タッチパネル205は、抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式、静電容量方式などのいずれのタイプであってもよい。タッチパネル205は、光センサ液晶を含んでもよい。タッチパネル205は、所定時間毎に外部の物体によるタッチパネル205へのタッチ操作を検知して、タッチ座標(座標)をCPU210に入力する。
メモリ201は、各種のRAMや、各種のROMなどによって実現される。なお、メモリ201は、インターフェイスを介して利用される、USBメモリ、CD、DVD、メモリカード、FD、ハードディスク、磁気テープ、カセットテープ、MO、MD、ICカード、光カード、マスクROM、EPROM、EEPROMなどの記憶媒体などによっても実現される。
メモリ201は、CPU210によって実行されるプログラムや、CPU210によるプログラムの実行により生成されたデータ、ボタン203またはタッチパネル205を介して入力されたデータ、サーバ100から受信した制御データなどを記憶する。
CPU210は、メモリインターフェイス202を介して外部の記憶媒体に格納されているデータを読み出して、当該データをメモリ201に格納してもよい。逆に、CPU210は、メモリ201からデータを読み出して、メモリインターフェイス202を介して当該データを外部の記憶媒体に格納してもよい。なお、外部の記憶媒体は、サーバ100のそれと同様であるため、ここでは例示を繰り返さない。
通信インターフェイス206は、アンテナやコネクタによって実現される。通信インターフェイス206は、有線通信あるいは無線通信によって他の装置との間でデータをやり取りする。CPU210は、通信インターフェイス206を介して、他の装置から制御データなどのプログラム、画像データ、テキストデータなどを受信したり、他の装置に制御データなどのプログラム、画像データ、テキストデータを送信したりする。
具体的には、CPU210は、通信インターフェイス206を利用することによってインターネットを介してサーバ100および複数のスマートフォン500A,500B,500Cとデータを送受信する。そして、CPU210は、通信インターフェイス206を利用することによって、直接的に(インターネットを介さずに)、エアコン300・テレビ400・洗濯機600などの複数の他の家電と複数のスマートフォン500A,500B,500Cとデータを送受信することもできる。
スピーカ207は、CPU210からの信号に基づいて、音声を外部に出力する。マイク208は、外部からの音声を信号に変換し、当該信号をCPU210に入力する。
時計209は、CPU210に、現在時刻を出力したり、所定のタイミングからの経過時間を出力したりする。
掃除制御回路220は、CPU210からの信号に基づいて、掃除機200の各部(モータなど)を制御する。
<エアコン300のハードウェア構成>
次に、エアコン300の具体的構成の一態様について説明する。図10は、本実施形態に係るエアコン300のハードウェア構成を表わすブロック図である。図10を参照して、エアコン300は、主たる構成要素として、CPU310と、メモリ301と、メモリインターフェイス302と、ボタン303と、ディスプレイ304(タッチパネル305でもよい。)と、通信インターフェイス306と、スピーカ307と、マイク308と、時計309と、エアコン制御回路320とを含む。
なお、CPU310と、メモリ301と、メモリインターフェイス302と、ボタン303と、ディスプレイ304と、通信インターフェイス306と、スピーカ307と、マイク308と、時計309とは、掃除機200のそれらと同様であるため、ここでは説明を繰り返さない。
エアコン制御回路320は、CPU310からの信号に基づいて、エアコン300の各部(コンプレッサなど)を制御する。
<テレビ400のハードウェア構成>
次に、テレビ400の具体的構成の一態様について説明する。図11は、本実施形態に係るテレビ400のハードウェア構成を表わすブロック図である。図11を参照して、テレビ400は、主たる構成要素として、CPU410と、メモリ401と、メモリインターフェイス402と、ボタン403と、ディスプレイ404(タッチパネル405でもよい。)と、通信インターフェイス406と、スピーカ407と、マイク408と、時計409と、テレビ制御回路420とを含む。
なお、CPU410と、メモリ401と、メモリインターフェイス402と、ボタン403と、ディスプレイ404と、通信インターフェイス406と、スピーカ407と、マイク408と、時計409とは、掃除機200のそれらと同様であるため、ここでは説明を繰り返さない。
テレビ制御回路420は、CPU410からの信号に基づいて、テレビ400の各部(RGB制御回路など)を制御する。
<スマートフォン500A,500B,500Cのハードウェア構成>
次に、スマートフォン500A,500B,500Cの具体的構成の一態様について説明する。図12は、本実施形態に係るスマートフォン500A,500B,500Cのハードウェア構成を表わすブロック図である。図12を参照して、スマートフォン500A,500B,500Cは、主たる構成要素として、CPU510と、メモリ501と、メモリインターフェイス502と、タッチパネル505(ボタン503とディスプレイ504であってもよい。)と、通信インターフェイス506と、スピーカ507と、マイク508と、時計509と、スマホ制御回路520とを含む。
なお、CPU510と、メモリ501と、メモリインターフェイス502と、タッチパネル505(ボタン503とディスプレイ504であってもよい。)と、通信インターフェイス506と、スピーカ507と、マイク508と、時計509とは、図1〜図6に示す動作および後述する機能および各ステップを実現するための主要な構成としては、掃除機200のそれらと同様であるため、ここでは説明を繰り返さない。
スマホ制御回路520は、CPU510からの信号に基づいて、スマートフォン500A,500B,500Cの各部(電話回路など)を制御する。
<洗濯機600のハードウェア構成>
次に、洗濯機600の具体的構成の一態様について説明する。図13は、本実施形態に係る洗濯機600のハードウェア構成を表わすブロック図である。図13を参照して、洗濯機600は、主たる構成要素として、CPU610と、メモリ601と、メモリインターフェイス602と、ボタン603と、ディスプレイ604(タッチパネル605でもよい。)と、通信インターフェイス606と、スピーカ607と、マイク608と、時計609と、洗濯制御回路620とを含む。
なお、CPU610と、メモリ601と、メモリインターフェイス602と、ボタン603と、ディスプレイ604と、通信インターフェイス606と、スピーカ607と、マイク608と、時計609とは、掃除機200のそれらと同様であるため、ここでは説明を繰り返さない。
洗濯制御回路620は、CPU610からの信号に基づいて、洗濯機600の各部(モータなど)を制御する。
<ネットワークシステム1の処理手順>
次に、本実施形態に係るネットワークシステム1における処理手順について説明する。なお、図14は、本実施形態に係るネットワークシステム1における処理手順を示すシーケンス図である。図15は、本実施形態にかかるスマートフォン500A,500B,500Cの表示画面を示すイメージ図である。
図14を参照して、掃除機200のCPU210は、マイク208を介して、ユーザからの音声が入力されたか否かを判断する(ステップS102)。CPU210は、ユーザからの音声が入力された場合(ステップS102にてYESの場合)、ユーザからの命令を認識できるか否かを判断する(ステップS104)。
CPU210は、ユーザからの命令を認識できない場合(ステップS104にてNOの場合)、通信インターフェイス206を介して、入力された音声を示すデータ(たとえば、PCM(pulse code modulation)データ)をサーバ100に送信する(ステップS106)。サーバ100のCPU110は、通信インターフェイス106を介して、掃除機200から音声データを受信する(ステップS107)。サーバ100のCPU110は、受信した音声データに基づいて、ユーザからの命令を認識できるか否かを判断する(ステップS108)。CPU110は、ユーザからの命令を認識できた場合(ステップS108にてYESの場合)、ステップS112からの処理を実行する。
一方、掃除機200のCPU210は、ユーザからの命令を認識できた場合(ステップS104にてYESの場合)、当該命令をサーバ100に送信する(ステップS110)。サーバ100のCPU110は、通信インターフェイス106を介して、掃除機200から命令を受信する(ステップS111)。
サーバ100のCPU110は、入力された命令に基づいて、命令の送信元(ここでは掃除機200)と命令とを、タイムラインのレコードとしてメモリ101に格納する(ステップS112)。CPU110は、通信インターフェイス106を介して、スマートフォン500A,500B,500Cにタイムラインのレコードとしてメッセージを送信する(ステップS114)。
スマートフォン500A,500B,500CのCPU510は、通信インターフェイス506を介してメッセージを受信する(ステップS116)。図15に示すように、CPU510は、タッチパネル505に当該メッセージをタイムラインのレコードとして表示させる。
サーバ100のCPU110は、家電情報101Bを参照して、掃除機200に関連付けられている家電を特定する。たとえば、CPU110は、掃除機200とペアリング中の家電、掃除機200と同じ部屋の家電、または、掃除機200と同じ住所の家電を特定する。ここでは、CPU110は、エアコン300を選択したとする。
CPU110は、通信インターフェイス106を介して、エアコン300との接続を開始する(ステップS118)。エアコン300のCPU310は、通信インターフェイス306を介して、サーバ100との接続を開始する(ステップS120)。このとき、CPU110は、掃除機200とエアコン300とのペアリングを確認したり、両者をペアリングさせたりしてもよい。
CPU110は、メモリ101から、あるいは他のサーバから、各種データ(天気予報など)を取得する(ステップS122)。CPU110は、各種データを参照しながら、制御命令データベース101Aに基づいて、掃除機200が受け付けた命令(第1の家電に対する命令)に応答して動作すべき複数の家電のための一連の制御データ(第2の家電に対する指示)を作成する(ステップS124)。
CPU110は、作成した一連の制御データに基づいて、通信インターフェイス106を介して掃除機200に対する制御データを掃除機200に送信する(ステップS126)。掃除機200のCPU210は、通信インターフェイス206を介してサーバ100から制御データを受信する(ステップS128)。CPU210は、受信した制御データに基づいて、掃除機200の各部を制御する(ステップS130)。CPU210は、制御データに関する制御が完了すると、通信インターフェイス206を介して完了通知をサーバ100に送信する(ステップS132)。サーバ100のCPU110は、通信インターフェイス106を介して完了通知を受信する(ステップS134)。
CPU110は、完了通知に基づいて、制御を完了した家電(ここでは掃除機200)と制御の内容とを、タイムラインのレコードとしてメモリ101に格納する(ステップS136)。CPU110は、通信インターフェイス106を介して、スマートフォン500A,500B,500Cにタイムラインのレコードとしてメッセージを送信する(ステップS138)。
スマートフォン500A,500B,500CのCPU510は、通信インターフェイス506を介してメッセージを受信する(ステップS140)。図15に示すように、CPU510は、タッチパネル505に当該メッセージをタイムラインのレコードとして表示させる。
CPU110は、作成した一連の制御データに基づいて、通信インターフェイス106を介してエアコン300に対する制御データ(第2の家電に対する指示)をエアコン300に送信する(ステップS142)。エアコン300のCPU310は、通信インターフェイス306を介してサーバ100から制御データを受信する(ステップS144)。CPU310は、受信した制御データに基づいて、エアコン300の各部を制御する(ステップS146)。CPU310は、制御データに関する制御が完了すると、通信インターフェイス306を介して完了通知をサーバ100に送信する(ステップS148)。サーバ100のCPU110は、通信インターフェイス106を介して完了通知を受信する(ステップS150)。
CPU110は、完了通知に基づいて、制御を完了した家電(ここではエアコン300)と制御の内容とを、タイムラインのレコードとしてメモリ101に格納する(ステップS152)。CPU110は、通信インターフェイス106を介して、スマートフォン500A,500B,500Cにタイムラインのレコードとしてメッセージを送信する(ステップS154)。
スマートフォン500A,500B,500CのCPU510は、通信インターフェイス506を介してメッセージを受信する(ステップS156)。図15に示すように、CPU510は、タッチパネル505に当該メッセージをタイムラインのレコードとして表示させる。
サーバ100と掃除機200とエアコン300とスマートフォン500A,500B,500Cとは、作成された一連の制御データに基づいて、掃除機200に入力された命令に対応する、掃除機200に対する全ての制御が完了するまでステップS126〜ステップS140の処理を繰り返し、エアコン300に対する全ての制御が完了するまでステップS142〜ステップS156の処理を繰り返す。
<家電の連携動作>
次に、本実施形態に係るネットワークシステム1における複数の家電の連携動作の一例についてより詳しく説明する。具体的には、図14のステップS102にて掃除機200がユーザから「掃除して。」という命令を受け付けた場合における図14のステップS126以降の繰り返しステップ群(連携ステップ)について詳しく説明する。図16は、本実施形態に係るネットワークシステム1における家電の連携動作の一例の処理手順を示すシーケンス図である。
図16を参照して、CPU110は、掃除機200に対する制御データに含まれる時間に達したか否かを判断する(ステップS1261)。具体的には、CPU110は、時計109を参照して、ステップS124で作成した一連の制御データの実行開始時からの経過時間が、制御データに指定される時間に達したか否かを判断する(ステップS1261)。CPU110は、経過時間が制御データに指定される時間に達した場合(ステップS1261にてYESの場合)、通信インターフェイス106を介して掃除機200に対する制御データを送信する(ステップS1262)
CPU210は、通信インターフェイス206を介してサーバ100から制御データを受信する(ステップS1263)。CPU210は、スピーカ207に「わかりました。窓を開けてはいかが?」という音声を発生させる(ステップS1264)。CPU210は、マイク208を介して、ユーザからの音声を待ち受ける(ステップS1265)。
CPU210は、ユーザからの音声(たとえば、「OK!!」または「嫌です。」)が入力されると(ステップS1265にてYESの場合)、通信インターフェイス206を介して当該音声を表す音声データをサーバ100に送信する(ステップS1266)。サーバ100のCPU110は、通信インターフェイス106を介して掃除機200からの音声データを受信する(ステップS1267)。より詳細には、ここでサーバ100およびスマートフォン500A,500B,500Cとは、図14のステップS136〜ステップS140の処理(図15も参照。)を実行するが、説明が煩雑になるためここでは説明を繰り返さない。
CPU110は、ユーザからの音声が肯定的なものである場合(ステップS1268にてYESの場合)、通信インターフェイス106を介して掃除機200に対する次の制御データを送信する(ステップS1269)。掃除機200のCPU210は、通信インターフェイス206を介して、サーバ100から制御データを受信する(ステップS1270)。CPU210は、掃除制御回路220を介して掃除機200の各部を制御することによって掃除を開始する(ステップS1271)。
一方、サーバ100のCPU110は、ユーザからの音声が否定的なものである場合(ステップS1268にてNOの場合)、次の制御(ここでは、図8の制御(1)とする)に移行する。すなわち、CPU110は、経過時間が5秒を経過しているか否かを判断する(ステップS1272)。CPU110は、経過時間が5秒を経過している場合(ステップS1272にてYESの場合)、通信インターフェイス106を介して制御(1)のデータを掃除機200に送信する(ステップS1273)。
掃除機200のCPU210は、通信インターフェイス206を介してサーバ100から制御(1)のデータを受信する(ステップS1274)。CPU210は、スピーカ207に「エアコンさん、掃除をするからイオンを出して。」という音声を発生させる(ステップS1275)。つまり、本実施形態においては、掃除機200(第1の家電)が発する指示の中に、エアコン300(第2の家電)を特定するための情報が含まれる。
CPU210は、音声の発生が完了すると、通信インターフェイス206を介して制御(1)の完了通知をサーバ100に送信する(ステップS1276)。サーバ100のCPU110は、通信インターフェイス106を介して掃除機200から制御(1)の完了通知を受信する(ステップS1277)。より詳細には、ここでサーバ100およびスマートフォン500A,500B,500Cとは、図14のステップS136〜ステップS140の処理(図15も参照。)を実行するが、煩雑になるためここでは説明を繰り返さない。
サーバ100のCPU110は、次の制御(ここでは、図8の制御(2)とする)に移行する。すなわち、CPU110は、経過時間が10秒を経過しているか否かを判断する(ステップS1278)。CPU110は、経過時間が10秒を経過している場合(ステップS1278にてYESの場合)、通信インターフェイス106を介して制御(2)のデータをエアコン300に送信する(ステップS1279)。
エアコン300のCPU310は、通信インターフェイス306を介してサーバ100から制御(2)のデータを受信する(ステップS1280)。CPU310は、スピーカ307に「掃除機さん、わかった。イオンを出すね。」という音声を発生させる(ステップS1281)。CPU310は、音声の発生が完了すると、通信インターフェイス306を介して制御(2)の完了通知をサーバ100に送信する(ステップS1282)。サーバ100のCPU110は、通信インターフェイス106を介してエアコン300から制御(2)の完了通知を受信する(ステップS1283)。より詳細には、ここでサーバ100およびスマートフォン500A,500B,500Cとは、図14のステップS152〜ステップS158の処理(図15も参照。)を実行するが、煩雑になるためここでは説明を繰り返さない。
図16においては、掃除機200に対する1つの制御に関する処理と、エアコン300に対する1つの制御に関する処理とを記載している。しかしながら、サーバ100と掃除機200とエアコン300とスマートフォン500A,500B,500Cとは、掃除機200に入力された命令に対応する、掃除機200に対する全ての(他の複数の)制御が完了するまでステップS1272〜ステップS1277の処理を繰り返し、エアコン300に対する全ての(他の複数の)制御が完了するまでステップS1278〜ステップS1282の処理を繰り返す。
このように、本実施形態にかかるネットワークシステム1では、複数の家電が他の家電に対して話しかけるものであって、家電がユーザに情報を伝達するだけのものではない。また、家電同士が話している間は、ユーザは自分に話しかけられていないように感じるために、ユーザは家電に関してより人間らしさを感じ易くなる。
<第2の実施形態>
上記第1の実施形態においては、ユーザが掃除機200に命令を入力するものであった。しかしながら、ユーザは、スマートフォン500A,500B,500Cに命令を入力することも可能である。たとえば、ユーザは、スマートフォン500Aのマイク508に向かって「掃除して」という音声を入力する。以下、具体的に説明する。
図17を参照して、スマートフォン500AのCPU510は、マイク508を介して、ユーザからの音声が入力されたか否かを判断する(ステップS101)。CPU510は、ユーザからの音声が入力された場合(ステップS101にてYESの場合)、ユーザからの命令を認識できるか否かを判断する(ステップS103)。
CPU510は、ユーザからの命令を認識できない場合(ステップS103にてNOの場合)、通信インターフェイス506を介して、入力された音声を示すデータ(たとえば、PCM(pulse code modulation)データ)をサーバ100に送信する(ステップS105)。サーバ100のCPU110は、通信インターフェイス106を介して、スマートフォン500Aから音声データを受信する(ステップS107)。サーバ100のCPU110は、受信した音声データに基づいて、ユーザからの命令を認識できるか否かを判断する(ステップS108)。CPU110は、ユーザからの命令を認識できた場合(ステップS108にてYESの場合)、ステップS112からの処理を実行する。
一方、スマートフォン500AのCPU510は、ユーザからの命令を認識できた場合(ステップS103にてYESの場合)、当該命令をサーバ100に送信する(ステップS109)。サーバ100のCPU110は、通信インターフェイス106を介して、スマートフォン500Aから命令を受信する(ステップS111)。
サーバ100のCPU110は、入力された命令に基づいて、命令の送信元(ここではスマートフォン500A)と命令とを、タイムラインのレコードとしてメモリ101に格納する(ステップS112)。CPU110は、通信インターフェイス106を介して、スマートフォン500A,500B,500Cにタイムラインのレコードとしてメッセージを送信する(ステップS114)。
これ以降の処理および複数の家電の連携動作の一例については、第1の実施形態のそれらと同様であるため、ここでは説明を繰り返さない。たとえば、掃除機200は、ステップS130において、「解りました」という音声を発生する。あるいは、スマートフォン500Aが、ステップS140において、タイムラインとして、「解りました」という掃除機200のメッセージを表示したり音声を発したりする。
<第3の実施形態>
上記第1の実施形態においては、CPU110は、掃除機200からの完了通知を受け取り、かつ経過時間が制御データに対応付けられた実行時間に達したときに、次の制御に進んでいる。しかしながら、CPU110は、掃除機200からの完了通知を受け取ったときに次の制御に進んでも良い。すなわち、予め制御毎の実行時間が指定されていない形態であってもよい。具体的には、図16において、CPU110は、ステップS1272およびステップS1278の処理を実行しなくてもよい。
<第4の実施形態>
逆に、CPU110は、経過時間に基づいて次の制御に進んでもよい。すなわち、CPU110は、完了通知の受信の有無にかかわらずに、経過時間が実行時間に達したときに次の制御へと進む形態であってもよい。たとえば、図16において、CPU110およびCPU210は、ステップS1276、ステップS1277、ステップS1282、ステップS1283の処理を実行しなくてもよい。
<第5の実施形態>
さらに、以下のような連携方法を採用してもよい。すなわち、エアコン300のCPU310が、マイク308から掃除機200の音声を取得する。CPU310は、当該音声を解析することによって、当該音声の内容と音声出力の完了とを認識する。CPU110は、認識に成功したときに、スピーカ307から音声を出力させ始めてもよい。いずれにしても、掃除機200(第1の家電)が音声を出力し終わった後で、エアコン300(第2の家電)が音声を出力し始めればよい。
<第6の実施形態>
次に、第6の実施形態について説明する。上述の第1〜第5の実施形態に係るネットワークシステム1では、サーバ100が、制御毎に、制御データを対応する家電に送信するものであった。しかしながら、本実施形態においては、サーバ100が、所定の家電に一連の制御データを送信し、当該所定の家電が制御毎に制御データを対応する家電に送信するものであって、第1〜第5の実施形態と比較してサーバ100の役割を低減させたものである。なお、両者は、ユーザから見える家電の動きと、ユーザに聞こえる家電からの音声に関しては同じである。
まず、本実施形態に係るネットワークシステム1の全体構成は、図1〜図6に示す第1の実施形態と同様であるため、ここでは説明を繰り返さない。
また、本実施形態に係るネットワークシステム1の動作概要も、図1〜図6に示す第1の実施形態と同様であるため、ここでは説明を繰り返さない。すなわち、本実施形態にかかるネットワークシステム1も、複数の家電同士が会話をするものであって、家電がユーザに情報を伝達するだけのものではない。
また、サーバ100、掃除機200、エアコン300、テレビ400、洗濯機600、スマートフォン500A,500B,500Cのハードウェア構成については、第1の実施形態のそれと同様であるため、ここでは説明を繰り返さない。
<ネットワークシステム1の処理手順>
以下では、本実施形態に係るネットワークシステム1における処理手順について説明する。図18は、本実施形態に係るネットワークシステム1における処理手順を示すシーケンス図である。なお、図14および図18に示すように、本実施形態におけるステップS202からS216までの処理は、第1の実施形態におけるステップS102からステップS116までの処理と同様であるため、ここでは説明を繰りかえさない。
図18を参照して、CPU110は、通信インターフェイス106を介して、エアコン300との接続を開始するとともに、掃除機200とエアコン300とのペアリングを確認したり、両者をペアリングさせたりする(ステップS218)。すなわち、掃除機200は、エアコン300とのペアリングを確認したり、ペアリングを開始したりする(ステップS219)。エアコン300は、掃除機200とのペアリングを確認したり、ペアリングを開始したりする(ステップS220)。
CPU110は、メモリ101から、あるいは他のサーバから、各種データ(天気予報など)を取得する(ステップS222)。CPU110は、各種データを参照しながら、制御命令データベース101Aに基づいて、掃除機200が受け付けた命令(第1の家電に対する命令)に応答して動作すべき複数の家電のための一連の制御データ(第2の家電に対する指示)を作成する(ステップS224)。
サーバ100のCPU110は、通信インターフェイス106を介して、作成した一連の制御データ(掃除機200に対する命令とエアコン300に対する命令とを含む。)を掃除機200に送信する(ステップS226)。掃除機200のCPU210は、通信インターフェイス206を介してサーバ100から一連の制御データを受信する(ステップS228)。CPU210は、受信した一連の制御データのうちの最初の制御データに基づいて、掃除機200の各部を制御する(ステップS230)。CPU210は、制御データに関する制御が完了すると、通信インターフェイス206を介して完了通知をサーバ100に送信する(ステップS232)。サーバ100のCPU110は、通信インターフェイス106を介して完了通知を受信する(ステップS234)。
CPU110は、完了通知に基づいて、制御を完了した家電(ここでは掃除機200)と制御の内容とを、タイムラインのレコードとしてメモリ101に格納する(ステップS236)。CPU110は、通信インターフェイス106を介して、スマートフォン500A,500B,500Cにタイムラインのレコードとしてメッセージを送信する(ステップS238)。
スマートフォン500A,500B,500CのCPU510は、通信インターフェイス506を介してメッセージを受信する(ステップS240)。図15に示すように、CPU510は、タッチパネル505に当該メッセージをタイムラインのレコードとして表示させる。
掃除機200のCPU210は、一連の制御データに基づいて、通信インターフェイス206を介してエアコン300に対する制御データをエアコン300に送信する(ステップS242)。エアコン300のCPU310は、通信インターフェイス306を介して掃除機200から制御データを受信する(ステップS244)。CPU310は、受信した制御データに基づいて、エアコン300の各部を制御する(ステップS246)。CPU310は、制御データに関する制御が完了すると、通信インターフェイス306を介して完了通知を掃除機200とサーバ100とに送信する(ステップS248)。
サーバ100のCPU110は、通信インターフェイス106を介して完了通知を受信する(ステップS250)。掃除機200のCPU210は、通信インターフェイス206を介して、エアコン300から完了通知を受信する(ステップS252)。なお、エアコン300は、完了通知をサーバ100には送らずに、掃除機200のみに送信してもよい。この場合は、掃除機200のCPU210が、通信インターフェイス206を介して、エアコン300の制御に関する完了通知をサーバ100に送信する。
サーバ100のCPU110は、完了通知に基づいて、制御を完了した家電(ここではエアコン300)と制御の内容とを、タイムラインのレコードとしてメモリ101に格納する(ステップS254)。CPU110は、通信インターフェイス106を介して、スマートフォン500A,500B,500Cにタイムラインのレコードとしてメッセージを送信する(ステップS256)。
スマートフォン500A,500B,500CのCPU510は、通信インターフェイス506を介してメッセージを受信する(ステップS258)。図15に示すように、CPU510は、タッチパネル505に当該メッセージをタイムラインのレコードとして表示させる。
サーバ100と掃除機200とエアコン300とスマートフォン500A,500B,500Cとは、掃除機200に入力された命令に対応する、掃除機200に対する全ての制御が完了するまでステップS230〜ステップS240の処理を繰り返し、エアコン300に対する全ての制御が完了するまでステップS242〜ステップS258の処理を繰り返す。
<家電の連携動作>
次に、本実施形態に係るネットワークシステム1における複数の家電の連携動作の一例についてより詳しく説明する。具体的には、図18のステップS202にて掃除機200がユーザから「掃除して。」という命令を受け付けた場合における図18のステップS226以降の繰り返しステップ群(連携ステップ)について詳しく説明する。図19は、本実施形態に係るネットワークシステム1における家電の連携動作の一例の処理手順を示すシーケンス図である。
図19を参照して、CPU210は、掃除機200に対する制御データに含まれる時間に達したか否かを判断する(ステップS2301)。具体的には、CPU210は、時計209を参照して、ステップS228で受信した一連の制御データの開始からの経過時間が、制御データに指定される時間に達したか否かを判断する。CPU210は、経過時間が制御データに指定される時間に達した場合(ステップS2301にてYESの場合)、スピーカ207に「わかりました。窓を開けてはいかが?」という音声を発生させる(ステップS2302)。CPU210は、マイク208を介して、ユーザからの音声を待ち受ける(ステップS2303)。
CPU210は、ユーザからの音声(たとえば、「OK!!」または「嫌です。」)が入力されると(ステップS2303にてYESの場合)、ユーザからの音声が肯定的なものであるか否かを判断する(ステップS2304)。CPU210は、ユーザからの音声が肯定的なものである場合(ステップS2304にてYESの場合)、掃除制御回路220を介して掃除機200の各部を制御することによって掃除を開始する(ステップS2305)。
一方、CPU210は、ユーザからの音声が否定的なものである場合(ステップS2304にてNOの場合)、次の制御(ここでは、図8の掃除機の掃除開始時の制御(1)とする)に移行する。すなわち、CPU210は、経過時間が5秒を経過しているか否かを判断する(ステップS2306)。CPU210は、経過時間が5秒を経過している場合(ステップS2306にてYESの場合)、スピーカ207に「エアコンさん、掃除をするからイオンを出して。」という音声を発生させる(ステップS2307)。
ここで、詳細には、CPU210は、音声の発生が完了すると、通信インターフェイス206を介して制御(1)の完了通知をサーバ100に送信する。そして、ここでサーバ100およびスマートフォン500A,500B,500Cとは、図18のステップS234〜ステップS240の処理(図15も参照。)を実行する。
CPU210は、次の制御(ここでは、図8の掃除機の掃除開始時の制御(2)とする)に移行する。すなわち、CPU210は、経過時間が10秒を経過しているか否かを判断する(ステップS2308)。CPU210は、経過時間が10秒を経過している場合(ステップS2308にてYESの場合)、通信インターフェイス206を介して制御(2)のデータをエアコン300に送信する(ステップS2309)。
エアコン300のCPU310は、通信インターフェイス306を介して掃除機200から制御(2)のデータを受信する(ステップS2310)。CPU310は、スピーカ307に「掃除機さん、わかった。イオンを出すね。」という音声を発生させる(ステップS2311)。
ここで、詳細には、エアコン300のCPU310は、音声の発生が完了すると、通信インターフェイス306を介して制御(1)の完了通知をサーバ100に送信する。あるいは、掃除機200のCPU210が、エアコン300からの制御(2)の完了通知を受信した際に、制御(2)の完了通知をサーバ100に送信する。そして、サーバ100およびスマートフォン500A,500B,500Cとは、図18のステップS252〜ステップS258の処理(図15も参照。)を実行する。
CPU310は、音声の発生が完了すると、通信インターフェイス306を介して制御(2)の完了通知を掃除機200に送信する(ステップS2312)。掃除機200のCPU210は、通信インターフェイス206を介して、サーバ100から完了通知を受信して、次の制御(ここでは、図8の掃除機の掃除開始時の制御(3)とする)に移行する。
サーバ100と掃除機200とエアコン300とスマートフォン500A,500B,500Cとは、掃除機200に入力された命令に対応する、掃除機200に対する全ての制御が完了するまでステップS2306〜ステップS2307の処理を繰り返し、エアコン300に対する全ての制御が完了するまでステップS2308〜ステップS2313の処理を繰り返す。
このように、本実施形態にかかるネットワークシステム1では、複数の家電が他の家電に対して話しかけるものであって、家電がユーザに情報を伝達するだけのものではない。また、家電同士が話している間は、ユーザは自分に話しかけられていないように感じるために、ユーザは家電に関してより人間らしさを感じ易くなる。
<第7の実施形態>
上記第6の実施形態においては、ユーザが掃除機200に命令を入力するものであった。しかしながら、ユーザは、スマートフォン500A,500B,500Cに命令を入力することも可能である。たとえば、ユーザは、スマートフォン500Aのマイク508に向かって「掃除して」という音声を入力する。以下、具体的に説明する。
図20を参照して、スマートフォン500AのCPU510は、マイク508を介して、ユーザからの音声が入力されたか否かを判断する(ステップS201)。CPU510は、ユーザからの音声が入力された場合(ステップS201にてYESの場合)、ユーザからの命令を認識できるか否かを判断する(ステップS203)。
CPU510は、ユーザからの命令を認識できない場合(ステップS203にてNOの場合)、通信インターフェイス506を介して、入力された音声を示すデータ(たとえば、PCM(pulse code modulation)データ)をサーバ100に送信する(ステップS205)。サーバ100のCPU110は、通信インターフェイス106を介して、スマートフォン500Aから音声データを受信する(ステップS207)。サーバ100のCPU110は、受信した音声データに基づいて、ユーザからの命令を認識できるか否かを判断する(ステップS208)。CPU110は、ユーザからの命令を認識できた場合(ステップS208にてYESの場合)、ステップS212からの処理を実行する。
一方、スマートフォン500AのCPU510は、ユーザからの命令を認識できた場合(ステップS203にてYESの場合)、当該命令をサーバ100に送信する(ステップS209)。サーバ100のCPU110は、通信インターフェイス106を介して、スマートフォン500Aから命令を受信する(ステップS211)。
サーバ100のCPU110は、入力された命令に基づいて、命令の送信元(ここではスマートフォン500A)と命令とを、タイムラインのレコードとしてメモリ101に格納する(ステップS212)。CPU110は、通信インターフェイス106を介して、スマートフォン500A,500B,500Cにタイムラインのレコードとしてメッセージを送信する(ステップS214)。
これ以降の処理および複数の家電の連携動作の一例については、第6の実施形態のそれらと同様であるため、ここでは説明を繰り返さない。たとえば、掃除機200は、ステップS230において、「解りました」という音声を発生する。あるいは、スマートフォン500Aが、ステップS240において、タイムラインとして、「解りました」という掃除機200のメッセージを表示したり音声を発したりする。
<第8の実施形態>
上記第6の実施形態においては、CPU110は、掃除機200からの完了通知を受け取り、かつ経過時間が制御データに対応付けられた実行時間に達したときに、次の制御に進んでいる。しかしながら、CPU110は、掃除機200からの完了通知を受け取ったときに次の制御に進んでも良い。すなわち、予め制御毎の実行時間が指定されていない形態であってもよい。具体的には、図19において、CPU110は、ステップS2306およびステップS2308の処理を実行しなくてもよい。
<第9の実施形態>
逆に、CPU110は、経過時間に基づいて次の制御に進んでもよい。すなわち、CPU110は、完了通知の受信の有無にかかわらずに、経過時間が実行時間に達したときに次の制御に進む形態であってもよい。たとえば、図19において、CPU110およびCPU210は、ステップS2312、ステップS2313の処理を実行しなくてもよい。
<第10の実施形態>
さらに、以下のような連携方法を採用してもよい。すなわち、エアコン300のCPU310が、マイク308から掃除機200の音声を取得する。CPU310は、当該音声を解析することによって、当該音声の内容と音声出力の完了とを認識する。CPU110は、認識に成功したときに、スピーカ307から音声を出力させ始めてもよい。いずれにしても、掃除機200(第1の家電)が音声を出力し終わった後で、エアコン300(第2の家電)が音声を出力し始めればよい。
<第11の実施形態>
次に、第11の実施形態について説明する。上記の第6〜第10の実施形態においては、掃除機200がサーバ100から制御データを受信して、その後、ペアリングを利用して掃除機200が他の家電を制御するものであった。しかしながら、掃除機200以外の家電が、サーバ100から制御データを受信して、その後、ペアリングを利用して当該家電が他の家電を制御してもよい。
<第12の実施形態>
次に、第12の実施形態について説明する。上記の第6〜第10の実施形態において、掃除機200だけでなく、複数の家電がサーバ100から制御データを受信する形態であってもよい。その後、ペアリングを利用して複数の家電同士が状況を伝達し合いながら、当該複数の家電同士で会話を行ってもよい。たとえば、サーバ100が、掃除機200に対する命令をまとめて掃除機200に送信し、エアコン300に対する命令をまとめてエアコン300に送信し、掃除機200とエアコン300とが互いの完了通知に基づいて、制御を進めていってもよい。
当該複数の家電同士で、制御が進むことにより、サーバ100との通信不良が起こっても、機器毎の動作の制御は実行されることとなる。つまり、不慮のサーバダウンや、サーバとの通信不良がおこっても、個々の機器の制御(掃除の完了)が実行されることとなる。
<第13の実施形態>
次に、第13の実施形態について説明する。上述の第1〜第12の実施形態に係るネットワークシステム1では、サーバ100が、制御データを家電に送信するものであった。しかしながら、本実施形態においては、予め少なくとも1つの家電が制御データおよび制御命令データベースを格納しているものであって、第1〜第12の実施形態と比較してサーバ100の役割をさらに低減させたものである。なお、両者は、ユーザから見える家電の動きと、ユーザに聞こえる家電からの音声に関しては同じである。
本実施形態に係るネットワークシステム1の全体構成は、図1〜図6に示す第1の実施形態と同様であるため、ここでは説明を繰り返さない。以下では、天気予報に関する情報やスマートフォン500A,500B,500Cとのやり取りのためにサーバ100を利用する形態に関して説明するが、本実施の形態の要部、すなわち後述する図22のステップS322以降の処理および後に援用する図19に記載の処理など、はサーバ100を全く備えない形態にも適用可能である。
また、本実施形態に係るネットワークシステム1の動作概要も、図1〜図6に示す第1の実施形態と同様であるため、ここでは説明を繰り返さない。すなわち、本実施形態にかかるネットワークシステム1も、複数の家電同士が会話をするものであって、家電がユーザに情報を伝達するだけのものではない。また、家電同士が話している間は、ユーザは自分に話しかけられていないように感じるために、逆にユーザは家電に関して人間らしさを感じ易くなる。以下、このような機能を実現するためのネットワークシステム1の各部の具体的な構成について説明する。
まず、サーバ100のハードウェア構成については、メモリ101に格納されるデータを除いて、第1の実施形態のそれと同様であるため、ここでは説明を繰り返さない。すなわち、本実施形態におけるネットワークシステム1は、第1の実施形態においてサーバ100に格納されていたデータの一部を掃除機200などの家電が格納する点において、第1の実施形態と異なるものである。
次に、掃除機200の具体的構成の一態様について説明する。図21は、本実施形態に係る掃除機200のハードウェア構成を表わすブロック図である。図21を参照して、掃除機200のハードウェア構成については、メモリ201に格納されるデータを除いて、第1の実施形態のそれと同様であるため、当該データ以外に関してはここでは説明を繰り返さない。
本実施形態にかかるメモリ201は、図8に示すような、家電に入力される命令と、当該家電および他の家電へと出力される命令との対応関係を示す制御命令データベース201Aを格納する。また、メモリ201は、家庭またはオフィスに属する家電に関する情報(家電情報201Bという。)を格納する。より詳細には、家電情報201Bは、家庭またはオフィスに属する家電の名前とIPアドレスと機能と家電同士のペアリングの可否と家電同士のペアリング状態とを含む。
エアコン300と、テレビ400と、洗濯機600と、スマートフォン500A,500B,500Cのハードウェア構成は、第1の実施形態のそれらと同様であるため、ここでは説明を繰り返さない。
<ネットワークシステム1の処理手順>
次に、本実施形態に係るネットワークシステム1における処理手順について説明する。なお、図22は、本実施形態に係るネットワークシステム1における処理手順を示すシーケンス図である。
図22を参照して、掃除機200のCPU210は、マイク208を介して、ユーザからの音声が入力されたか否かを判断する(ステップS302)。CPU210は、ユーザからの音声が入力された場合(ステップS302にてYESの場合)、ユーザからの命令を認識できるか否かを判断する(ステップS304)。
CPU210は、ユーザからの命令を認識できた場合(ステップS304にてYESの場合)、当該命令をサーバ100に送信する(ステップS306)。サーバ100のCPU110は、通信インターフェイス106を介して、掃除機200から命令を受信する(ステップS307)。
サーバ100のCPU110は、入力された命令に基づいて、命令の送信元(ここでは掃除機200)と命令とを、タイムラインのレコードとしてメモリ101に格納する(ステップS308)。CPU110は、通信インターフェイス106を介して、スマートフォン500A,500B,500Cにタイムラインのレコードとしてメッセージを送信する(ステップS310)。
スマートフォン500A,500B,500CのCPU510は、通信インターフェイス506を介してメッセージを受信する(ステップS312)。図15に示すように、CPU510は、タッチパネル505に当該メッセージをタイムラインのレコードとして表示させる。
掃除機200のCPU210は、家電情報201Bを参照して、掃除機200に関連付けられている家電を特定する。たとえば、CPU210は、掃除機200とペアリング中の家電、掃除機200と同じ部屋の家電、または、家電情報201Bに登録されている家電を特定する。ここでは、CPU210は、エアコン300を選択したとする。
CPU210は、通信インターフェイス206を介して、エアコン300とのペアリング接続を開始する(ステップS314)。エアコン300のCPU310は、通信インターフェイス306を介して、掃除機200とのペアリング接続を開始する(ステップS314、ステップS316)。
CPU210は、通信インターフェイス206を利用することによって、インターネットを介して、サーバ100に各種データ(天気予報など)を要求する(ステップS318)。サーバ100のCPU110は、通信インターフェイス106を介して各種データを掃除機200に送信する(ステップS320)。
CPU210は、各種データを参照しながら、制御命令データベース201Aに基づいて、掃除機200が受け付けた命令に応答して動作すべき複数の家電の一連の制御データを作成する(ステップS322)。
CPU210は、作成した一連の制御データのうちの1つの制御データに基づいて、掃除機200の各部を制御する(ステップS324)。CPU210は、制御データに関する制御が完了すると、通信インターフェイス206を介して完了通知をサーバ100に送信する(ステップS326)。サーバ100のCPU110は、通信インターフェイス106を介して完了通知を受信する(ステップS328)。
CPU110は、完了通知に基づいて、制御を完了した家電(ここでは掃除機200)と制御の内容とを、タイムラインのレコードとしてメモリ101に格納する(ステップS330)。CPU110は、通信インターフェイス106を介して、スマートフォン500A,500B,500Cにタイムラインのレコードとしてメッセージを送信する(ステップS332)。
スマートフォン500A,500B,500CのCPU510は、通信インターフェイス506を介してメッセージを受信する(ステップS334)。図15に示すように、CPU510は、タッチパネル505に当該メッセージをタイムラインのレコードとして表示させる。
掃除機200のCPU210は、制御データに基づいて、通信インターフェイス206を介してエアコン300に対する命令をエアコン300に送信する(ステップS336)。エアコン300のCPU310は、通信インターフェイス306を介して掃除機200から制御データを受信する(ステップS338)。CPU310は、受信した制御データに基づいて、エアコン300の各部を制御する(ステップS340)。CPU310は、制御データに関する制御が完了すると、通信インターフェイス306を介して完了通知を掃除機200とサーバ100とに送信する(ステップS342)。
サーバ100のCPU110は、通信インターフェイス106を介して完了通知を受信する(ステップS344)。掃除機200のCPU210は、通信インターフェイス206を介して、エアコン300から完了通知を受信する(ステップS346)。なお、エアコン300は、完了通知をサーバ100には送らずに、掃除機200のみに送信してもよい。この場合は、掃除機200のCPU210が、通信インターフェイス206を介して、エアコン300の制御に関する完了通知をサーバ100に送信する。
サーバ100のCPU110は、完了通知に基づいて、制御を完了した家電(ここではエアコン300)と制御の内容とを、タイムラインのレコードとしてメモリ101に格納する(ステップS348)。CPU110は、通信インターフェイス106を介して、スマートフォン500A,500B,500Cにタイムラインのレコードとしてメッセージを送信する(ステップS350)。
スマートフォン500A,500B,500CのCPU510は、通信インターフェイス506を介してメッセージを受信する(ステップS352)。図15に示すように、CPU510は、タッチパネル505に当該メッセージをタイムラインのレコードとして表示させる。
サーバ100と掃除機200とエアコン300とスマートフォン500A,500B,500Cとは、掃除機200に入力された命令に対応する、掃除機200に対する全ての制御が完了するまでステップS324〜334の処理を繰り返し、エアコン300に対する全ての制御が完了するまでステップS336〜ステップS352の処理を繰り返す。
なお、本実施形態に係るネットワークシステム1における複数の家電の連携動作の一例(図19を参照。)については、第6の実施形態と同様であるため、ここでは説明を繰り返さない。
このように、本実施形態にかかるネットワークシステム1では、複数の家電が他の家電に対して話しかけるものであって、家電がユーザに情報を伝達するだけのものではない。また、家電同士が話している間は、ユーザは自分に話しかけられていないように感じるために、ユーザは家電に関してより人間らしさを感じ易くなる。
<第14の実施形態>
上記第13の実施形態においては、ユーザが掃除機200に命令を入力するものであった。しかしながら、ユーザは、スマートフォン500A,500B,500Cに命令を入力することも可能である。たとえば、ユーザは、スマートフォン500Aのマイク508に向かって「掃除して」という音声を入力する。以下、具体的に説明する。
図23を参照して、スマートフォン500AのCPU510は、マイク508を介して、ユーザからの音声が入力されたか否かを判断する(ステップS301)。CPU510は、ユーザからの音声が入力された場合(ステップS301にてYESの場合)、ユーザからの命令を認識できるか否かを判断する(ステップS303)。
CPU510は、ユーザからの命令を認識できない場合(ステップS303にてNOの場合)、ステップS301からの処理を繰り返す。ただし、CPU510は、ユーザからの命令を認識できない場合(ステップS303にてNOの場合)、通信インターフェイス506を介して、入力された音声を示すデータ(たとえば、PCM(pulse code modulation)データ)をサーバ100に送信してもよい。この場合には、第2および第7の実施の形態と同様に、サーバ100が音声解析を行う。
一方、スマートフォン500AのCPU510は、ユーザからの命令を認識できた場合(ステップS303にてYESの場合)、当該命令をサーバ100に送信する(ステップS305)。サーバ100のCPU110は、通信インターフェイス106を介して、スマートフォン500Aから命令を受信する(ステップS307)。
サーバ100のCPU110は、入力された命令に基づいて、命令の送信元(ここではスマートフォン500A)と命令とを、タイムラインのレコードとしてメモリ101に格納する(ステップS308)。CPU110は、通信インターフェイス106を介して、スマートフォン500A,500B,500Cにタイムラインのレコードとしてメッセージを送信する(ステップS310)。
これ以降の処理および複数の家電の連携動作の一例については、第13の実施形態のそれらと同様であるため、ここでは説明を繰り返さない。たとえば、掃除機200は、ステップS324において、「解りました」という音声を発生する。あるいは、スマートフォン500Aが、ステップS334において、タイムラインとして、「解りました」という掃除機200のメッセージを表示したり音声を発したりする。
<第15の実施形態>
上記第13の実施形態においては、CPU110は、掃除機200からの完了通知を受け取り、かつ経過時間が制御データに対応する実行時間に達したときに、次の制御に進んでいる。しかしながら、CPU110は、掃除機200からの完了通知を受け取ったときに次の制御に進んでも良い。すなわち、予め制御毎の実行時間が指定されていない形態であってもよい。図19において、CPU110は、ステップS2306およびステップS2308の処理を実行しなくてもよい。
<第16の実施形態>
逆に、CPU110は、経過時間に基づいて次の制御に進んでもよい。すなわち、CPU110は、完了通知の受信の有無にかかわらずに、経過時間が実行時間に達したときに次の制御に進む形態であってもよい。たとえば、図19において、CPU110およびCPU210は、ステップS2312、ステップS2313の処理を実行しなくてもよい。
<第17の実施形態>
さらに、以下のような連携方法を採用してもよい。すなわち、エアコン300のCPU310が、マイク308から掃除機200の音声を取得する。CPU310は、当該音声を解析することによって、当該音声の内容と音声出力の完了とを認識する。CPU110は、認識に成功したときに、スピーカ307から音声を出力させ始めてもよい。いずれにしても、掃除機200(第1の家電)が音声を出力し終わった後で、エアコン300(第2の家電)が音声を出力し始めればよい。
<第18の実施形態>
上記の第13の実施形態においては、予め掃除機200が制御データおよび制御命令データベース201Aを記憶しており、ペアリングを利用して掃除機200が他の家電を制御するものであった。しかしながら、予め掃除機200以外の家電が制御データおよび制御命令データベース201Aを記憶してもよい。そして、ペアリングを利用して、当該家電が他の家電を制御してもよい。
<第19の実施形態>
上記の第13の実施形態においては、予め掃除機200が制御データおよび制御命令データベース201Aを記憶しており、ペアリングを利用して掃除機200が他の家電を制御するものであった。しかしながら、掃除機200だけでなく、予め複数の家電が制御データおよび制御命令データベース201Aを記憶してもよい。そして、ペアリングを利用して、複数の家電同士が状況を伝達し合いながら、当該複数の家電同士で会話を行ってもよい。たとえば、掃除機200とエアコン300とが互いの完了通知に応じて、自身が記憶している制御データおよび制御命令データベース201Aに基づいて制御を進めていってもよい。
<その他の応用例>
本発明は、システム或いは装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。そして、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の効果を享受することが可能となる。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わる他の記憶媒体に書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
今回開示された実施形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。