(実施の形態1)
以下、本開示の実施の形態に係る制御システムについて、添付図面を参照しながら説明する。本実施の形態に係る制御システムは、機器を制御する制御装置と、制御装置と広域ネットワークを介して接続されたサーバと、を備える。ここで、サーバは、機器が属する局所ネットワーク内において、データリンク層で機器を識別する前記機器に固有の機器識別情報を、局所ネットワーク内において、機器を制御する制御装置をデータリンク層で識別する装置識別情報に対応づける機器テーブル情報を記憶する機器情報記憶部と、機器を制御するための制御パラメータ情報と、機器識別情報と、機器情報記憶部が記憶する機器識別情報に対応する装置識別情報と、を含む制御情報を生成する機器制御部と、制御情報をカプセル化して制御装置を送信先に指定するための第1ヘッダ情報を付加することにより制御通知情報を生成する第1カプセル化部と、第1ヘッダ情報に基づいて、制御通知情報を制御装置へ送信する第1通知情報送信部と、を有する。また、制御装置は、サーバから制御通知情報を受信すると、制御通知情報から第1ヘッダ情報を解除して非カプセル化することにより制御情報を抽出する第1非カプセル化部と、制御情報に含まれる機器識別情報に基づいて、制御情報を機器へ送信する機器電文送信部と、を有する。
本実施の形態に係る制御システムは、図1に示すように、住宅内に設置された被制御機器3と、被制御機器3を制御する制御装置1と、クラウドサーバ2と、を備える。ここで、被制御機器3と制御装置1とは、無線LAN(Local Area Network)のような局所ネットワークNW2を介して通信可能となっている。また、クラウドサーバ2は、インターネットのような広域ネットワークNW1およびブロードバンドルータ(以下、「BBR」と称する。)8を介して通信可能となっている。更に、広域ネットワークNW1には、利用者が所持する端末装置7が接続されている。また、広域ネットワークNW1には、URL(Uniform Resource Locator)情報に含まれるドメイン名情報とそのドメイン名情報が付与されたサーバのIPアドレスとを対応づけて管理するDNS(Domain Name System)サーバ9が接続されている。被制御機器3は、例えば無線モジュールを備える空気調和機であり、局所ネットワークNW2を介してBBR8および制御装置1と通信する。また、被制御機器3は、BBR8に対して接続要求情報を送信することにより、BBR8からIPアドレス情報を取得するアドレス取得部(図示せず)と、アドレス取得部がBBR8から取得したIPアドレス情報を記憶するアドレス記憶部(図示せず)と、を備える。更に、被制御機器3は、BBR8からARP(Address Resolution Protocol)リクエスト情報を取得すると、これに応じて自機に付与されたIPアドレス情報と自機のMACアドレス情報とを含むARPリプライ情報をBBR8へ送信するARP応答部(図示せず)を備える。
端末装置7は、例えばスマートフォンであり、利用者が被制御機器3を操作するためのアプリケーションを起動させた状態で、被制御機器3の動作設定を変更するための操作を行うと、被制御機器3の動作設定の変更を指令する動作設定変更指令情報をクラウドサーバ2へ送信する。DNSサーバ9は、BBR8からDNS問合せ情報を受信すると、DNS問合せ情報に含まれるドメイン名情報に対応するIPアドレス情報を特定し、特定したIPアドレス情報を含むDNS応答情報をBBR8へ送信する。
BBR8は、図2に示すように、プロセッサ801と、メモリ802と、広域通信部806と、局所通信部807と、各部を接続するバス809と、を備える。メモリ802は、例えば半導体メモリのような不揮発性メモリであり、BBR8の各種機能を実現するためのプログラムを記憶する。広域通信部806は、広域ネットワークNW1を介してクラウドサーバ2と通信する。局所通信部807は、例えば無線モジュールを有し、被制御機器3、制御装置1との間で無線通信を行う。ここで、無線モジュールは、無線信号を生成する信号生成回路とアンテナとを有し、例えばデータリンク層がIEEE802.11a,b,g,n等である通信プロトコルで通信する。プロセッサ801は、メモリ802が記憶するプログラムを実行することにより、図3に示すように、通信制御部811、DHCP機能部812、ARPテーブル設定部(以下、「ARPT設定部」と称する。)813およびDNS問合せ部814として機能する。また、図2に示すメモリ802は、図3に示すように、局所ネットワークNW2におけるARPテーブル情報を記憶するARPテーブル記憶部(以下、「ARPT記憶部」と称する。)831を有する。
通信制御部811は、被制御機器3から制御装置1のIPアドレス宛に送信された機器状態情報を受信すると、ARPT記憶部831が記憶するARPテーブル情報に基づいて、受信した機器状態情報を制御装置1へ送信する。また、通信制御部811は、制御装置1から被制御機器3のIPアドレス宛に送信された制御情報を受信すると、受信した制御情報を被制御機器3へ送信する。更に、通信制御部811は、クラウドサーバ2から制御装置1のIPアドレス宛に送信された制御通知情報または準備完了通知情報を受信すると、ARPT記憶部831が記憶するARPテーブル情報に基づいて、受信した制御通知情報または準備完了通知情報を制御装置1へ送信する。また、通信制御部811は、制御装置1からクラウドサーバ2のドメイン名情報を含む状態通知情報を受信すると、状態通知情報からドメイン名情報を抽出してDNS問合せ部814に通知する。そして、通信制御部811は、DNS問合せ部814からDNSサーバ9のIPアドレス情報が通知されると、クラウドサーバ2のドメイン名情報を含むDNS問合せ情報をDNSサーバ9へ送信する。そして、通信制御部811は、DNSサーバ9からクラウドサーバ2のIPアドレス情報を取得すると、制御装置1から取得した状態通知情報のドメイン名情報を、取得したIPアドレス情報に置換してからクラウドサーバ2へ送信する。ここで、状態通知情報についてのトランスポート層の通信プロトコルとしては、TCP(Transmission Control Protocol)のように、UDP(User Datagram Protocol)に比べて信頼性の高い通信プロトコルが採用されている。
DHCP機能部812は、被制御機器3または制御装置1から接続要求情報を受信すると、予め設定された複数のIPアドレスの中から、接続要求情報の送信元の被制御機器3または制御装置1に付与するIPアドレスを特定する。そして、DHCP機能部812は、特定したIPアドレスを示すIPアドレス情報を送信元の被制御機器3または制御装置1へ送信する。詳細には、DHCP機能部812は、被制御機器3または制御装置1から接続要求情報(DHCPディスカバー)を受信すると、被制御機器3または制御装置1に付与するIPアドレスを特定し、特定したIPアドレス情報(DHCPオファー)を被制御機器3または制御装置1へ送信する。その後、DHCP機能部812は、被制御機器3または制御装置1から送信したIPアドレス情報が示すIPアドレスを要求する接続要求情報(DHCPリクエスト)を受信すると、IPアドレス情報(DHCP応答)を被制御機器3または制御装置1へ送信する。
ARPT設定部813は、ARPリクエスト情報を通信制御部811に通知する。このとき、通信制御部811、ARPT設定部813から通知されたARPリクエスト情報を被制御機器3および制御装置1へ送信する。これにより、通信制御部811は、被制御機器3および制御装置1からIPアドレス情報およびMACアドレス情報を含むARPリプライ情報を取得し、取得したARPリプライ情報をARPT設定部813に通知する。ARPT設定部813は、ARPリプライ情報を取得すると、取得したARPリプライ情報に含まれるIPアドレス情報およびMACアドレス情報を抽出しそれらを互いに対応づけてARPT記憶部831に記憶させる。DNS問合せ部814は、通信制御部811からDNS問合せ情報が通知されると、DNSサーバ9のIPアドレス情報を通信制御部811に通知する。
制御装置1は、クラウドサーバ2から取得した制御情報に基づいて、被制御機器3を制御する。制御装置1は、図2に示すように、CPU(Central Processing Unit)101と、主記憶部102と、補助記憶部103と、WPS(Wi-Fi(登録商標) Protected Setup)釦105と、局所通信部107と、各部を接続するバス109と、を備える。主記憶部102は、RAM(Random Access Memory)のような揮発性メモリであり、CPU101の作業領域として使用される。補助記憶部103は、半導体メモリのような不揮発性メモリを有し、ROM(Read Only Memory)、ストレージとして機能し、制御装置1の各種機能を実現するためのプログラムを記憶する。WPS釦105は、例えば制御装置1の筐体の周壁に設けられた押し釦スイッチであり、押下されると、押下されたことを示す信号をCPU101へ出力する。局所通信部107は、例えば無線モジュールを有し、被制御機器3、BBR8との間で無線通信を行う。無線モジュールは、無線信号を生成する信号生成回路とアンテナとを有し、例えばデータリンク層がIEEE802.11a,b,g,n等である通信プロトコルで通信する。
制御装置1では、CPU101が、補助記憶部103が記憶するプログラムを主記憶部102に読み込んで実行することにより、図3に示すように、アドレス取得部111、機器テーブル作成要求部112、機器電文取得部113、カプセル化部114、通知情報送信部115、通知情報取得部116、非カプセル化部117、機器電文送信部118、受付部119およびARP応答部120として機能する。また、図2に示す補助記憶部103は、図3に示すように、アドレス記憶部131と、クラウドURL記憶部132と、を有する。アドレス記憶部131は、BBR8から取得した、制御装置1に付与されたIPアドレスを示すアドレス情報を記憶する。クラウドURL記憶部132は、クラウドサーバ2のドメイン名情報を含むURL情報を記憶する。
受付部119は、WPS釦105を押下する操作が行われると、その操作を受け付けて、その操作を受け付けたことを示す操作情報をアドレス取得部111に通知する。アドレス取得部111は、受付部119から操作情報が通知されると、BBR8に対して接続要求情報を送信することにより、BBR8からアドレス情報を取得し、取得したアドレス情報をアドレス記憶部131に記憶させる。機器テーブル作成要求部112は、クラウドサーバ2との通信を開始する際、クラウドサーバ2に対して機器テーブル情報の作成を要求する機器テーブル作成要求情報を生成してクラウドサーバ2へ送信する。ここで、機器テーブル作成要求部112は、クラウドサーバ2のURL情報をクラウドURL記憶部132から取得し、取得したURL情報に含まれるドメイン名情報を抽出し、抽出したドメイン名情報を含むヘッダ情報が付加された機器テーブル作成要求情報を生成する。また、機器テーブル作成要求部112は、クラウドサーバ2から機器テーブル情報を作成する準備が完了したことを通知する準備完了通知情報を取得すると、取得した準備完了通知情報をカプセル化部114および非カプセル化部117に通知する。ARP応答部120は、BBR8からARPリクエスト情報を取得すると、これに応じて自装置に付与されたIPアドレス情報と自装置のMACアドレス情報とを含むARPリプライ情報をBBR8へ送信する。
機器電文取得部113は、被制御機器3から送信された被制御機器3の機器識別情報であるMACアドレス情報を含む機器電文を取得する。この機器電文は、被制御機器3が局所ネットワークNW2に新たに接続されたことを通知するネットワーク参加通知情報または被制御機器3の状態を示す状態パラメータ情報を含む機器状態情報である。そして、機器電文取得部113は、取得した機器電文をカプセル化部114へ転送する。カプセル化部114は、被制御機器3から取得した機器電文に制御装置1のMACアドレス情報を付加してからカプセル化する第2カプセル化部である。そして、カプセル化部114は、更に、クラウドサーバ2を送信先に指定するためのヘッダ情報を付加することにより状態通知情報を生成する。ここで、ヘッダ情報は、カプセル化部114がクラウドURL記憶部132から取得したクラウドサーバ2のドメイン名情報を含む第2ヘッダ情報である。カプセル化部114は、生成した状態通知情報を通知情報送信部115へ転送する。通知情報送信部115は、カプセル化部114から転送された状態通知情報をクラウドサーバ2へ送信する第2通知情報送信部である。
通知情報取得部116は、クラウドサーバ2から制御装置1を送信先とする制御通知情報を受信すると、受信した制御通知情報を非カプセル化部117へ転送する。ここで、通知情報取得部116が受信する制御通知情報は、制御装置1のIPアドレス情報を含むヘッダ情報が付加されている。また、ヘッダ情報は、制御装置1のIPアドレス情報とともにMACアドレス情報を含む第1ヘッダ情報である。非カプセル化部117は、通知情報取得部116から制御通知情報が転送されると、その制御通知情報からヘッダ情報を解除してから非カプセル化することにより、被制御機器3のMACアドレス情報と制御装置1の装置識別情報であるMACアドレス情報とを含む制御情報を抽出する。機器電文送信部118は、非カプセル化部117により抽出された制御情報に含まれる被制御機器3のMACアドレス情報に基づいて、抽出した制御情報を被制御機器3へ送信する。
図1に戻って、クラウドサーバ2は、制御装置1とBBR8および広域ネットワークNW1を介して接続されている。クラウドサーバ2は、図2に示すように、CPU201と、主記憶部202と、補助記憶部203と、広域通信部206と、各部を接続するバス209と、を備える。CPU201は、例えばマルチコアプロセッサである。主記憶部102は、揮発性メモリであり、CPU201の作業領域として使用される。補助記憶部203は、不揮発性メモリを有し、ROM、ストレージとして機能し、クラウドサーバ2の各種機能を実現するためのプログラムを記憶する。広域通信部206は、広域ネットワークNW1およびBBR8を介して制御装置1と通信する。
クラウドサーバ2では、CPU201が、補助記憶部203が記憶するプログラムを主記憶部202に読み込んで実行することにより、図4に示すように、通知情報取得部211、非カプセル化部212、接続確立部213、機器テーブル作成部214、機器識別情報抽出部215、電文種別判定部216、機器制御部217、カプセル化部218および通知情報送信部219として機能する。また、図2に示す補助記憶部203は、図4に示すように、機器情報記憶部231と、アドレス記憶部232と、を有する。機器情報記憶部231は、局所ネットワークNW2内において、データリンク層で被制御機器3を識別するMACアドレス情報を、局所ネットワークNW2内において、データリンク層で制御装置1を識別するMACアドレス情報に対応づける機器テーブル情報を記憶する。機器情報記憶部231は、例えば図5に示すように、局所ネットワークNW2に属する複数の被制御機器3のMACアドレス情報を、局所ネットワークNW2内の1つの制御装置1のMACアドレス情報に対応付けて記憶する。また、機器情報記憶部231は、制御装置1のMACアドレス情報毎に、複数の被制御機器3それぞれに付与されたIPアドレス情報、被制御機器3の種別を示す機種種別情報および製造者により被制御機器3に付与された識別番号情報の組み合わせを、被制御機器3のMACアドレス情報に対応づけて記憶している。
図4に戻って、アドレス記憶部232は、制御装置1のアドレス情報を記憶している。通知情報取得部211は、制御装置1からクラウドサーバ2のIPアドレス情報を含むヘッダ情報が付加された状態通知情報を取得する。また、通知情報取得部211は、機器テーブル作成要求情報を取得したか否かを判定する。そして、通知情報取得部211は、機器テーブル作成要求情報を取得したと判定すると、取得した機器テーブル作成要求情報を接続確立部213に転送する。接続確立部213は、機器テーブル作成要求情報が転送されると、機器テーブル作成要求情報のヘッダ情報に含まれる制御装置1のIPアドレス情報を抽出し、抽出したIPアドレス情報をアドレス記憶部232に記憶させる。また、通知情報取得部211は、状態通知情報を取得すると、取得した状態通知情報を非カプセル化部212へ転送する。非カプセル化部212は、通知情報取得部211から状態通知情報が転送されると、その状態通知情報を非カプセル化してからヘッダ情報を解除することにより被制御機器3のMACアドレス情報を含む機器電文を抽出する第2非カプセル化部である。非カプセル化部212は、抽出した機器電文を電文種別判定部216に通知する。
電文種別判定部216は、通知情報取得部211が状態通知情報を取得したと判定すると、非カプセル化部212から通知される機器電文のヘッダ情報に含まれる送信先のポート番号情報と送信元のポート番号情報とが予め設定されたポート番号情報と一致するか否かを判定する。そして、電文種別判定部216は、非カプセル化部212から通知される機器電文のヘッダ情報に含まれる送信先のポート番号情報と送信元のポート番号情報とが予め設定されたポート番号情報と一致すると判定すると、機器電文に含まれる後述するサービス識別情報およびプロパティ種別情報に基づいて、機器電文がネットワーク参加通知情報であるか否かを判定する。ここで、ネットワーク参加通知情報は、被制御機器3が局所ネットワークNW2に新たに接続されたことを通知する情報であり、制御装置1および被制御機器3それぞれのMACアドレス情報と、被制御機器3のIPアドレス情報、機器種別情報および識別番号情報と、を含む。そして、電文種別判定部216は、機器電文がネットワーク参加通知情報であると判定すると、当該ネットワーク参加通知情報を機器識別情報抽出部215に通知する。更に、電文種別判定部216は、機器電文が機器状態情報であると判定すると、機器情報記憶部231から、機器状態情報に含まれるMACアドレス情報およびIPアドレス情報に対応する機器種別情報および識別番号情報を取得して、機器状態情報とともに機器制御部217に通知する。
機器識別情報抽出部215は、電文種別判定部216から機器テーブル作成要求情報が通知されると、機器テーブル作成要求情報に含まれる制御装置1のMACアドレス情報を抽出して機器テーブル作成部214に通知する。このとき、機器テーブル作成部214は、機器情報記憶部231が記憶するMACアドレス情報の中に、機器識別情報抽出部215が抽出した制御装置1のMACアドレス情報が存在しない場合、制御装置1に対応する機器テーブル情報の作成を開始する。具体的には、機器テーブル作成部214は、機器識別情報抽出部215から通知されたMACアドレス情報が示すMACアドレスが付与された制御装置1に対応する機器テーブル情報を記憶させるための領域を機器情報記憶部231に確保する。そして、機器テーブル作成部214は、アドレス記憶部232から制御装置1のIPアドレス情報を取得して機器テーブル情報を作成する準備が完了したことを通知する準備完了通知情報を生成し、生成した準備完了通知情報を通知情報送信部219へ転送する。
一方、機器識別情報抽出部215は、電文種別判定部216からネットワーク参加通知情報が通知されると、ネットワーク参加通知情報に含まれる制御装置1および被制御機器3それぞれのMACアドレス情報並びに被制御機器3のIPアドレス情報、機器種別情報および識別番号情報をネットワーク参加通知情報から抽出して機器テーブル作成部214に通知する。このとき、機器テーブル作成部214は、機器識別情報抽出部215から通知された制御装置1のMACアドレス情報に対応する機器テーブル情報に、機器識別情報抽出部215から通知された被制御機器3のMACアドレス情報が存在しない場合、そのMACアドレス情報並びにこれに対応する被制御機器3のIPアドレス情報、機器種別情報および識別番号情報を追加する形で機器テーブル情報を更新する。
機器制御部217は、被制御機器3を制御するための制御パラメータ情報と、制御対象となる被制御機器3のMACアドレス情報と、機器情報記憶部231が記憶する制御対象の被制御機器3のMACアドレス情報に対応する制御装置1のMACアドレス情報と、を含む制御情報を生成する。ここで、機器制御部217は、非カプセル化部212から通知される機器状態情報或いは端末装置7から動作変更指令情報を受信したか否かに基づいて、その機器状態情報に対応する被制御機器3の動作設定の変更が必要か否かを判定する。そして、機器制御部217は、被制御機器3の動作設定の変更が必要であると判定すると、前述の制御情報を生成し、生成した制御情報をカプセル化部218に通知する。
カプセル化部218は、機器制御部217から通知された制御情報をカプセル化して制御装置1を送信先に指定するためのヘッダ情報を付加することにより制御通知情報を生成する第1カプセル化部である。ここで、ヘッダ情報は、カプセル化部218がアドレス記憶部232から取得した制御装置1のIPアドレス情報および機器情報記憶部231から取得した制御装置1のMACアドレス情報を含む第1ヘッダ情報である。また、制御通知情報についてのトランスポート層の通信プロトコルとしては、TCPのように、UDPに比べて信頼性の高い通信プロトコルが採用されている。通知情報送信部219は、カプセル化部218が生成した制御通知情報を、そのヘッダ情報に基づいて、制御装置1へ送信する第1通知情報送信部である。また、通知情報送信部219は、機器テーブル作成部214から準備完了通知情報が転送されると、その準備完了通知情報を制御装置1へ送信する。
次に、本実施の形態に係る制御システムの動作について図6から図13を参照しながら説明する。まず、図6に示すように、利用者が制御装置1を局所ネットワークに接続できる場所に配置してからWPS釦105を押下する操作をしたとする。そうすると、BBR8に対して接続を要求する接続要求情報が、制御装置1からBBR8へ送信される(ステップS1)。一方、BBR8は、制御装置1から送信された接続要求情報を受信すると、接続要求情報の送信元の制御装置1に付与するIPアドレスを、予め設定された複数のIPアドレスの中から特定する(ステップS2)。次に、特定したIPアドレスを示すIPアドレス情報が、BBR8から制御装置1へ送信される(ステップS3)。このとき、制御装置1は、BBR8から取得したIPアドレス情報をアドレス記憶部131に記憶させる。なお、制御装置1がIPアドレス情報をアドレス記憶部131に記憶した後、制御装置1に対してMACアドレス情報を要求するARPリクエスト情報が、BBR8から制御装置1へ送信されると、制御装置1のMACアドレス情報とIPアドレス情報とを含むARPリプライ情報が、制御装置1からBBR8へ送信される。そして、BBR8は、ARPリプライ情報を受信すると、受信したARPリプライ情報に含まれる制御装置1のMACアドレス情報とIPアドレス情報とを用いてARPT記憶部831が記憶するARPテーブル情報を更新する。
続いて、制御装置1が、クラウドサーバ2に対して機器テーブル情報の作成を要求する機器テーブル作成要求情報を生成する(ステップS4)。その後、生成された機器テーブル作成要求情報が、制御装置1からBBR8へ送信された後(ステップS5)、BBR8からクラウドサーバ2へ送信される(ステップS6)。ここにおいて、BBR8は、機器テーブル作成要求情報を受信すると、受信した機器テーブル作成要求情報からドメイン名情報を抽出し、抽出したドメイン名情報を含むDNS問合せ情報を生成してDNSサーバ9へ送信する。そして、BBR8は、DNSサーバ9からクラウドサーバ2のIPアドレス情報を受信すると、機器テーブル作成要求情報に含まれるドメイン名情報を、受信したIPアドレス情報に置換してからクラウドサーバ2へ送信する。ここで、クラウドサーバ2が取得する機器テーブル作成要求情報は、図7に示すように、ペイロードに制御装置1のMACアドレス情報MACA1のみが含まれており、そのヘッダ情報にはクラウドサーバ2のIPアドレス情報IPA2が含まれている。
図6に戻って、一方、クラウドサーバ2は、BBR8から送信された機器テーブル作成要求情報を取得すると、機器テーブル作成要求情報から制御装置1のMACアドレス情報を抽出する。その後、クラウドサーバ2が、機器情報記憶部231が記憶するMACアドレス情報の中に、機器テーブル作成要求情報に含まれる制御装置1のMACアドレス情報が存在しないと判定したとする(ステップS7)。この場合、クラウドサーバ2は、前述のように制御装置1に対応する機器テーブル情報の作成を開始する(ステップS8)。次に、機器テーブル情報を作成する準備が完了したことを通知する準備完了通知情報が、クラウドサーバ2からBBR8へ送信された後(ステップS9)、BBR8から制御装置1へ送信される(ステップS10)。
続いて、利用者が被制御機器3を新たに局所ネットワークNW2に接続させるための被制御機器接続操作を行ったとする。ここで、被制御機器接続操作は、例えば被制御機器3がWPS釦を備える場合、WPS釦を押下する操作に相当する。この場合、被制御機器3からBBR8へ接続要求情報が送信される(ステップS11)。一方、BBR8は、被制御機器3から送信された接続要求情報を受信すると、接続要求情報の送信元の被制御機器3に付与するIPアドレスを、予め設定された複数のIPアドレスの中から特定する(ステップS12)。その後、特定したIPアドレスを示すIPアドレス情報が、BBR8から被制御機器3へ送信される(ステップS13)。このとき、被制御機器3は、BBR8から取得したIPアドレス情報を自機が備えるアドレス記憶部に記憶させる。なお、被制御機器3がIPアドレス情報をアドレス記憶部に記憶した後、被制御機器3に対してMACアドレス情報を要求するARPリクエスト情報が、BBR8から被制御機器3へ送信されると、被制御機器3のMACアドレス情報とIPアドレス情報とを含むARPリプライ情報が、被制御機器3からBBR8へ送信される。そして、BBR8は、ARPリプライ情報を受信すると、受信したARPリプライ情報に含まれる被制御機器3のMACアドレス情報とIPアドレス情報とを用いてARPT記憶部831が記憶するARPテーブル情報を更新する。
次に、図8に示すように、被制御機器3が局所ネットワークNW2に新たに接続されたことを通知するネットワーク参加通知情報が、被制御機器3からBBR8へ送信された後(ステップS14)、BBR8から制御装置1へ送信される(ステップS15)。ここで、ネットワーク参加通知情報は、例えば図9に示すように、送信元の被制御機器3のMACアドレス情報と、送信元の被制御機器3のIPアドレス情報と、送信先のBBR8のMACアドレス情報と、送信先のIPアドレス情報と、EchonetLite規格に適合した電文(EL電文)と、を含む。送信先のIPアドレス情報は、ネットワーク参加通知情報を、制御装置1および他の被制御機器3へマルチキャストする場合に採用されるマルチキャストアドレスに設定されている。また、ネットワーク参加通知情報のトランスポート層プロトコルとして、UDPが採用されており、ヘッダ情報には、送信先の制御装置1のポート番号情報と送信元の被制御機器3のポート番号情報とが含まれている。更に、EL電文は、ヘッダ情報EHD1、EHD2と、トランザクション識別情報TIDと、機器種別情報SEOJと、送信先オブジェクト情報DEOJと、サービス識別情報ESVと、処理プロパティ数情報OPCと、プロパティ種別情報EPCと、プロパティバイト数情報PDCと、プロパティ情報EDTと、を含む。そして、ネットワーク参加通知情報では、サービス識別情報ESVが「INF」に設定され、プロパティ種別情報EPCが、インスタンスリスト通知を示す「0xD5」に設定されている。
一方、制御装置1は、ネットワーク参加通知情報を取得すると、ネットワーク参加通知情報に制御装置1のMACアドレス情報を付加してカプセル化するカプセル化処理を実行する(ステップS16)。更に、制御装置1は、クラウドサーバ2を送信先に指定するためのヘッダ情報を付加する。これにより、例えば図10に示すように、ネットワーク参加通知情報に、宛先IPアドレスとしてクラウドサーバ2のIPアドレス情報IPA2を含むヘッダ情報が付加されてなる状態通知情報が生成される。図8に戻って、続いて、生成された状態通知情報が、制御装置1からBBR8へ送信された後(ステップS17)、BBR8からクラウドサーバ2へ送信される(ステップS18)。ここにおいて、BBR8は、状態通知情報を受信すると、受信したネットワーク参加通知情報からドメイン名情報を抽出し、抽出したドメイン名情報を含むDNS問合せ情報を生成してDNSサーバ9へ送信する。そして、BBR8は、DNSサーバ9からクラウドサーバ2のIPアドレス情報を受信すると、状態通知情報に含まれるドメイン名情報を、受信したIPアドレス情報に置換してからクラウドサーバ2へ送信する。
一方、クラウドサーバ2は、BBR8から送信された状態通知情報を受信すると、状態通知情報からヘッダ情報を解除して非カプセル化する非カプセル化処理を実行する(ステップS19)。これにより、クラウドサーバ2は、状態通知情報からネットワーク参加通知情報を抽出する。次に、クラウドサーバ2は、ネットワーク参加通知情報に含まれる送信先の制御装置1のポート番号情報と送信元の被制御機器3のポート番号情報とが予め設定されたポート番号情報と一致したと判定したとする(ステップS20)。そして、クラウドサーバ2が、ネットワーク参加通知情報のEL電文に含まれるサービス識別情報ESVが「INF」に設定され、プロパティ種別情報EPCが、インスタンスリスト通知を示す「0xD5」に設定されていると判定したとする。即ち、クラウドサーバ2がBBR8から取得した状態通知情報に含まれる電文がネットワーク参加通知情報であると判定したとする(ステップS21)。この場合、クラウドサーバ2は、ネットワーク参加通知情報に含まれる送信元の被制御機器3のMACアドレス情報、IPアドレス情報、機器種別情報SEOJ、プロパティ情報EDTに含まれる識別番号情報を抽出する。そして、クラウドサーバ2は、抽出した被制御機器3のMACアドレス情報、IPアドレス情報、機器種別情報SEOJおよび識別番号情報を用いて、機器情報記憶部231が記憶する機器テーブル情報を更新する(ステップS22)。
続いて、被制御機器3が、局所ネットワークNW2に接続された後、被制御機器3の状態を示す機器状態情報を生成すると(ステップS23)、生成された機器状態情報が、被制御機器3からBBR8へ送信された後(ステップS24)、BBR8から制御装置1へ送信される(ステップS25)。一方、制御装置1は、機器状態情報を取得すると、機器状態情報をカプセル化するカプセル化処理を実行するとともに(ステップS26)、クラウドサーバ2を送信先に指定するためのヘッダ情報を付加する。これにより、機器状態情報に、宛先IPアドレスとしてクラウドサーバ2のIPアドレス情報を含むヘッダ情報が付加されてなる状態通知情報が生成される。
その後、図11に示すように、生成された状態通知情報が、制御装置1からBBR8へ送信された後(ステップS27)、BBR8からクラウドサーバ2へ送信される(ステップS28)。一方、クラウドサーバ2は、BBR8から送信された状態通知情報を受信すると、状態通知情報からヘッダ情報を解除して非カプセル化処理を実行する(ステップS29)。これにより、クラウドサーバ2は、状態通知情報から機器状態情報を抽出する。次に、クラウドサーバ2は、機器状態情報に含まれる送信先の制御装置1のポート番号情報と送信元の被制御機器3のポート番号情報とが予め設定されたポート番号情報と一致したと判定したとする(ステップS30)。そして、クラウドサーバ2が、機器状態情報が示す被制御機器3の状態に基づいて、被制御機器3の設定変更が必要と判定したとする(ステップS31)。この場合、クラウドサーバ2は、設定変更が必要と判定した被制御機器3の設定を変更するための制御情報を生成する(ステップS32)。続いて、クラウドサーバ2は、生成した制御情報をカプセル化するカプセル化処理を実行するとともに(ステップS33)、制御装置1を送信先に指定するためのヘッダ情報を付加する。これにより、例えば図12に示すように、制御情報に、宛先IPアドレスとして制御装置1のIPアドレス情報IPA1を含むヘッダ情報が付加されてなる制御通知情報が生成される。
その後、生成された制御通知情報が、クラウドサーバ2からBBR8へ送信された後(ステップS34)、BBR8から制御装置1へ送信される(ステップS35)。一方、制御装置1は、BBR8から送信された制御通知情報を受信すると、制御通知情報からヘッダ情報を解除して非カプセル化する非カプセル化処理を実行する(ステップS36)。これにより、制御装置1は、制御通知情報から制御情報を抽出する。ここで、制御情報は、例えば図13に示すように、送信元の制御装置1のMACアドレス情報MACA1と、送信元の制御装置1のIPアドレス情報IPA1と、送信先の被制御機器3のMACアドレス情報MACA3と、送信先の被制御機器3のIPアドレス情報IPA3と、被制御機器3に対する制御内容を示すEL電文と、を含む。
図11に戻って、次に、制御通知情報から抽出された制御情報が、制御装置1からBBR8に送信された後(ステップS37)、制御情報に含まれる被制御機器3のMACアドレス情報に対応する被制御機器3へ送信される(ステップS38)。続いて、被制御機器3は、制御情報を取得すると、取得した制御情報に基づいて、動作設定を更新する(ステップS39)。その後、被制御機器3において動作設定の更新が完了したことを通知する更新完了通知情報が、被制御機器3からBBR8へ送信された後(ステップS40)、BBR8から制御装置1へ送信される(ステップS41)。
一方、制御装置1は、更新完了通知情報を取得すると、更新完了通知情報をカプセル化するカプセル化処理を実行するとともに(ステップS42)、クラウドサーバ2を送信先に指定するためのヘッダ情報を付加する。これにより、更新完了通知情報に、宛先IPアドレスとしてクラウドサーバ2のIPアドレス情報を含むヘッダ情報が付加されてなる状態通知情報が生成される。次に、生成された状態通知情報が、制御装置1からBBR8へ送信された後(ステップS43)、BBR8からクラウドサーバ2へ送信される(ステップS44)。
次に、本実施の形態に係る制御装置1が実行する制御装置制御処理について図14を参照しながら説明する。この制御装置制御処理は、例えば制御装置1へ電源が投入され、制御装置1が局所ネットワークNW2に接続可能な場所に配置されたことを契機として開始される。まず、受付部119は、利用者によるWPS釦105を押下する操作があったか否かを判定する(ステップS101)。受付部119は、WPS釦105を押下する操作が無い限り(ステップS101:No)、ステップS101の処理を繰り返し実行する。
一方、受付部119は、利用者によりWPS釦105を押下する操作がなされたと判定すると(ステップS101:Yes)、その操作を受け付けたことを示す操作情報をアドレス取得部111に通知する。そして、アドレス取得部111は、BBR8に対して接続要求情報を送信することにより(ステップS102)、BBR8からIPアドレス情報を取得し、取得したIPアドレス情報をアドレス記憶部131に記憶させる(ステップS103)。次に、機器テーブル作成要求部112は、クラウドサーバ2との通信を開始する際、クラウドサーバ2に対して機器テーブル情報の作成を要求する機器テーブル作成要求情報を生成する(ステップS104)。ここで、機器テーブル作成要求部112は、クラウドサーバ2のURL情報をクラウドURL記憶部132から取得し、取得したURL情報に含まれるドメイン名情報を抽出し、抽出したドメイン名情報を含むヘッダ情報が付加された機器テーブル作成要求情報を生成する。続いて、機器テーブル作成要求部112は、生成した機器テーブル作成要求情報をそのヘッダ情報に基づいてクラウドサーバ2へ送信する(ステップS105)。
その後、機器テーブル作成要求部112は、クラウドサーバ2からBBR8を介して機器テーブル情報を作成する準備が完了したことを通知する準備完了通知情報を取得すると、取得した準備完了通知情報をカプセル化部114および非カプセル化部117に通知する(ステップS106)。
次に、機器電文取得部113は、被制御機器3から送信された被制御機器3のMACアドレス情報を含む機器電文を取得したか否かを判定する(ステップS107)。この機器電文は、被制御機器3から送信されたネットワーク参加通知情報、機器状態情報または更新完了通知情報に相当する。機器電文取得部113が、被制御機器3から送信された電文を取得していないと判定すると(ステップS107:No)、後述するステップS110の処理が実行される。一方、機器電文取得部113は、被制御機器3から送信された機器電文を取得したと判定すると(ステップS107:Yes)、取得した電文をカプセル化部114へ転送する。そして、カプセル化部114は、被制御機器3から取得した電文をカプセル化するカプセル化処理を実行する(ステップS108)。ここで、カプセル化部114は、カプセル化された電文にクラウドサーバ2を送信先に指定するためのヘッダ情報を付加する。具体的には、カプセル化部114は、クラウドサーバ2のURL情報をクラウドURL記憶部132から取得し、取得したURL情報に含まれるドメイン名情報を抽出し、抽出したドメイン名情報を含むヘッダ情報をカプセル化された電文に付加することにより状態通知情報を生成する。続いて、通知情報送信部115は、カプセル化部114が生成した状態通知情報を、そのヘッダ情報に基づいて、クラウドサーバ2へ送信する(ステップS109)。
その後、通知情報取得部116は、クラウドサーバ2から制御装置1を送信先とする制御通知情報を取得したか否かを判定する(ステップS110)。通知情報取得部116が、クラウドサーバ2から送信された制御通知情報を取得していないと判定すると(ステップS110:No)、再びステップS107の処理が実行される。一方、通知情報取得部116はクラウドサーバ2から送信された制御通知情報を取得したと判定すると(ステップS110:Yes)、取得した制御通知情報を非カプセル化部117へ転送する。そして、非カプセル化部117は、通知情報取得部116から制御通知情報が転送されると、その制御通知情報からヘッダ情報を解除して非カプセル化する非カプセル化処理を実行する(ステップS111)。ここで、非カプセル化部117は、非カプセル化処理を実行することにより、被制御機器3のMACアドレス情報と制御装置1のMACアドレス情報とを含む制御情報を抽出する。次に、機器電文送信部118は、非カプセル化部117により抽出された制御情報に含まれる被制御機器3のMACアドレス情報に基づいて、制御装置1のMACアドレス情報を含む制御情報を被制御機器3へ送信する(ステップS112)。続いて、再びステップS107の処理が実行される。
次に、本実施の形態に係るクラウドサーバ2が実行するクラウドサーバ制御処理について図15を参照しながら説明する。このクラウドサーバ制御処理は、例えばクラウドサーバ2において、制御装置1として機能するためのアプリケーションが起動したことを契機として開始される。まず、通知情報取得部211は、制御装置1からクラウドサーバ2宛の機器テーブル作成要求情報を取得したか否かを判定する(ステップS201)。通知情報取得部211が、機器テーブル作成要求情報を取得していないと判定すると(ステップS201:No)、後述するステップS205の処理が実行される。
一方、通知情報取得部211は、機器テーブル作成要求情報を取得したと判定すると(ステップS201:Yes)、取得した機器テーブル作成要求情報を接続確立部213に転送する。そして、接続確立部213は、機器テーブル作成要求情報が転送されると、機器テーブル作成要求情報のヘッダ情報に含まれる制御装置1のIPアドレス情報を抽出し、抽出したIPアドレス情報をアドレス記憶部232に記憶させる。また、接続確立部213は、機器テーブル作成要求情報に含まれる制御装置1のMACアドレス情報を抽出して機器テーブル作成部214に通知する。
このとき、機器テーブル作成部214は、機器情報記憶部231が記憶するMACアドレス情報の中に、制御装置1のMACアドレス情報が存在するか否か判定する(ステップS202)。ここで、機器テーブル作成部214が、機器情報記憶部231が記憶するMACアドレス情報の中に、制御装置1のMACアドレス情報が存在すると判定すると(ステップS202:Yes)、後述するステップS207の処理が実行される。一方、機器テーブル作成部214が、機器情報記憶部231が記憶するMACアドレス情報の中に、制御装置1のMACアドレス情報が存在しないと判定すると(ステップS202:No)、制御装置1に対応する機器テーブル情報の作成を開始する(ステップS203)。そして、機器テーブル作成部214は、アドレス記憶部232から制御装置1のIPアドレス情報を取得して機器テーブル情報を作成する準備が完了したことを通知する準備完了通知情報を生成して通知情報送信部219へ転送する。そして、通知情報送信部219は、機器テーブル作成部214から転送された準備完了通知情報を制御装置1へ送信する(ステップS204)。
次に、通知情報取得部211は、制御装置1からクラウドサーバ2宛の状態通知情報を取得したか否かを判定する(ステップS205)。通知情報取得部211が、クラウドサーバ2宛の状態通知情報を取得していないと判定すると(ステップS205:No)、再びS201の処理が実行される。一方、通知情報取得部211は、クラウドサーバ2宛の状態通知情報を取得したと判定すると(ステップS205:Yes)、取得した状態通知情報を非カプセル化部212へ転送する。そして、非カプセル化部212は、通知情報取得部211から転送された状態通知情報のヘッダ情報を解除して非カプセル化する非カプセル化処理を実行する(ステップS206)。そして、非カプセル化部212は、非カプセル化処理を実行することにより状態通知情報から抽出した機器電文を電文種別判定部216に通知する。
一方、電文種別判定部216は、非カプセル化部212から通知される機器電文のヘッダ情報に含まれる送信先のポート番号情報と送信元のポート番号情報とが予め設定されたポート番号情報と一致するか否かを判定する(ステップS207)。ここで、電文種別判定部216は、非カプセル化部212から通知される機器電文のヘッダ情報に含まれる送信先のポート番号情報と送信元のポート番号情報とが予め設定されたポート番号情報と一致しないと判定すると(ステップS207:No)、再びステップS201の処理が実行される。一方、電文種別判定部216は、非カプセル化部212から通知される機器電文の送信先のポート番号情報と送信元のポート番号情報とが予め設定されたポート番号情報と一致すると判定すると(ステップS207:Yes)、電文に含まれる後述するサービス識別情報およびプロパティ種別情報に基づいて、機器電文がネットワーク参加通知情報であるか否かを判定する(ステップS208)。ここで、電文種別判定部216は、機器電文が機器状態情報であると判定すると(ステップS208:No)、その機器状態情報を機器制御部217に通知する(ステップS209)。このとき、電文種別判定部216は、機器情報記憶部231から、機器状態情報に含まれるMACアドレス情報およびIPアドレス情報に対応する機器種別情報および識別番号情報を取得して、機器状態情報とともに機器制御部217に通知する。続いて、後述するステップS211の処理が実行される。
一方、電文種別判定部216は、電文がネットワーク参加通知情報であると判定すると(ステップS208:Yes)、当該ネットワーク参加通知情報を機器識別情報抽出部215に通知する。また、機器識別情報抽出部215は、ネットワーク参加通知情報に含まれる制御装置1および被制御機器3それぞれのMACアドレス情報並びに被制御機器3のIPアドレス情報、機器種別情報および識別番号情報をネットワーク参加通知情報から抽出して機器テーブル作成部214に通知する。そして、機器テーブル作成部214は、機器識別情報抽出部215から通知された制御装置1および被制御機器3それぞれのMACアドレス情報並びに被制御機器3のIPアドレス情報、機器種別情報および識別番号情報に基づいて、機器情報記憶部231が記憶する機器テーブル情報を更新する(ステップS210)。ここで、機器テーブル作成部214は、機器識別情報抽出部215から通知された制御装置1のMACアドレス情報に対応する機器テーブル情報に、機器識別情報抽出部215から通知された被制御機器3のMACアドレス情報が存在しない場合、そのMACアドレス情報並びにこれに対応する被制御機器3のIPアドレス情報、機器種別情報および識別番号情報を追加する形で機器テーブル情報を更新する。
その後、機器制御部217は、非カプセル化部212から通知される機器状態情報または端末装置7から動作設定変更指令情報を受信したか否かに基づいて、その機器状態情報に対応する被制御機器3について動作設定の変更が必要か否かを判定する(ステップS211)。ここで、機器制御部217は、非カプセル化部212から通知される機器状態情報に含まれる状態パラメータ情報が示す被制御機器3の状態またはその環境を改善する必要があると判定すると、被制御機器3の動作設定を変更する必要があると判定する。また、機器制御部217は、端末装置7から動作設定変更指令情報を受信した場合、被制御機器3の動作設定を変更する必要があると判定する。機器制御部217が、被制御機器3について動作設定の変更が不要と判定すると(ステップS211:No)、再びステップS201の処理が実行される。一方、機器制御部217が、被制御機器3について動作設定の変更が必要と判定したとする(ステップS211:Yes)。この場合、機器制御部217は、被制御機器3を制御するための制御パラメータ情報と、制御対象となる被制御機器3のMACアドレス情報と、機器情報記憶部231が記憶する制御対象の被制御機器3のMACアドレス情報に対応する制御装置1のMACアドレス情報と、を含む制御情報を生成する(ステップS212)。そして、機器制御部217は、生成した制御情報をカプセル化部218に通知する。
次に、カプセル化部218は、機器制御部217から通知された制御情報をカプセル化するカプセル化処理を実行する(ステップS213)。そして、カプセル化部218は、制御情報をカプセル化してなる電文に制御装置1を送信先に指定するためのヘッダ情報を付加することにより制御通知情報を生成する。そして、カプセル化部218は、生成した制御通知情報を通知情報送信部219へ転送する。続いて、通知情報送信部219は、カプセル化部218が生成した制御通知情報を、そのヘッダ情報に基づいて、制御装置1へ送信する(ステップS214)。その後、再びステップS201の処理が実行される。
以上説明したように、本実施の形態に係る制御システムによれば、クラウドサーバ2が、局所ネットワークNW2内において、データリンク層で被制御機器3を識別するMACアドレス情報を、局所ネットワークNW2内において、データリンク層で制御装置1を識別するMACアドレス情報に対応づけて記憶する機器情報記憶部231を有する。そして、クラウドサーバ2は、制御パラメータ情報と、被制御機器3のMACアドレス情報と、機器情報記憶部231が記憶する制御装置1のMACアドレス情報と、を含む制御情報をカプセル化することにより生成される制御通知情報を制御装置1へ送信する。そして、制御装置1は、制御通知情報を受信すると、受信した制御通知情報を非カプセル化することにより、制御情報を抽出し、抽出した制御情報をその制御情報に含まれる被制御機器3のMACアドレス情報に基づいて、被制御機器3へ送信する。これにより、局所ネットワークNW2において、被制御機器3に付与されたIPアドレスが変更された場合、そのIPアドレス情報を取得しなくても、制御情報を、制御情報に含まれるMACアドレス情報で識別される被制御機器3へ適切に送信することができる。
ところで、近年では、被制御機器3を制御するための制御装置は、エコーネットコンソーシアムが策定したEchonet Lite規格に適合する仕様を有するものが多く使用されている。この種の制御装置は、宅内に構築された局所ネットワークNW2に接続され、インターネット層の通信プロトコルがIPv4、IPv6等に設定され、トランスポート層の通信プロトコルをUDPに設定された制御情報を被制御機器3へ送信する。複数の製造メーカが、Echonet Lite規格に適合する仕様の被制御機器3を製造することにより、複数の製造メーカのうちの一の製造メーカにより製造された制御装置で、他の製造メーカにより製造された被制御機器3を制御することが可能となる。また、被制御機器3は、多機能化しつつあり、それに伴い、制御装置に求められる処理機能の拡充も求められている。このため、制御装置の機能の一部をクラウドサーバで実現することにより制御装置の処理負荷を軽減することが要請されつつある。ところが、Echonet Lite規格に適合するトランスポート層の通信プロトコルがUDPに設定された制御情報を、そのままクラウドサーバから広域ネットワークNW1を介して被制御機器3へ送信する構成とした場合、被制御装置3で取得される制御情報の信頼性が低く被制御機器3の誤動作に繋がる虞がある。
これに対して、本実施の形態に係る制御システムでは、クラウドサーバ2が、制御情報をカプセル化することにより生成される制御通知情報を、そのトランスポート層における通信プロトコルをUDPに比べて信頼性の高い通信プロトコルで制御装置1へ送信する。これにより、クラウドサーバ2と制御装置1との間での通信における、制御通知情報に含まれる制御情報の信頼性が確保されるので、制御情報の信頼性に起因した被制御装置3の誤動作の発生を抑制できる。
また、本実施の形態に係る制御システムでは、クラウドサーバ2において機器テーブル情報が管理される。これにより、制御装置1が、クラウドサーバ2から取得した制御情報による制御対象となる被制御機器3を機器テーブル情報に基づいて特定する処理を行う必要がないので、その分、制御装置1における処理負荷が軽減される。
また、本実施の形態に係る制御装置1では、機器電文取得部113が、被制御機器3から被制御機器3の状態を示す状態パラメータ情報およびMACアドレス情報を含む機器状態情報を取得し、カプセル化部114が、機器状態情報に制御装置1のMACアドレス情報を付加してカプセル化してからクラウドサーバ2を送信先に指定するためのヘッダ情報を付加することにより状態通知情報を生成する。そして、通知情報送信部115が、状態通知情報のヘッダ情報に基づいて、状態通知情報をクラウドサーバ2へ送信する。一方、クラウドサーバ2では、通知情報取得部211が、制御装置1から状態通知情報を取得し、非カプセル化部212が、状態通知情報からヘッダ情報を解除して非カプセル化処理を実行することにより機器状態情報を抽出する。そして、機器制御部217は、機器状態情報に含まれる状態パラメータ情報に基づいて、制御情報を生成する。これにより、クラウドサーバ2において、被制御機器3の状態を示す状態パラメータ情報に基づいて、被制御機器3に対する制御情報を生成することができるので、制御装置1での処理負荷を軽減しつつ被制御機器3をその動作状態に応じて適切に制御することができる。
更に、本実施の形態に係る制御装置1では、機器テーブル作成要求部112が、クラウドサーバ2との通信を開始する際、クラウドサーバ2に対して機器テーブル情報の作成を要求する機器テーブル作成要求情報を生成する。そして、クラウドサーバ2の電文種別判定部216が、通知情報取得部211が機器テーブル作成要求情報を取得したと判定すると、機器テーブル作成部214が、機器テーブル情報の作成を開始する。これにより、機器情報記憶部231が記憶する機器テーブル情報として、クラウドサーバ2と通信可能な制御装置1に対応する機器テーブル情報のみを記憶させておけばよいので、機器情報記憶部231の容量を低減できるという利点がある。
また、本実施の形態に係る被制御機器3は、局所ネットワークNW2を介した制御装置1との通信を開始する際、ネットワーク参加通知情報を制御装置1へ送信する。そして、制御装置1のカプセル化部114は、機器電文取得部113が被制御機器3からネットワーク参加通知情報を取得すると、ネットワーク参加通知情報をカプセル化することにより状態通知情報を生成してクラウドサーバ2へ送信する。また、クラウドサーバ2では、機器識別情報抽出部215が、状態通知情報にネットワーク参加通知情報が含まれる場合、ネットワーク参加通知情報に含まれる被制御機器3のMACアドレス情報を抽出し、機器テーブル作成部214が、機器識別情報抽出部215が抽出したMACアドレス情報を、制御装置1のMACアドレス情報に対応づける形で機器テーブル情報を更新する。これにより、局所ネットワークNW2に新たな被制御機器3が接続される毎に機器テーブル情報が更新されるので、クラウドサーバ2で生成された制御情報が、局所ネットワークNW2に新たに接続された被制御機器3へ適切に送信される。従って、局所ネットワークNW2に新たに接続された被制御機器3の誤動作の発生が抑制される。
(実施の形態2)
本実施の形態に係る制御システムは、機器が属する局所ネットワークとは異なる端末用局所ネットワークを介して制御装置と通信する端末装置を備える点で実施の形態1と相違する。この端末装置は、前述の機器テーブル情報を記憶する機器情報記憶部と、制御情報を生成する機器制御部と、制御情報をカプセル化して制御装置を送信先に指定するための第1ヘッダ情報を付加することにより制御通知情報を生成する第2カプセル化部と、第1ヘッダ情報に基づいて、制御通知情報を制御装置へ送信する通知情報送信部と、を有する。また、制御装置は、サーバから送信される制御通知情報を取得可能なサーバ接続モードと、端末装置から送信される制御通知情報を取得可能な端末装置接続モードと、のいずれかに切り替えるモード切替部を有する。
本実施の形態に係る制御システムは、図16に示すように、被制御機器3と、被制御機器3を制御する制御装置2001と、クラウドサーバ2002と、端末装置2004と、を備える。なお、図16において、実施の形態1と同様の構成については図1と同一の符号を付している。端末装置2004は、被制御機器3が接続された局所ネットワークNW2とは異なる端末用局所ネットワークNW3を介して制御装置2001と通信可能となっている。制御装置2001は、被制御機器3との間で予め設定された1つのSSID(Service Set Identifier)を含む情報のみの送受信を行い、端末装置2004との間では被制御機器3との間で送受信する情報に含まれるSSIDとは異なるSSIDを含む情報のみの送受信を行う。また、クラウドサーバ2002は、実施の形態1と同様に、広域ネットワークNW1およびBBR8を介して通信可能となっている。
制御装置2001は、クラウドサーバ2002または端末装置2004から取得した制御情報に基づいて、被制御機器3を制御する。制御装置2001は、図17に示すように、CPU101と、主記憶部102と、補助記憶部103と、WPS釦105と、局所通信部2107と、バス109と、を備える。なお、図17において、実施の形態1と同様の構成については図2と同一の符号を付している。局所通信部2107は、制御装置2001の接続モードがサーバ接続モード(以下、「STAモード」と称する。)である場合、局所ネットワークNW2を介してBBR8と通信する。一方、局所通信部2107は、制御装置2001の接続モードが端末装置接続モード(以下、「APモード」と称する。)である場合、端末用局所ネットワークNW3を介して端末装置2004と通信する。
制御装置2001では、CPU101が、補助記憶部103が記憶するプログラムを主記憶部102に読み込んで実行することにより、図18に示すように、アドレス取得部111、機器テーブル作成要求部2112、機器電文取得部113、カプセル化部2114、通知情報送信部2115、通知情報取得部2116、非カプセル化部117、機器電文送信部118、受付部119、ARP応答部120、モード切替部2121、機器テーブル取得部2122および機器テーブル送信部2123として機能する。なお、図18において、実施の形態1と同様の構成については図3と同一の符号を付している。また、図17に示す補助記憶部103は、図18に示すように、アドレス記憶部131と、クラウドURL記憶部132と、機器情報記憶部2133と、端末アドレス記憶部2134と、を有する。機器情報記憶部2133は、端末装置2004から送信された機器テーブル情報を記憶する。端末アドレス記憶部2134は、端末装置2004のアドレス情報を記憶する。
機器テーブル作成要求部2112は、クラウドサーバ2002との通信を開始する際、クラウドサーバ2002に対して機器テーブル情報の作成を要求する機器テーブル作成要求情報を生成してクラウドサーバ2002へ送信する。ここで、機器テーブル作成要求部2112は、機器テーブル作成要求情報を送信した後、予め設定された待機時間の間に、クラウドサーバ2002から準備完了通知情報を取得できない場合、クラウドサーバ2002との接続が不可能であることを示すサーバ接続不可通知情報をモード切替部2121に通知する。そして、機器テーブル作成要求部2112は、モード切替部2121から後述のAPモード切替通知情報が通知されると、端末装置2004に対して機器テーブル情報の作成を要求する機器テーブル作成要求情報を生成して端末装置2004へ送信する。そして、機器テーブル作成要求部2112は、端末装置2004から送信された準備完了通知情報を取得すると、取得した準備完了通知情報をカプセル化部2114および非カプセル化部117に通知する。
カプセル化部2114は、被制御機器3から取得した機器電文に制御装置2001のMACアドレス情報を付加してからカプセル化する。また、カプセル化部2114は、制御装置2001の接続モードに応じて、クラウドサーバ2002を送信先に指定するためのヘッダ情報または端末装置2004を送信先に指定するためのヘッダ情報を付加することにより状態通知情報を生成する。ここで、端末装置2004を送信先に指定するためのヘッダ情報は、カプセル化部2114が端末アドレス記憶部2134から取得した端末装置2004のアドレス情報を含む。
モード切替部2121は、制御装置2001の接続モードを、サーバ接続モード(以下、「STAモード」と称する。)と端末装置接続モード(以下、「APモード」と称する。)とのいずれかに切り替える。ここで、STAモードは、制御装置2001がクラウドサーバ2002から送信される準備完了通知情報、制御通知情報等を取得可能な接続モードであり、APモードは、制御装置2001が端末装置2004から送信される準備完了通知情報、制御通知情報等を取得可能な接続モードである。モード切替部2121は、制御装置2001の接続モードをSTAモードからAPモードに切り替える場合、APモード切替通知情報を機器テーブル作成要求部2112、通知情報送信部2115および通知情報取得部2116に通知する。一方、モード切替部2121は、制御装置2001の接続モードをAPモードからSTAモードに切り替える場合、STAモード切替通知情報を機器テーブル作成要求部2112、通知情報送信部2115および通知情報取得部2116に通知する。
通知情報送信部2115は、接続モードがSTAモードに設定されている場合、カプセル化部2114から転送された状態通知情報をクラウドサーバ2002へ送信する第3通知情報送信部である。一方、通知情報送信部2115は、接続モードがAPモードに設定されている場合、カプセル化部2114から転送された状態通知情報を端末装置2004へ送信する。
通知情報取得部2116は、接続モードがSTAモードに設定されている場合、クラウドサーバ2002から制御装置2001を送信先とする制御通知情報を受信すると、受信した制御通知情報を非カプセル化部117へ転送する。一方、通知情報取得部2116は、接続モードがAPモードに設定されている場合、端末装置2004から制御装置2001を送信先とする制御通知情報を受信すると、受信した制御通知情報を非カプセル化部117へ転送する。
機器テーブル取得部2122は、接続モードがAPモードに設定されている場合、端末装置2004から送信された機器テーブル情報を取得すると、取得した機器テーブル情報を機器情報記憶部2133に記憶させる。機器テーブル送信部2123は、接続モードがSTAモードに設定されている場合、機器情報記憶部2133が記憶する機器テーブル情報を、BBR8を介してクラウドサーバ2002へ送信する。
図17に戻って、端末装置2004は、例えばスマートフォンであり、CPU401と、主記憶部402と、補助記憶部403と、表示部404と、入力部405と、局所通信部407と、各部を接続するバス409と、を備える。主記憶部402は、揮発性メモリを有し、CPU401の作業領域として使用される。補助記憶部403は、不揮発性メモリであり、CPU401が各種処理を実行するためのプログラムを記憶する。表示部404は、液晶ディスプレイ、有機EL(Electro-Luminescence)ディスプレイ等の表示装置である。入力部405は、例えば表示部404に重ねて配置される透明なタッチパッドである。局所通信部407は、端末用局所ネットワークNW3に接続され、CPU401から転送される情報を、端末用局所ネットワークNW3を介して制御装置2001へ送信したり、制御装置2001から端末用局所ネットワークNW3を介して受信した情報をCPU401へ転送したりする。
端末装置2004では、CPU401が、補助記憶部403が記憶するプログラムを主記憶部402に読み込んで実行することにより、図19に示すように、通知情報取得部411、非カプセル化部412、接続確立部413、機器テーブル作成部414、機器識別情報抽出部415、電文種別判定部416、第2機器制御部である機器制御部417、カプセル化部418、通知情報送信部419、表示制御部420、受付部421および機器テーブル送信部422として機能する。また、図17に示す補助記憶部403は、図19に示すように、機器情報記憶部431と、アドレス記憶部432と、を有する。機器情報記憶部431は、前述の機器テーブル情報を記憶する第2機器情報記憶部である。ここで、機器情報記憶部403が記憶する機器テーブル情報は、例えば被制御機器3の施工時における設定が反映された情報である。但し、この機器テーブル情報は、被制御機器3の施工時における設定が反映されたものに限定されるものではない。アドレス記憶部432は、制御装置2001のアドレス情報を記憶している。
通知情報取得部411は、制御装置2001から端末装置2004のIPアドレス情報を含むヘッダ情報が付加された状態通知情報を取得する。また、通知情報取得部411は、機器テーブル作成要求情報を取得したか否かを判定する。そして、通知情報取得部411は、機器テーブル作成要求情報を取得したと判定すると、取得した機器テーブル作成要求情報を接続確立部413に転送する。更に、通知情報取得部411は、制御装置2001から状態通知情報を取得すると、取得した状態通知情報を第3非カプセル化部である非カプセル化部412へ転送する。非カプセル化部412、接続確立部413、機器テーブル作成部414、機器識別情報抽出部415、電文種別判定部416および機器制御部417は、それぞれ、実施の形態1で説明したクラウドサーバ2の非カプセル化部212、接続確立部213、機器テーブル作成部214、機器識別情報抽出部215、電文種別判定部216および機器制御部217と同様の機能を有する。
機器制御部417は、被制御機器3を制御するための制御パラメータ情報と、制御対象となる被制御機器3のMACアドレス情報と、機器情報記憶部431が記憶する制御対象の被制御機器3のMACアドレス情報に対応する制御装置2001のMACアドレス情報と、を含む制御情報を生成する。ここで、機器制御部417は、非カプセル化部412から通知される機器状態情報或いは端末装置7から動作変更指令情報を受信したか否かに基づいて、その機器状態情報に対応する被制御機器3の動作設定の変更が必要か否かを判定する。そして、機器制御部417は、被制御機器3の動作設定の変更が必要であると判定すると、前述の制御情報を生成し、生成した制御情報をカプセル化部418に通知する。
カプセル化部418は、機器制御部417から通知された制御情報をカプセル化して制御装置2001を送信先に指定するためのヘッダ情報を付加することにより制御通知情報を生成する第3カプセル化部である。通知情報送信部419は、カプセル化部418が生成した制御通知情報を、第3ヘッダ情報である制御装置2001を送信先に指定するためのヘッダ情報に基づいて、制御装置2001へ送信する。また、通知情報送信部419は、機器テーブル作成部414から準備完了通知情報が転送されると、その準備完了通知情報を制御装置2001へ送信する。
表示制御部420は、機器情報記憶部431が記憶する機器テーブル情報を表示部404に表示させる。受付部421は、利用者が例えば表示部404に表示された機器テーブル情報を参照しながら、入力部405に対して機器テーブル情報をクラウドサーバ2002へ送信するための操作を行うと、その操作を受け付け、その操作内容を示す操作情報を機器テーブル送信部422に通知する。機器テーブル送信部422は、受付部421から機器テーブル情報をクラウドサーバ2002へ送信するための操作を示す操作情報が通知されると、機器情報記憶部431が記憶する機器テーブル情報を制御装置2001へ送信する。
図17に戻って、クラウドサーバ2002は、CPU201と、主記憶部202と、補助記憶部203と、広域通信部206と、各部を接続するバス209と、を備える。クラウドサーバ2002では、CPU201が、補助記憶部203が記憶するプログラムを主記憶部202に読み込んで実行することにより、図20に示すように、通知情報取得部211、非カプセル化部212、接続確立部213、機器テーブル作成部214、機器識別情報抽出部215、電文種別判定部216、第1機器制御部である機器制御部217、カプセル化部218、通知情報送信部219および機器テーブル情報更新部2220として機能する。また、図17に示す補助記憶部203は、図20に示すように、機器情報記憶部231と、アドレス記憶部232と、を有する。機器情報記憶部231は、機器テーブル情報を記憶する第1機器情報記憶部である。機器テーブル情報更新部2220は、制御装置2001から機器テーブル情報を取得すると、取得した機器テーブル情報を用いて、機器情報記憶部231が記憶する機器テーブル情報を更新する。
次に、本実施の形態に係る制御システムの動作について図21から図23を参照しながら説明する。なお、図21から図23において、実施の形態1と同様の処理については、図6、8、11と同一の符号を付している。また、制御装置2001は、初期状態において前述のSTAモードに設定されているとする。まず、図21に示すように、ステップS1からS3までの一連の処理が実行された後、制御装置2001が、クラウドサーバ2002に対して機器テーブル情報の作成を要求する機器テーブル作成要求情報を生成する(ステップS4)。ここで、制御装置2001は、生成された機器テーブル作成要求情報が、クラウドサーバ2002宛に送信された後、予め設定された待機時間内にクラウドサーバ2002から準備完了通知情報の取得が不可であると判定したとする(ステップS2001)。この場合、制御装置2001は、前述のAPモードに切り替わる(ステップS2002)。次に、制御装置2001は、端末装置2004宛の機器テーブル作成要求情報を生成する(ステップS2003)。続いて、生成された機器テーブル作成要求情報が、制御装置2001から端末用局所ネットワークNW3を介して端末装置2004へ送信される(ステップS2004)。
一方、端末装置2004は、制御装置2001から送信された機器テーブル作成要求情報を取得すると、機器テーブル作成要求情報から制御装置2001のMACアドレス情報を抽出する。その後、端末装置2004が、機器情報記憶部431が記憶するMACアドレス情報の中に、機器テーブル作成要求情報に含まれる制御装置2001のMACアドレス情報が存在しないと判定したとする(ステップS2005)。この場合、端末装置2004は、制御装置2001に対応する機器テーブル情報の作成を開始する(ステップS2006)。次に、機器テーブル情報を作成する準備が完了したことを通知する準備完了通知情報が、端末装置2004から制御装置2001へ送信される(ステップS2007)。一方、制御装置2001は、準備完了通知情報を取得すると、接続モードをSTAモードに切り替える(ステップS2008)。
また、利用者が被制御機器3を新たに局所ネットワークNW2に接続させるための被制御機器接続操作を行うことにより、実施の形態1で説明したステップS11からS14までの一連の処理が実行されたとする。この場合、図22に示すように、被制御機器3が局所ネットワークNW2に新たに接続されたことを通知するネットワーク参加通知情報が、BBR8から制御装置2001へ送信される(ステップS15)。一方、制御装置2001は、ネットワーク参加通知情報を取得すると、ネットワーク参加通知情報に制御装置2001のMACアドレス情報を付加してカプセル化するカプセル化処理を実行する(ステップS16)。続いて、制御装置2001は、接続モードをAPモードに切り替える(ステップS2009)。その後、生成された状態通知情報が、制御装置2001から端末装置2004へ送信される(ステップS2010)。
一方、端末装置2004は、制御装置2001から送信された状態通知情報を受信すると、状態通知情報からヘッダ情報を解除して非カプセル化する非カプセル化処理を実行する(ステップS2011)。次に、端末装置2004は、ネットワーク参加通知情報に含まれる送信先の制御装置2001のポート番号情報と送信元の被制御機器3のポート番号情報とが予め設定されたポート番号情報と一致したと判定したとする(ステップS2012)。そして、端末装置2004が、制御装置2001から取得した状態通知情報に含まれる電文がネットワーク参加通知情報であると判定したとする(ステップS2013)。この場合、端末装置2004は、ネットワーク参加通知情報に含まれる送信元の被制御機器3のMACアドレス情報、IPアドレス情報、機器種別情報SEOJ、プロパティ情報EDTに含まれる識別番号情報を抽出する。そして、端末装置2004は、抽出した被制御機器3のMACアドレス情報、IPアドレス情報、機器種別情報SEOJおよび識別番号情報を用いて、機器情報記憶部431が記憶する機器テーブル情報を更新する(ステップS2014)。
また、被制御機器3が、局所ネットワークNW2に接続された後、実施の形態1で説明したステップS23、S24の処理が実行されたとする。この場合、機器状態情報が、BBR8から制御装置2001へ送信される(ステップS25)。一方、制御装置2001は、機器状態情報を取得すると、機器状態情報をカプセル化するカプセル化処理を実行する(ステップS26)。このとき、制御装置2001は、端末装置2004を送信先に指定するためのヘッダ情報を付加する。これにより、機器状態情報に、宛先IPアドレスとして端末装置2004のIPアドレス情報を含むヘッダ情報が付加されてなる状態通知情報が生成される。
その後、生成された状態通知情報が、制御装置2001から端末装置2004へ送信される(ステップS2015)。一方、端末装置2004は、制御装置2001から送信された状態通知情報を受信すると、状態通知情報からヘッダ情報を解除して非カプセル化処理を実行する(ステップS2016)。これにより、端末装置2004は、状態通知情報から機器状態情報を抽出する。次に、端末装置2004は、機器状態情報に含まれる送信先の制御装置2001のポート番号情報と送信元の被制御機器3のポート番号情報とが予め設定されたポート番号情報と一致したと判定したとする(ステップS2017)。そして、図23に示すように、端末装置2004が、機器状態情報が示す被制御機器3の状態に基づいて、被制御機器3の設定変更が必要と判定したとする(ステップS2018)。この場合、端末装置2004は、設定変更が必要と判定した被制御機器3の設定を変更するための制御情報を生成する(ステップS2019)。続いて、端末装置2004は、生成した制御情報をカプセル化するカプセル化処理を実行する(ステップS2020)。このとき、端末装置2004は、制御装置2001を送信先に指定するためのヘッダ情報を付加する。
その後、生成された制御通知情報が、端末装置2004から制御装置2001へ送信される(ステップS2021)。一方、制御装置2001は、端末装置2004から送信された制御通知情報を受信すると、制御通知情報からヘッダ情報を解除して非カプセル化する非カプセル化処理を実行する(ステップS36)。次に、制御装置2001は、接続モードをSTAモードに切り替える(ステップS2022)。続いて、非カプセル化処理により制御通知情報から抽出された制御情報が、制御装置2001からBBR8に送信される(ステップS37)。その後、実施の形態1で説明したステップS38からS41までの一連の処理が実行される。次に、制御装置2001は、更新完了通知情報を取得すると、更新完了通知情報をカプセル化するカプセル化処理を実行する(ステップS42)。このとき、制御装置2001は、更新完了通知情報に端末装置2004を送信先に指定するためのヘッダ情報を付加することにより状態通知情報を生成する。続いて、制御装置2001は、接続モードをAPモードに切り替える(ステップS2023)。その後、生成された状態通知情報が、制御装置2001から端末装置2004へ送信される(ステップS2024)。
また、図24に示すように、制御装置2001が、クラウドサーバ2002に対して機器テーブル情報の作成を要求する機器テーブル作成要求情報を生成し(ステップS4)、生成された機器テーブル作成要求情報が、制御装置2001からBBR8へ送信された後(ステップS5)、BBR8からクラウドサーバ2002へ送信されたとする(ステップS6)。この場合、実施の形態1で説明したステップS6からS9までの一連の処理が実行された後、準備完了通知情報が、BBR8から制御装置2001へ送信される(ステップS10)。ここで、制御装置2001は、機器テーブル情報が機器情報記憶部2133に記憶されていると判定したとする(ステップS2025)。この場合、機器情報記憶部2133が記憶する機器テーブル情報が、制御装置2001からBBR8へ送信された後(ステップS2026)、BBR8からクラウドサーバ2002へ送信されたとする(ステップS2027)。一方、クラウドサーバ2002は、制御装置2001から送信された機器テーブル情報を取得すると、取得した機器テーブル情報を用いて機器情報記憶部231が記憶する機器テーブル情報を更新する(ステップS2028)。
次に、本実施の形態に係る制御装置2001が実行する制御装置制御処理について図25および図26を参照しながら説明する。この制御装置制御処理は、実施の形態1と同様に、例えば制御装置2001へ電源が投入され、制御装置2001が局所ネットワークNW2に接続可能な場所に配置されたことを契機として開始される。また、制御装置2001の接続モードは、初期状態で前述のSTAモードに設定されているものとする。まず、図25に示すように、ステップS2101からS2104までの一連の処理が実行される。なお、ステップS2101からS2104までの処理は、それぞれ、実施の形態1で説明したステップS101からS104までの処理と同様である。次に、機器テーブル作成要求部2112は、生成した機器テーブル作成要求情報をそのヘッダ情報に基づいてクラウドサーバ2002へ送信する(ステップS2105)。続いて、機器テーブル作成要求部2112は、機器テーブル作成要求情報をクラウドサーバ2002へ送信した後、予め設定された待機時間内に前述の準備完了通知情報を取得したか否かを判定する(ステップS2106)。ここで、機器テーブル作成要求部2112は、クラウドサーバ2002からBBR8を介して準備完了通知情報を取得したと判定すると(ステップS2106:Yes)、取得した準備完了通知情報をカプセル化部2114および非カプセル化部117に通知する(ステップS2107)。
その後、機器テーブル送信部2123は、機器情報記憶部2133が機器テーブル情報を記憶しているか否かを判定する(ステップS2108)。ここで、機器テーブル送信部2123が、機器情報記憶部2133が機器テーブル情報を記憶していないと判定すると(ステップS2108:No)、そのまま後述のステップS2110の処理が実行される。一方、機器テーブル送信部2123が、機器情報記憶部2133が機器テーブル情報を記憶していると判定すると(ステップS2108:Yes)、その機器テーブル情報をクラウドサーバ2002へ送信する(ステップS2109)。次に、ステップS2110からS2115までの一連の処理が実行される。ここで、ステップS2110からS2115の処理は、それぞれ、実施の形態1で接続したステップS107からS112の処理と同様である。
また、ステップS2106において、機器テーブル作成要求部2112が、前述の待機時間内にクラウドサーバ2002からBBR8を介して準備完了通知情報を取得できなかったと判定したとする(ステップS2106:No)。この場合、図26に示すように、モード切替部2121が、制御装置2001の接続モードを前述のAPモードに切り替える(ステップS2116)。続いて、機器テーブル作成要求部2112は、端末装置2004に対して機器テーブル情報の作成を要求する機器テーブル作成要求情報を生成する(ステップS2117)。ここで、機器テーブル作成要求部2112は、端末装置2004のアドレス情報を端末アドレス記憶部2134から取得し、取得したアドレス情報を含むヘッダ情報が付加された機器テーブル作成要求情報を生成する。続いて、機器テーブル作成要求部2112は、生成した機器テーブル作成要求情報をそのヘッダ情報に基づいて端末装置2004へ送信する(ステップS2118)。続いて、機器テーブル作成要求部2112は、機器テーブル作成要求情報を端末装置2004へ送信した後、前述の待機時間内に前述の準備完了通知情報を取得したか否かを判定する(ステップS2119)。ここで、機器テーブル作成要求部2112が、前述の待機時間内に端末装置2004から準備完了通知情報を取得できなかったと判定すると(ステップS2119:No)、再び前述のステップ2104の処理が実行される。
一方、機器テーブル作成要求部2112は、端末装置2004から準備完了通知情報を取得したと判定すると(ステップS2119:Yes)、取得した準備完了通知情報をカプセル化部2114および非カプセル化部117に通知する(ステップS2120)。その後、モード切替部2121は、制御装置2001の接続モードを前述のSTAモードに切り替える(ステップS2121)。次に、機器電文取得部113は、被制御機器3から送信された被制御機器3のMACアドレス情報を含む機器電文を取得したか否かを判定する(ステップS2122)。機器電文取得部113が、被制御機器3から送信された電文を取得していないと判定すると(ステップS2122:No)、後述するステップS2126の処理が実行される。一方、機器電文取得部113は、被制御機器3から送信された機器電文を取得したと判定すると(ステップS2122:Yes)、取得した電文をカプセル化部2114へ転送する。そして、カプセル化部2114は、被制御機器3から取得した電文をカプセル化するカプセル化処理を実行する(ステップS2123)。ここで、カプセル化部2114は、カプセル化された電文に端末装置2004を送信先に指定するためのヘッダ情報を付加する。具体的には、カプセル化部2114は、端末装置2004のアドレス情報を端末アドレス記憶部2134から取得し、取得したアドレス情報を含むヘッダ情報をカプセル化された電文に付加することにより状態通知情報を生成する。続いて、モード切替部2121は、制御装置2001の接続モードをAPモードに切り替える(ステップS2124)。その後、通知情報送信部2115は、カプセル化部2114が生成した状態通知情報を、そのヘッダ情報に基づいて、端末装置2004へ送信する(ステップS2125)。
次に、機器テーブル取得部2122は、端末装置2004から送信された機器テーブル情報を取得したか否かを判定する(ステップS2126)。ここで、機器テーブル取得部2122が、機器テーブル情報を取得していないと判定すると(ステップS2126:No)、後述のステップS2128の処理が実行される。一方、機器テーブル取得部2122は、機器テーブル情報を取得したと判定すると(ステップS2126:Yes)、取得した機器テーブル情報を機器情報記憶部2133に記憶させる(ステップS2127)。
続いて、通知情報取得部2116は、端末装置2004から制御装置2001を送信先とする制御通知情報を取得したか否かを判定する(ステップS2128)。通知情報取得部2116が、端末装置2004から送信された制御通知情報を取得していないと判定すると(ステップS2128:No)、モード切替部2121が、制御装置2001の接続モードをSTAモードに切り替える(ステップS2129)。その後、再びステップS2104の処理が実行される。
一方、通知情報取得部2116は、端末装置2004から送信された制御通知情報を取得したと判定すると(ステップS2128:Yes)、取得した制御通知情報を非カプセル化部117へ転送する。そして、非カプセル化部117は、通知情報取得部2116から制御通知情報が転送されると、その制御通知情報からヘッダ情報を解除して非カプセル化する非カプセル化処理を実行する(ステップS2130)。次に、モード切替部2121が、制御装置2001の接続モードをSTAモードに切り替える(ステップS2131)。続いて、機器電文送信部118は、非カプセル化部117により抽出された制御情報に含まれる被制御機器3のMACアドレス情報に基づいて、制御装置2001のMACアドレス情報を含む制御情報を被制御機器3へ送信する(ステップS2132)。続いて、再びステップS2104の処理が実行される。
次に、本実施の形態に係る端末装置2004が実行する端末制御処理について図27を参照しながら説明する。この端末制御処理は、例えば端末装置2004において、制御装置2001として機能するためのアプリケーションが起動したことを契機として開始される。まず、通知情報取得部411は、制御装置2001から端末装置2004宛の機器テーブル作成要求情報を取得したか否かを判定する(ステップS2301)。通知情報取得部411が、機器テーブル作成要求情報を取得していないと判定すると(ステップS2301:No)、後述するステップS2305の処理が実行される。
一方、通知情報取得部411が、機器テーブル作成要求情報を取得したと判定すると(ステップS2301:Yes)、機器テーブル作成部414が、機器情報記憶部431が記憶するMACアドレス情報の中に、制御装置2001のMACアドレス情報が存在するか否か判定する(ステップS2302)。ここで、機器テーブル作成部414が、機器情報記憶部431が記憶するMACアドレス情報の中に、制御装置2001のMACアドレス情報が存在すると判定すると(ステップS2302:Yes)、後述するステップS2305の処理が実行される。一方、機器テーブル作成部414が、機器情報記憶部431が記憶するMACアドレス情報の中に、制御装置2001のMACアドレス情報が存在しないと判定すると(ステップS2302:No)、制御装置2001に対応する機器テーブル情報の作成を開始する(ステップS2303)。そして、機器テーブル作成部414は、前述の準備完了通知情報を生成して通知情報送信部419へ転送する。そして、通知情報送信部419は、機器テーブル作成部414から転送された準備完了通知情報を制御装置2001へ送信する(ステップS2304)。
次に、通知情報取得部411は、制御装置2001から端末装置2004宛の状態通知情報を取得したか否かを判定する(ステップS2305)。通知情報取得部411が、端末装置2004宛の状態通知情報を取得していないと判定すると(ステップS2305:No)、再びS2301の処理が実行される。一方、通知情報取得部411は、端末装置2004宛の状態通知情報を取得したと判定すると(ステップS2305:Yes)、取得した状態通知情報を非カプセル化部412へ転送する。そして、非カプセル化部412は、通知情報取得部411から転送された状態通知情報について非カプセル化処理を実行する(ステップS2306)。ここで、非カプセル化部412は、非カプセル化処理で抽出した機器電文を電文種別判定部416に通知する。
一方、電文種別判定部416は、非カプセル化部412から通知される機器電文のヘッダ情報に含まれる送信先のポート番号情報と送信元のポート番号情報とが予め設定されたポート番号情報と一致するか否かを判定する(ステップS2307)。ここで、電文種別判定部416は、非カプセル化部412から通知される機器電文のヘッダ情報に含まれる送信先のポート番号情報と送信元のポート番号情報とが予め設定されたポート番号情報と一致しないと判定すると(ステップS2307:No)、再びステップS2301の処理が実行される。一方、電文種別判定部416が、非カプセル化部412から通知される機器電文の送信先のポート番号情報と送信元のポート番号情報とが予め設定されたポート番号情報と一致すると判定すると(ステップS2307:Yes)、ステップS2308からS2310までの一連の処理が実行される。なお、ステップS2308からS2310の処理は、実施の形態1で説明したステップS208からS210までの処理と同様である。
その後、機器制御部417は、非カプセル化部412から通知される機器状態情報または端末装置7から動作設定変更指令情報を受信したか否かに基づいて、その機器状態情報に対応する被制御機器3について動作設定の変更が必要か否かを判定する(ステップS2311)。ここで、機器制御部417が、被制御機器3について動作設定の変更が不要と判定すると(ステップS2311:No)、後述のステップS2315の処理が実行される。一方、機器制御部417が、被制御機器3について動作設定の変更が必要と判定したとする(ステップS2311:Yes)。この場合、ステップS2312、S2313の処理が実行される。なお、ステップS2312、S2313の処理は、それぞれ、ステップS212、S213の処理と同様である。次に、通知情報送信部419は、カプセル化部418が生成した制御通知情報を、そのヘッダ情報に基づいて、制御装置2001へ送信する(ステップS2314)。その後、受付部421は、利用者が入力部405に対して行った前述の機器テーブル送信操作を受け付けたか否かを判定する(ステップS2315)。ここで、受付部421が、機器テーブル送信操作を受け付けていないと判定すると(ステップS2315:No)、再びステップS2301の処理が実行される。一方、受付部421が、機器テーブル送信操作を受け付けたと判定すると(ステップS2315:Yes)、機器テーブル送信部422は、機器情報記憶部431が記憶する機器テーブル情報を制御装置2001へ送信する(ステップS2316)。次に、再びステップS2301の処理が実行される。
次に、本実施の形態に係るクラウドサーバ2002が実行するクラウドサーバ制御処理について図28を参照しながら説明する。なお、図28において、実施の形態1と同様の処理については図15と同一の符号を付している。まず、ステップS201からS204までの一連の処理が実行される。次に、機器テーブル情報更新部2220は、制御装置2001から機器テーブル情報を取得したか否かを判定する(ステップS2201)。ここで、機器テーブル更新部2220が、機器テーブル情報を取得していないと判定すると(ステップS2201:No)、そのままステップS205以降の処理が実行される。一方、機器テーブル更新部2220は、機器テーブル情報を取得したと判定すると(ステップS2201:Yes)、取得した機器テーブル情報を用いて機器情報記憶部231が記憶する機器テーブル情報を更新する(ステップS2202)。続いて、ステップS205以降の処理が実行される。
以上説明したように、本実施の形態に係る制御システムによれば、端末装置2004が、局所ネットワークNW2内において、データリンク層で被制御機器3を識別するMACアドレス情報を、局所ネットワークNW2内において、データリンク層で制御装置2001を識別するMACアドレス情報に対応づけて記憶する機器情報記憶部431を有する。そして、端末装置2004は、制御パラメータ情報と、被制御機器3のMACアドレス情報と、機器情報記憶部431が記憶する制御装置2001のMACアドレス情報と、を含む制御情報をカプセル化することにより生成される制御通知情報を制御装置2001へ送信する。また、制御装置2001は、接続モードを、前述のSTAモードと、前述のAPモードと、のいずれかに切り替え可能となっている。そして、制御装置2001は、接続モードがAPモードに設定されている場合、端末装置2004から制御通知情報を受信すると、受信した制御通知情報を非カプセル化することにより、制御情報を抽出し、抽出した制御情報をその制御情報に含まれる被制御機器3のMACアドレス情報に基づいて、被制御機器3へ送信する。これにより、端末装置2004において機器テーブル情報を管理することができるので、制御装置2001がクラウドサーバ2002と通信できない場合でも、端末装置2004から被制御機器3へ制御情報が適切に送信されるという利点がある。
ところで、例えば被制御機器3の利用者がプロバイダ契約を未だ結んでいない場合のように、BBR8が、広域ネットワークNW1を介してクラウドサーバ2001と通信できない場合がある。この場合、利用者は、BBR8が広域ネットワークNW1を介してクラウドサーバ2001と通信可能に接続されない限り、被制御装置3を制御できないとなると、サービスを迅速に受けることができず、利便性が損なわれる虞がある。これに対して、本実施の形態に係る制御システムでは、BBR8が広域ネットワークNW1を介してクラウドサーバ2001と通信できない場合であっても、端末装置2004において機器テーブル情報の生成および被制御機器3との間での電文の授受が可能であるので、被制御機器3の制御が可能であるという利点がある。また、端末装置2004において、例えば被制御機器3の施工時における各種設定に関わる機器テーブル情報を構築することができ、更に、端末装置2004は、生成した機器テーブル情報を、クラウドサーバ2001へ送信することができる。従って、被制御機器3の施工時において生成した機器テーブル情報を、BBR8が広域ネットワークNW1を介してクラウドサーバ2001と通信可能となった後に再度生成する必要がない。それ故、BBR8が広域ネットワークNW1を介してクラウドサーバ2001と通信可能となった後に被制御機器3をスムーズに制御することが可能となる。
また、本実施の形態に係る制御装置2001は、APモードにおいて、被制御機器3が属する局所ネットワークNW2とは異なる端末用局所ネットワークNW3を介して端末装置2004と通信する。これにより、制御装置2001と端末装置2004との通信が、端末用局所ネットワークNW3を介して行われるので、その分、局所ネットワークNW2のトラフィックを低減することができる。従って、制御装置2001と被制御機器3との間での通信速度の低下を抑制することができる。
(実施の形態3)
本実施の形態に係る制御システムは、機器が属する局所ネットワークに接続された端末装置を備える点で実施の形態1と相違する。この端末装置は、実施の形態2に係る端末装置と同様に、前述の機器テーブル情報を記憶する機器情報記憶部と、制御情報を生成する機器制御部と、制御情報をカプセル化して制御装置を送信先に指定するための第1ヘッダ情報を付加することにより制御通知情報を生成する第2カプセル化部と、第1ヘッダ情報に基づいて、制御通知情報を制御装置へ送信する通知情報送信部と、を有する。また、制御装置は、サーバから送信される制御通知情報を取得可能なサーバ接続モードと、端末装置から送信される制御通知情報を取得可能な端末装置接続モードと、のいずれかに切り替えるモード切替部を有する。
本実施の形態に係る制御システムは、図29に示すように、被制御機器3と、被制御機器3を制御する制御装置3001と、クラウドサーバ2002と、端末装置3004と、を備える。なお、図29において、実施の形態1、2と同様の構成については図1、図17と同一の符号を付している。端末装置3004は、被制御機器3が接続された局所ネットワークNW2を介して制御装置3001と通信可能となっている。制御装置3001は、実施の形態2に係る制御装置2001と同様に、クラウドサーバ2002または端末装置3004から取得した制御情報に基づいて、被制御機器3を制御する。制御装置3001は、CPU101と、主記憶部102と、補助記憶部103と、WPS釦105と、局所通信部107と、バス109と、を備える。なお、図29において、実施の形態1と同様の構成については図2と同一の符号を付している。
制御装置3001では、CPU101が、補助記憶部103が記憶するプログラムを主記憶部102に読み込んで実行することにより、図30に示すように、アドレス取得部111、機器テーブル作成要求部3112、機器電文取得部113、カプセル化部3114、通知情報送信部3115、通知情報取得部3116、非カプセル化部117、機器電文送信部118、受付部119、ARP応答部120、接続先切替部3121、機器テーブル取得部3122および機器テーブル送信部3123として機能する。なお、図30において、実施の形態1と同様の構成については図3と同一の符号を付している。また、図29に示す補助記憶部103は、図30に示すように、アドレス記憶部131と、クラウドURL記憶部132と、機器情報記憶部3133と、端末アドレス記憶部3134と、を有する。機器情報記憶部3133は、端末装置3004から送信された機器テーブル情報を記憶する。端末アドレス記憶部3134は、端末装置3004のアドレス情報を記憶する。ここで、端末アドレス記憶部3134は、局所ネットワークNW2内において、データリンク層で端末装置3004を識別する端末装置3004のMACアドレス情報を記憶する。
機器テーブル作成要求部3112は、クラウドサーバ2002との通信を開始する際、クラウドサーバ2002に対して機器テーブル情報の作成を要求する機器テーブル作成要求情報を生成してクラウドサーバ2002へ送信する。ここで、機器テーブル作成要求部3112は、機器テーブル作成要求情報を送信した後、予め設定された待機時間の間に、クラウドサーバ2002から準備完了通知情報を取得できない場合、クラウドサーバ2002との接続が不可能であることを示すサーバ接続不可通知情報を接続先切替部3121に通知する。そして、機器テーブル作成要求部3112は、接続先切替部3121から後述の端末装置接続通知情報が通知されると、端末装置3004に対して機器テーブル情報の作成を要求する機器テーブル作成要求情報を生成して端末装置3004へ送信する。そして、機器テーブル作成要求部3112は、端末装置3004から送信された準備完了通知情報を取得すると、取得した準備完了通知情報をカプセル化部3114および非カプセル化部117に通知する。
カプセル化部3114は、被制御機器3から取得した機器電文に制御装置3001のMACアドレス情報を付加してからカプセル化する。また、カプセル化部3114は、制御装置3001の接続先に応じて、クラウドサーバ2002を送信先に指定するためのヘッダ情報または端末装置3004を送信先に指定するためのヘッダ情報を付加することにより状態通知情報を生成する。ここで、端末装置3004を送信先に指定するためのヘッダ情報は、カプセル化部3114が端末アドレス記憶部3134から取得した端末装置3004のMACアドレス情報を含む。
接続先切替部3121は、制御装置3001の接続先がクラウドサーバ2002であるサーバ接続モードと、制御装置3001の接続先が端末装置3004である端末装置接続モードとのいずれかに切り替える。ここで、サーバ接続モードは、制御装置3001がクラウドサーバ2002から送信される準備完了通知情報、制御通知情報等を取得可能な接続モードであり、端末装置接続モードは、制御装置3001が端末装置3004から送信される準備完了通知情報、制御通知情報等を取得可能な接続モードである。接続先切替部3121は、制御装置3001の接続先をクラウドサーバ2002から端末装置3004に切り替える場合、サーバ接続通知情報を機器テーブル作成要求部3112、通知情報送信部3115および通知情報取得部3116に通知する。一方、接続先切替部3121は、制御装置3001の接続先を端末装置3004からクラウドサーバ2002に切り替える場合、端末装置接続通知情報を機器テーブル作成要求部3112、通知情報送信部3115および通知情報取得部3116に通知する。
通知情報送信部3115は、制御装置3001の接続先がクラウドサーバ2002である場合、カプセル化部3114から転送された状態通知情報をクラウドサーバ2002へ送信する。一方、通知情報送信部3115は、制御装置3001の接続先が端末装置3004である場合、カプセル化部3114から転送された状態通知情報を端末装置3004へ送信する。
通知情報取得部3116は、制御装置3001の接続先がクラウドサーバ2002である場合、クラウドサーバ2002から制御装置3001を送信先とする制御通知情報を受信すると、受信した制御通知情報を非カプセル化部117へ転送する。一方、通知情報取得部3116は、制御装置3001の接続先が端末装置3004である場合、端末装置3004から制御装置3001を送信先とする制御通知情報を受信すると、受信した制御通知情報を非カプセル化部117へ転送する。
機器テーブル取得部3122は、制御装置3001の接続先が端末装置3004である場合、端末装置3004から送信された機器テーブル情報を取得すると、取得した機器テーブル情報を機器情報記憶部3133に記憶させる。機器テーブル送信部3123は、制御装置3001の接続先がクラウドサーバ2002である場合、機器情報記憶部3133が記憶する機器テーブル情報を、BBR8を介してクラウドサーバ2002へ送信する。
図29に戻って、端末装置3004は、実施の形態2で説明した端末装置2004と同様に、例えばスマートフォンであり、CPU401と、主記憶部402と、補助記憶部403と、表示部404と、入力部405と、局所通信部3407と、各部を接続するバス409と、を備える。なお、図29において、実施の形態2と同様の構成については図17と同一の符号を付している。局所通信部3407は、局所ネットワークNW2に接続され、CPU401から転送される情報を、局所ネットワークNW2を介して制御装置3001へ送信したり、制御装置3001から局所ネットワークNW2を介して受信した情報をCPU401へ転送したりする。端末装置3004では、CPU401が、補助記憶部403が記憶するプログラムを主記憶部402に読み込んで実行することにより、図31に示すように、通知情報取得部411、非カプセル化部412、接続確立部413、機器テーブル作成部414、機器識別情報抽出部415、電文種別判定部416、機器制御部417、カプセル化部418、通知情報送信部419、表示制御部420、受付部421、機器テーブル送信部422および接続要求部3423として機能する。なお、図31において、実施の形態2と同様の構成については図19と同一の符号を付している。また、図29に示す補助記憶部403は、図31に示すように、機器情報記憶部431と、アドレス記憶部432と、を有する。
接続要求部3423は、端末装置3004が局所ネットワークNW2に接続されたときに、制御装置3001に対する接続を要求する接続要求情報を制御装置3001へ送信する。そして、接続要求部3423は、制御装置3001から送信される接続完了通知情報を取得すると、取得した接続完了通知情報を機器テーブル作成部414に通知する。
次に、本実施の形態に係る制御システムの動作について図32から図35を参照しながら説明する。なお、図32から図35において、実施の形態1と同様の処理については、図6、8、11と同一の符号を付している。また、制御装置3001は、初期状態において接続先がクラウドサーバ2002に設定されているとする。まず、図32に示すように、ステップS1からS3までの一連の処理が実行された後、利用者が端末装置3004の入力部405に対して端末装置3004を局所ネットワークNW2に接続するための接続操作を行ったとする。この場合、制御装置3001に対して局所ネットワークNW2を介した接続を要求する接続要求情報が、端末装置3004からBBR8へ送信された後(ステップS3001)、BBR8から制御装置3001へ送信される(ステップS3002)。一方、制御装置3001は、接続要求情報を取得すると、制御装置3001に付与されたIPアドレスとMACアドレスとを含むアドレス通知情報を生成する(ステップS3003)。次に、生成されたアドレス通知情報が、制御装置3001からBBR8へ送信された後(ステップS3004)、BBR8から端末装置3004へ送信される(ステップS3005)。これにより、端末装置3004は、制御装置3001のIPアドレスとMACアドレスとを示す情報を取得する。
続いて、制御装置3001は、クラウドサーバ2002に対して機器テーブル情報の作成を要求する機器テーブル作成要求情報を生成する(ステップS4)。ここで、制御装置3001は、生成された機器テーブル作成要求情報が、クラウドサーバ2002宛に送信された後、予め設定された待機時間内にクラウドサーバ2002から準備完了通知情報の取得が不可であると判定したとする(ステップS3006)。この場合、制御装置3001は、接続先をクラウドサーバ2002から端末装置3004に切り替える(ステップS3007)。その後、制御装置3001は、端末装置3004宛の機器テーブル作成要求情報を生成する(ステップS3008)。次に、生成された機器テーブル作成要求情報が、制御装置3001からBBR8へ送信された後(ステップS3009)、BBR8から端末装置3004へ送信される(ステップS3010)。
一方、端末装置3004は、制御装置3001から送信された機器テーブル作成要求情報を取得すると、機器テーブル作成要求情報から制御装置3001のMACアドレス情報を抽出する。その後、端末装置3004が、機器情報記憶部431が記憶するMACアドレス情報の中に、機器テーブル作成要求情報に含まれる制御装置3001のMACアドレス情報が存在しないと判定したとする(ステップS3011)。この場合、図33に示すように、端末装置3004は、制御装置3001に対応する機器テーブル情報の作成を開始する(ステップS3012)。続いて、機器テーブル情報を作成する準備が完了したことを通知する準備完了通知情報が、端末装置3004からBBR8へ送信された後(ステップS3013)、BBR8から制御装置3001へ送信される(ステップS3014)。
また、利用者が被制御機器3を新たに局所ネットワークNW2に接続させるための被制御機器接続操作を行うことにより、実施の形態1で説明したステップS11からS14までの一連の処理が実行されたとする。この場合、被制御機器3が局所ネットワークNW2に新たに接続されたことを通知するネットワーク参加通知情報が、BBR8から制御装置3001へ送信される(ステップS15)。一方、制御装置3001は、ネットワーク参加通知情報を取得すると、ネットワーク参加通知情報に制御装置3001のMACアドレス情報を付加してカプセル化するカプセル化処理を実行する(ステップS16)。その後、生成された状態通知情報が、制御装置3001からBBR8へ送信された後(ステップS3015)、BBR8から端末装置3004へ送信される(ステップS3016)。
一方、端末装置3004は、制御装置3001から送信された状態通知情報を受信すると、ステップS3017からS3020までの一連の処理を実行する。このステップS3017からS3020までの処理は、それぞれ、実施の形態2で説明したステップS2011からS2014までの処理と同様である。これにより、機器情報記憶部431が記憶する機器テーブル情報が更新される。
また、被制御機器3が、局所ネットワークNW2に接続された後、実施の形態1で説明したステップS23、S24の処理が実行されたとする。この場合、機器状態情報が、BBR8から制御装置3001へ送信される(ステップS25)。一方、制御装置3001は、機器状態情報を取得すると、機器状態情報をカプセル化するカプセル化処理を実行する(ステップS26)。このとき、制御装置3001は、端末装置3004を送信先に指定するためのヘッダ情報を付加する。これにより、機器状態情報に、宛先IPアドレスとして端末装置3004のIPアドレス情報を含むヘッダ情報が付加されてなる状態通知情報が生成される。
その後、生成された状態通知情報が、制御装置3001からBBR8へ送信された後(ステップS3021)、BBR8から端末装置3004へ送信される(ステップS3022)。一方、図34に示すように、端末装置3004は、制御装置3001から送信された状態通知情報を受信すると、状態通知情報からヘッダ情報を解除して非カプセル化処理を実行する(ステップS3023)。これにより、端末装置3004は、状態通知情報から機器状態情報を抽出する。次に、端末装置3004は、機器状態情報に含まれる送信先の制御装置3001のポート番号情報と送信元の被制御機器3のポート番号情報とが予め設定されたポート番号情報と一致したと判定したとする(ステップS3024)。そして、端末装置3004が、機器状態情報が示す被制御機器3の状態に基づいて、被制御機器3の設定変更が必要と判定したとする(ステップS3025)。この場合、端末装置3004は、設定変更が必要と判定した被制御機器3の設定を変更するための制御情報を生成する(ステップS3026)。続いて、端末装置3004は、生成した制御情報をカプセル化するカプセル化処理を実行する(ステップS3027)。このとき、端末装置3004は、制御装置3001を送信先に指定するためのヘッダ情報を付加する。
その後、生成された制御通知情報が、端末装置3004からBBR8へ送信された後(ステップS3028)、BBR8から制御装置3001へ送信される(ステップS3029)。一方、制御装置3001は、端末装置3004から送信された制御通知情報を受信すると、制御通知情報からヘッダ情報を解除して非カプセル化する非カプセル化処理を実行する(ステップS36)。次に、制御通知情報から抽出された制御情報が、制御装置3001からBBR8に送信される(ステップS37)。続いて、実施の形態1で説明したステップS38からS41までの一連の処理が実行される。続いて、制御装置3001は、更新完了通知情報を取得すると、更新完了通知情報をカプセル化するカプセル化処理を実行する(ステップS42)。このとき、制御装置3001は、更新完了通知情報に端末装置3004を送信先に指定するためのヘッダ情報を付加することにより状態通知情報を生成する。その後、生成された状態通知情報が、制御装置3001からBBR8へ送信された後(ステップS3030)、BBR8からから端末装置3004へ送信される(ステップS3031)。
また、図35に示すように、制御装置3001が、クラウドサーバ2002に対して機器テーブル情報の作成を要求する機器テーブル作成要求情報を生成し(ステップS4)、生成された機器テーブル作成要求情報が、制御装置3001からBBR8へ送信された後(ステップS5)、BBR8からクラウドサーバ2002へ送信されたとする(ステップS6)。この場合、実施の形態1で説明したステップS6からS9までの一連の処理が実行された後、準備完了通知情報が、BBR8から制御装置3001へ送信される(ステップS10)。ここで、制御装置3001は、機器テーブル情報が機器情報記憶部3133に記憶されていると判定したとする(ステップS3032)。この場合、機器情報記憶部3133が記憶する機器テーブル情報が、制御装置3001からBBR8へ送信された後(ステップS3033)、BBR8からクラウドサーバ2002へ送信されたとする(ステップS3034)。一方、クラウドサーバ2002は、制御装置3001から送信された機器テーブル情報を取得すると、取得した機器テーブル情報を用いて機器情報記憶部231が記憶する機器テーブル情報を更新する(ステップS3035)。
次に、本実施の形態に係る制御装置3001が実行する制御装置制御処理について図36および図37を参照しながら説明する。この制御装置制御処理は、実施の形態1と同様に、例えば制御装置3001へ電源が投入され、制御装置3001が局所ネットワークNW2に接続可能な場所に配置されたことを契機として開始される。また、制御装置3001は、初期状態でクラウドサーバ2002に接続されているものとする。まず、図36に示すように、ステップS3101からS3104までの一連の処理が実行される。なお、ステップS3101からS3104までの処理は、それぞれ、実施の形態1で説明したステップS101からS104までの処理と同様である。次に、機器テーブル作成要求部3112は、生成した機器テーブル作成要求情報をそのヘッダ情報に基づいてクラウドサーバ2002へ送信する(ステップS3105)。続いて、機器テーブル作成要求部3112は、機器テーブル作成要求情報をクラウドサーバ2002へ送信した後、予め設定された待機時間内に前述の準備完了通知情報を取得したか否かを判定する(ステップS3106)。ここで、機器テーブル作成要求部3112は、クラウドサーバ2002からBBR8を介して準備完了通知情報を取得したと判定すると(ステップS3106:Yes)、取得した準備完了通知情報をカプセル化部3114および非カプセル化部117に通知する(ステップS3107)。
その後、機器テーブル送信部3123は、機器情報記憶部3133が機器テーブル情報を記憶しているか否かを判定する(ステップS3108)。ここで、機器テーブル送信部3123が、機器情報記憶部3133が機器テーブル情報を記憶していないと判定すると(ステップS3108:No)、そのまま後述のステップS3110の処理が実行される。一方、機器テーブル送信部3123は、機器情報記憶部3133が機器テーブル情報を記憶していると判定すると(ステップS3108:Yes)、その機器テーブル情報をクラウドサーバ2002へ送信する(ステップS3109)。次に、ステップS3110からS3115までの一連の処理が実行される。なお、ステップS3110からS3115の処理は、それぞれ、実施の形態1で接続したステップS107からS112の処理と同様である。
また、ステップS3106において、機器テーブル作成要求部3112が、前述の待機時間内にクラウドサーバ2002から準備完了通知情報を取得できなかったと判定したとする(ステップS3106:No)。この場合、図37に示すように、接続先切替部3121は、端末装置3004から接続要求情報を取得したか否かを判定する(ステップS3116)。ここで、接続先切替部3121が、端末装置3004から接続要求情報を取得していないと判定すると(ステップS3116:No)、再びステップS3104の処理が実行される。一方、接続先切替部3121が、端末装置3004から接続要求情報を取得していると判定すると(ステップS3116:Yes)、制御装置3001の接続先を端末装置3004に切り替えた後(ステップS3117)、アドレス通知情報を生成して端末装置3004へ送信する(ステップS3118)。
続いて、機器テーブル作成要求部3112は、端末装置3004に対して機器テーブル情報の作成を要求する機器テーブル作成要求情報を生成する(ステップS3119)。ここで、機器テーブル作成要求部3112は、端末装置3004のアドレス情報を端末アドレス記憶部3134から取得し、取得したアドレス情報を含むヘッダ情報が付加された機器テーブル作成要求情報を生成する。続いて、機器テーブル作成要求部3112は、生成した機器テーブル作成要求情報をそのヘッダ情報に基づいて端末装置3004へ送信する(ステップS3120)。その後、機器テーブル作成要求部3112は、機器テーブル作成要求情報を端末装置3004へ送信した後、前述の待機時間内に前述の準備完了通知情報を取得したか否かを判定する(ステップS3121)。ここで、機器テーブル作成要求部3112が、前述の待機時間内に端末装置3004から準備完了通知情報を取得できなかったと判定すると(ステップS3121:No)、再び前述のステップ3104の処理が実行される。
一方、機器テーブル作成要求部3112は、端末装置3004から準備完了通知情報を取得したと判定すると(ステップS3121:Yes)、取得した準備完了通知情報をカプセル化部3114および非カプセル化部117に通知する(ステップS3122)。次に、機器電文取得部113は、被制御機器3から送信された被制御機器3のMACアドレス情報を含む機器電文を取得したか否かを判定する(ステップS3123)。機器電文取得部113が、被制御機器3から送信された電文を取得していないと判定すると(ステップS3123:No)、後述するステップS3126の処理が実行される。一方、機器電文取得部113は、被制御機器3から送信された機器電文を取得したと判定すると(ステップS3123:Yes)、取得した電文をカプセル化部3114へ転送する。そして、カプセル化部3114は、被制御機器3から取得した電文をカプセル化するカプセル化処理を実行する(ステップS3124)。ここで、カプセル化部3114は、端末装置3004のアドレス情報を含むヘッダ情報をカプセル化された電文に付加することにより状態通知情報を生成する。続いて、通知情報送信部3115は、カプセル化部3114が生成した状態通知情報を、そのヘッダ情報に基づいて、端末装置3004へ送信する(ステップS3125)。
次に、機器テーブル取得部3122は、端末装置3004から送信された機器テーブル情報を取得したか否かを判定する(ステップS3126)。ここで、機器テーブル取得部3122が、機器テーブル情報を取得していないと判定すると(ステップS3126:No)、後述のステップS3128の処理が実行される。一方、機器テーブル取得部3122は、機器テーブル情報を取得したと判定すると(ステップS3126:Yes)、取得した機器テーブル情報を機器情報記憶部3133に記憶させる(ステップS3127)。続いて、通知情報取得部3116は、端末装置3004から制御装置3001を送信先とする制御通知情報を取得したか否かを判定する(ステップS3128)。通知情報取得部3116が、端末装置3004から送信された制御通知情報を取得していないと判定すると(ステップS3128:No)、再びステップS3104の処理が実行される。
一方、通知情報取得部3116は、端末装置3004から送信された制御通知情報を取得したと判定すると(ステップS3128:Yes)、非カプセル化部117は、通知情報取得部3116から転送される制御通知情報からヘッダ情報を解除して非カプセル化処理を実行する(ステップS3129)。その後、機器電文送信部118は、非カプセル化部117により抽出された制御情報に含まれる被制御機器3のMACアドレス情報に基づいて、制御装置3001のMACアドレス情報を含む制御情報を被制御機器3へ送信する(ステップS3130)。続いて、再びステップS3104の処理が実行される。
次に、本実施の形態に係る端末装置3004が実行する端末制御処理について図38を参照しながら説明する。なお、図38において、実施の形態2と同様の処理については図27と同一の符号を付している。まず、受付部421は、利用者による入力部405に対する前述の接続操作を受け付けたか否かを判定する(ステップS3301)。ここで、受付部421は、接続操作を受け付けない限り(ステップS3301:No)、ステップS3301の処理を繰り返し実行する。一方、受付部421が、接続操作を受け付けたと判定すると(ステップS3301:Yes)、接続操作が行われたことを通知する接続操作通知情報が接続要求部3423に通知される。そして、接続要求部3423は、受付部421から接続操作通知情報が通知されると、前述の接続要求情報を制御装置3001へ送信する(ステップS3302)。次に、接続要求部3423は、制御装置3001から送信されたアドレス通知情報を取得したか否かを判定する(ステップS3303)。ここで、接続要求部3423は、接続要求情報を送信した後、予め設定された待機時間内にアドレス通知情報を取得できない場合(ステップS3303:No)、再びステップS3301の処理を実行する。一方、接続要求部3423が、アドレス通知情報を取得したと判定すると(ステップS3303:Yes)、アドレス通知情報に含まれる制御装置3001のIPアドレスおよびMACアドレスを示す情報を抽出してアドレス記憶部432に記憶させる。その後、ステップS2301以降の一連の処理が実行される。
以上説明したように、本実施の形態に係る制御装置3001は、端末装置接続モードにおいて、被制御機器3が属する局所ネットワークNW2を介して端末装置3004と通信する。これにより、制御装置3001は、被制御機器3と端末装置3004との間で共通の局所ネットワークNW2を介した通信を行うことで、機器テーブル情報を管理する主体をクラウドサーバ2002と端末装置3004とのいずれかに切り替えることができる。従って、制御装置3001において、局所ネットワークNW2を他の局所ネットワークに切り替える際のタイムロスが無いので、その分、被制御機器3をスムーズに制御することができる。
以上、本開示の各実施の形態について説明したが、本開示は前述の各実施の形態によって限定されるものではない。例えば、機器テーブル作成要求情報が、ペイロードに制御装置1に付与されたMACアドレス情報とは異なる制御装置1に固有の機器識別情報のみを含むものであってもよい。
各実施の形態では、ネットワーク参加通知情報が、被制御機器3サービス識別情報ESVが「INF」に設定され、プロパティ種別情報EPCが、インスタンスリスト通知を示す「0xD5」に設定されているEchonetLite規格に適合した電文(EL電文)を含むものである例について説明した。但し、ネットワーク参加通知情報は、必ずしもEL電文を含むものに限定されるものではない。
実施の形態2では、制御装置2001が機器テーブル情報を記憶する機器情報記憶部2133を備える例について説明したが、これに限定されるものではない。例えば、端末装置2004が、SIMカードに記憶された情報に基づいて、機器情報記憶部431が記憶する機器テーブル情報を直接クラウドサーバ2002へ送信する機能を有するものであってもよい。
また、本開示に係る制御装置1、2001、3001、クラウドサーバ2、2002の各種機能は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現されてもよい。この場合、ソフトウェアまたはファームウェアは、プログラムとして記述され、プログラムを、フレキシブルディスク、CD−ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disc)、MO(Magneto-Optical Disc)等のコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータに読み込んでインストールすることにより、前述の各機能を実現することができるコンピュータを構成してもよい。そして、各機能をOS(Operating System)とアプリケーションとの分担、またはOSとアプリケーションとの協働により実現する場合には、OS以外の部分のみを記録媒体に格納してもよい。
さらに、搬送波に各プログラムを重畳し、通信ネットワークを介して配信することも可能である。例えば、通信ネットワーク上の掲示板(BBS,Bulletin Board System)に当該プログラムを掲示し、ネットワークを介して当該プログラムを配信してもよい。そして、これらのプログラムを起動し、OSの制御下で、他のアプリケーションプログラムと同様に実行することにより、前述の処理を実行できるようにしてもよい。
本出願は、2020年10月6日に出願された、国際出願PCT/JP2020/037826号に基づく。本明細書中に国際出願PCT/JP2020/037826号の明細書、請求の範囲、図面全体を参照として取り込むものとする。