以下に、本発明に係る配信システム、配信方法、設定プログラム、配信プログラムおよび復号化プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。本実施例では、BLEに対応するよりも前の規格のBluetooth(登録商標)を「Bluetooth(登録商標) Classic」と称する。
[システム構成]
最初に、情報を配信する配信システムの一例を説明する。図1は、配信システム構成の一例を説明する図である。図1に示すように、配信システム10は、情報設定端末11と、複数の配信装置12と、複数の受信端末13とを有する。なお、図1の例では、配信装置12および複数の受信端末13をそれぞれ2台を図示したが、配信装置12および受信端末13の数はそれぞれ任意の数とすることができる。また、図1の例では、情報設定端末11を1台とした場合を例示したが、これに限定されず、情報設定端末11も任意の数とすることができる。
配信システム10は、無線通信により各種の情報を配信するシステムである。例えば、配信システム10は、配信装置12からBLEにより各種の情報を配信する。スマートフォン、タブレット端末など各種の端末装置は、BLEに対応している。例えば、Apple(登録商標)社のiOSは、バージョン7以降、BLEを利用したiBeacon(登録商標)に対応している。また、Android(登録商標)は、バージョン4.3以降、BLEに対応している。
情報設定端末11は、配信装置12に配信させる配信情報を設定する端末装置である。例えば、情報設定端末11は、データの配信を管理する管理者が所持するスマートフォンやタブレット端末、パーソナルコンピュータなどの情報処理装置などである。情報設定端末11は、管理者から配信対象とする配信情報の入力を受け付け、受け付けた情報を配信装置12に設定する。本実施例では、情報設定端末11が第一の端末装置に対応する。
配信装置12は、無線により情報の配信を行う装置である。例えば、配信装置12は、BLEに対応したビーコン(Beacon)装置など、近距離無線通信により周期的に所定範囲に情報を配信する無線装置である。BLEでは、例えば、数mから50m程度の範囲に情報の配信が可能とされている。BLEは、送信時消費電流が少ない。このため、配信装置12は、小型電池での長時間駆動が可能とされている。配信装置12は、情報設定端末11から設定された情報を配信する。ここで、BLEは、配信可能な情報量が、例えば、約30byte程度と小さい。そこで、配信装置12は、配信情報をBLEのパケットで送信可能なサイズに分割する。そして、配信装置12は、分割されたそれぞれの分割データに、当該分割データを識別するシーケンス番号および分割数を付与して順次配信する。
受信端末13は、配信される情報を受信する端末装置である。例えば、受信端末13は、ユーザが所持するスマートフォンやタブレット端末、パーソナルコンピュータなどの情報処理装置などである。受信端末13は、配信装置12から配信される情報を受信する。受信端末13は、受信した情報を結合して分割前の情報を復元する。これにより、配信システム10は、別途管理サーバを設けることなく直接利用可能な情報を提供できる。本実施例では、受信端末13が第二の端末装置に対応する。
[情報設定端末、配信装置および受信端末の構成]
次に、情報設定端末11、配信装置12および受信端末13の構成について説明する。図2は、情報設定端末、配信装置および受信端末の機能的な構成の一例を示す図である。図2に示すように、情報設定端末11は、無線通信I/F(インタフェース)部20と、表示部21と、入力部22と、記憶部23と、制御部24とを有する。なお、情報設定端末11は、上記の機器以外の他の機器を有してもよい。例えば、情報設定端末11は、移動体通信網や無線LAN(Local Area Network)により通信を行う無線通信I/F部20とは異なる他の通信部を有してもよい。
無線通信I/F部20は、他の装置との間で通信制御を行うインタフェースである。無線通信I/F部20としては、BLEに対応した無線チップを採用できる。なお、無線通信I/F部20は、さらにBluetooth(登録商標) Classicに対応していてもよい。
無線通信I/F部20は、近距離無線通信により他の装置と各種情報を送受信する。例えば、無線通信I/F部20は、配信装置12からBLEにより配信される情報を受信する。また、例えば、無線通信I/F部20は、配信装置12へBLEの無線通信により各種の情報を送信する。
ここで、本実施例に係る配信システム10で使用される無線通信について説明する。BLEの通信方式には、1対1で通信が可能な接続モードと、1対nの一方向通信が可能なアドバタイズモードである。アドバタイズモードは、接続を確立せずにパケットをブロードキャストしており、所定の送信周期でパケットを送信する。接続モードは、ペアリング方式の通信方式であり、接続を確立すると連続的なパケットを送受信が可能なため、アドバタイズモードに比べて、通信速度が速い。そこで、本実施例に係る配信システム10は、配信装置12へBLEの接続モードの通信により各種の情報を送信する。例えば、情報設定端末11は、BLEの接続モードの通信により配信情報を配信装置12へ送信する。配信装置12は、配信情報をBLEのパケットで送信可能な所定のサイズに分割して順次配信する。
ここで、アドバタイズモードで各種の情報を送信する際のパケットのフォーマットについて説明する。図3は、パケットのフォーマットの一例を示す図である。図3は、BLEの通信で使用される無線通信のパケットのフォーマットの一例を示している。図3に示すようにパケットは、「Preamble」、「Access Address」、「PDU Header」、「Adv Address」、「AD Flags」、「Advertisement Data」、「CRC」の各領域を有する。「Preamble」、「Access Address」、「PDU Header」、「Adv Address」および「CRC」は、BLEに準拠したデータが格納される領域である。本実施例では、「AD Flags」および「Advertisement Data」の31byteの領域を使用して各種の情報を伝送する。
例えば、図3の例では、「AD Flags」および「Advertisement Data」の31byteの領域は、「BT/iOS Hdr」、「追加ヘッダ」、「Data」の各領域に分かれている。
「BT/iOS Hdr」の領域は、データサイズが11byteとされ、iBeacon(登録商標)に準拠したデータが格納される。
「追加ヘッダ」の領域は、「SUN+0x46」、「製造番号」および「SEQ」の各領域に分かれている。「SUN+0x46」の領域は、データサイズが1byteとされ、通信を制御するための制御コードが格納される。「製造番号」の領域は、データサイズが2byteとされ、配信装置12を識別する製造番号が格納される。配信装置12には、それぞれ一意の製造番号が付与される。「製造番号」の領域には、パケットの配信元の配信装置12の製造番号が格納される。「SEQ」の領域は、データサイズが1byteとされ、データを分割して配信する場合、配信したデータを識別するシーケンス番号と分割数がそれぞれ4bitずつに分けて格納される。例えば、分割数15のうちの8番目の場合、「SEQ」の領域には、「8/15」をビット化した「10001111」が格納される。
「Data」の領域は、「会社コード」、「管理コード」、「プロファイルNo」、「プロファイルData」、「暗号化確認」の各領域に分かれている。「会社コード」、「管理コード」および「プロファイルNo」の領域は、データサイズが合わせて3byteとされている。本実施例では、16種類のフォーマットを定義可能とするため、「プロファイルNo」の領域のデータサイズとして4bitを確保する。「会社コード」、「管理コード」および「管理コード」の領域のデータサイズは、3byteの範囲でどのように定めてもよい。例えば、「会社コード」の領域のデータサイズを12bitとし、「管理コード」の領域のデータサイズを8bitとしてもよい。「会社コード」の領域は、データの配信元を識別する識別情報を記憶する領域である。配信元には、一意の識別情報が付与される。例えば、本実施例に係る配信システム10を使用する配信元の会社には、会社の識別情報として一意の会社コードを割り当てる。「会社コード」の領域には、配信元の会社コードが格納される。「管理コード」の領域は、配信元で配信を管理するための識別情報を記憶する領域である。例えば、異なる配信装置12から異なる情報を配信しており、受信可能な受信端末13を分けたい場合、配信元は、異なる管理コードを割り当てる。「プロファイルNo」の領域は、配信情報の種類を示すプロファイル情報を格納する領域である。ここで、本実施例に係る配信システム10では、配信情報として、複数種類のデータを無線通信で配信する。本実施例では、配信情報の種類として、プロファイルNo:00〜15の16種類のフォーマットを定めることが可能とされており、プロファイルNo:00、01、02、03、04、15についてフォーマットを定めている。「プロファイルNo」の領域には、データの種類に応じたプロファイルNoが格納される。「プロファイルData」の領域は、プロファイルNoに応じたデータを格納する領域である。「プロファイルData」の領域に格納するデータの詳細は、後述する。「暗号化確認」の領域は、データサイズが3byteとされ、「プロファイルData」の領域のデータを復号化した場合に正しく復号化できたかを確認するための確認用データを記憶する領域である。
本実施例に係る配信システム10では、情報設定端末11がプロファイルNo:01、02、03、04、15の配信情報をBLEの接続モードの無線通信により配信装置12へ送信する。配信装置12は、受信した配信情報をBLEのアドバタイズモードのパケットで送信可能なサイズに分割する。そして、配信装置12は、分割されたそれぞれの分割データに、当該分割データを識別するシーケンス番号および分割数を付与して順次配信する。
次に、配信情報のフォーマットについて説明する。図4Aは、プロファイルNo:01のデータのフォーマットの一例を示す図である。
プロファイルNo:01は、無線LANに関する設定を格納するデータである。図4Aに示すように、プロファイルNo:01は、「制御アドレス」、「距離条件」、「信号強度」の各領域を有する。また、プロファイルNo:01は、「SIZE(1)」、「無線LAN接続(SSID)」、「SIZE(2)」、「無線LAN接続(セキュリティキー)」、「SIZE(3)」、「文字列(URL)」の各領域を有する。プロファイルNo:01のデータは、全体で最大234byteとされている。
「制御アドレス」の領域は、データサイズが1byteとされ、距離条件でどのような制御を行うかの制御情報を格納する領域である。制御アドレスは、配信システム10を使用するアプリケーションを開発する開発者によりコード体系を設計可能とれている。「距離条件」の領域は、データサイズが1byteとされ、配信装置12からの距離による対象範囲を示す範囲情報を格納する領域である。本実施例では、対象範囲として、無制限、基準距離以上、基準距離未満、近接の4パターンを設定することが可能とされている。本実施例では、基準距離を、例えば、1mとしている。「信号強度」の領域は、所定距離での標準の信号強度を格納する領域である。本実施例では、所定距離を、例えば、基準距離と同じ1mとしている。ここで、無線通信では、配信装置12から同じ信号強度でパケットを送信しても、受信されるパケットの信号強度が周辺環境によって変化する。「信号強度」の領域の標準の信号強度のデータは、受信側で信号強度から距離を推定する際の基準として用いられる。
「無線LAN接続(SSID)」、「無線LAN接続(セキュリティキー)」および「文字列(URL)」の各領域は、それぞれデータサイズが変更可能とされている。本実施例では、「無線LAN接続(SSID)」の領域を32byteとし、「無線LAN接続(セキュリティキー)」の領域を64byteとし、「文字列(URL)」の領域を132byteとしている。
「SIZE(1)」の領域は、データサイズが1byteとされ、「無線LAN接続(SSID)」領域のデータサイズを格納する領域である。本実施例では、「SIZE(1)」の領域に「無線LAN接続(SSID)」領域のデータサイズである32byteを示す値が格納される。「無線LAN接続(SSID)」の領域は、無線LANに設定するSSID(Service Set Identifier)を格納する領域である。「SIZE(2)」の領域は、データサイズが1byteとされ、「無線LAN接続(セキュリティキー)」領域のデータサイズを格納する領域である。本実施例では、「SIZE(2)」の領域に「無線LAN接続(セキュリティキー)」領域のデータサイズである64byteを示す値が格納される。「無線LAN接続(セキュリティキー)」の領域は、無線LANに設定するセキュリティキーを格納する領域である。「SIZE(3)」の領域は、データサイズが1byteとされ、「文字列(URL)」領域のデータサイズを格納する領域である。本実施例では、「SIZE(2)」の領域に「文字列(URL)」領域のデータサイズである132byteを示す値が格納される。「文字列(URL)」の領域は、無線LANで通信可能となった場合に最初にアクセスするURL(Uniform Resource Locator)を格納する領域である。
図4Bは、プロファイルNo:02のパケットのフォーマットの一例を示す図である。
プロファイルNo:02は、URLなどの文字列を設定するデータである。図4Bに示すように、プロファイルNo:02は、「制御アドレス」、「距離条件」、「信号強度」の各領域を有する。また、プロファイルNo:02は、「サイズ」、「文字列(URL)」の領域を有する。プロファイルNo:02のデータは、全体で最大234byteとされている。
「制御アドレス」、「距離条件」、「信号強度」の各領域は、図4Aと同様であるため、説明を省略する。
「文字列(URL)」の領域は、データサイズが変更可能とされている。本実施例では、「文字列(URL)」の領域を230byteとしている。
「SIZE」の領域は、データサイズが1byteとされ、「文字列(URL)」領域のデータサイズを格納する領域である。本実施例では、「SIZE」の領域に「文字列(URL)」領域のデータサイズである230byteを示す値が格納される。「文字列(URL)」の領域は、URLなど配信する文字列を格納する領域である。
図4Cは、プロファイルNo:03のデータのフォーマットの一例を示す図である。
プロファイルNo:03は、メッセージを設定するデータである。図4Cに示すように、プロファイルNo:03は、「制御アドレス」、「距離条件」、「信号強度」の各領域を有する。また、プロファイルNo:03は、「サイズ(1)」、「文字列(タイトル)」、「サイズ(2)」、「文字列(メッセージ)」の領域を有する。プロファイルNo:03のデータは、全体で最大234byteとされている。
「制御アドレス」、「距離条件」、「信号強度」の各領域は、図4Aと同様であるため、説明を省略する。
「文字列(タイトル)」および「文字列(メッセージ)」の各領域は、それぞれデータサイズが変更可能とされている。本実施例では、「文字列(タイトル)」の領域を30byteとし、「文字列(メッセージ)」の領域を199byteとしている。
「SIZE(1)」の領域は、データサイズが1byteとされ、「文字列(タイトル)」領域のデータサイズを格納する領域である。本実施例では、「SIZE(1)」の領域に「文字列(タイトル)」領域のデータサイズである30byteを示す値が格納される。「文字列(タイトル)」の領域は、メッセージのタイトルとして表示する文字列を格納する領域である。「SIZE(2)」の領域は、データサイズが1byteとされ、「文字列(メッセージ)」領域のデータサイズを格納する領域である。本実施例では、「SIZE(2)」の領域に「文字列(メッセージ)」領域のデータサイズである199byteを示す値が格納される。「文字列(メッセージ)」の領域は、メッセージの本文として表示する文字列を格納する領域である。
図4Dは、プロファイルNo:04のデータのフォーマットの一例を示す図である。
プロファイルNo:04は、階層構造のIDを設定するデータである。図4Dに示すように、プロファイルNo:04は、「制御アドレス」、「距離条件」、「信号強度」の各領域を有する。また、プロファイルNo:04は、「第1階層ID」、「第2階層ID」、「第3階層ID」の領域を有する。プロファイルNo:04のデータは、全体で9byteとされている。
「制御アドレス」、「距離条件」、「信号強度」の各領域は、図4Aと同様であるため、説明を省略する。
「第1階層ID」、「第2階層ID」、「第3階層ID」の各領域は、それぞれデータサイズが2byteとされ、階層構造のIDを格納する領域である。例えば、「第1階層ID」の領域には、店舗を識別する店舗IDが格納される。「第2階層ID」の領域には、店舗内のフロアを識別するフロアIDが格納される。「第3階層ID」には、フロア内の棚を識別する棚IDが格納される。
図4Eは、プロファイルNo:15のデータのフォーマットの一例を示す図である。
プロファイルNo:15は、フリーフォマットのデータである。プロファイルNo:15では、配信システム10を使用するアプリケーションを開発する開発者がフォーマットを設計可能とされている。図4Eに示すように、プロファイルNo:15は、「free format」の領域を有する。プロファイルNo:15のデータは、全体で最大234byteとされている。
「free format」の領域は、データサイズが234byteとされ、開発者が設計したフォーマットのデータを格納する領域である。
本実施例に係る配信システム10では、情報設定端末11がプロファイルNo:01、02、03、04、15の配信情報をBLEの接続モードの通信により配信装置12へ送信する。配信装置12は、受信した配信情報をBLEのアドバタイズモードのパケットで送信可能なサイズに分割する。そして、配信装置12は、分割されたそれぞれの分割データに、当該分割データを識別するシーケンス番号および分割数を付与してBLEのアドバタイズモードで順次配信する。
次に、配信装置12がBLEのアドバタイズモードにより各プロファイルNoの情報を送信する際のパケットのフォーマットについて説明する。配信装置12は、配信情報が設定されていない場合、プロファイルNo:00のパケットを配信する。一方、配信装置12は、配信情報が設定された場合、信対象のデータをBLEのパケットで送信可能な所定のサイズに分割して配信する。本実施例では、「会社コード」、「管理コード」、「プロファイルNo」の領域の3byte、プロファイルNo:01〜15の最大234byte、および「暗号化確認」の領域の3byteを合計すると最大240byteとなる。配信装置12は、最大240byteのデータを16byteずつ最大15個に分割して配信する。
図5は、パケットのフォーマットの一例を示す図である。図5は、BLEにより送信されるパケットのフォーマットの一例を示している。図5は、プロファイルNo:00のパケットを示している。なお、図3と同様の部分については、適宜説明を省略する。
「SEQ」の領域は、データサイズが1byteとされ、データを分割して配信する場合、配信したデータを識別するシーケンス番号と分割数がそれぞれ4bitずつに分けて格納される。図5に示すプロファイルNo:00のデータは、分割されず1パケットで送信されるため、「SEQ」の領域に「1/1」が固定で格納される。
「会社コード」の領域には、パケットの配信元の配信装置12の会社コードが格納される。「管理コード」の領域には、配信装置12が初期状態の場合、所定の初期値が格納され、管理コードが変更された場合、変更された管理コードが格納される。「プロファイルNo」の領域は、配信するデータの種類を示すプロファイル情報を格納する領域である。図5は、プロファイルNo:00のパケットのフォーマットである。このため、「プロファイルNo」の領域には、「00」が固定で格納される。図5の例では、図3に示す「プロファイルData」の領域が、「NULL」の領域とされている。「NULL」の領域は、データサイズが10byteとされ、パケットのサイズをiBeacon(登録商標)に準拠したデータサイズに調整するために設けた領域である。「NULL」の領域には、Nullのデータが格納される。
図6A〜図6Cは、パケットのフォーマットの一例を示す図である。図6A〜図6Cは、配信情報を15個に分割してBLEのアドバタイズモードにより送信されるパケットのフォーマットの一例を示している。図6Aは、シーケンス番号「1」のパケットを示している。図6Bは、シーケンス番号「2」〜「14」のパケットを示している。図6Cは、シーケンス番号「15」のパケットを示している。なお、図3と同様の部分については、適宜説明を省略する。
「SEQ」の領域は、データを分割して配信する場合、配信したデータを識別するシーケンス番号と分割数がそれぞれ4bitずつに分けて格納される。
図6Aに示す「Data」の領域には、配信情報を分割した最初の16byteの分割データが格納されており、「会社コード」、「管理コード」、「プロファイルNo」、「プロファイルData」の各領域に分かれている。図6Bに示す「Data」の領域には、配信情報を分割した中間部分の16byteの分割データが格納されており、「プロファイルData」の領域とされている。図6Cに示す「Data」の領域には、配信情報を分割した最後の16byteの分割データが格納されており、「プロファイルData」および「暗号化確認」の各領域に分かれている。
図2に戻り、表示部21は、各種情報を表示する表示デバイスである。表示部21としては、LCD(Liquid Crystal Display)などの表示デバイスが挙げられる。表示部21は、各種情報を表示する。例えば、表示部21は、各種の操作画面など各種の画面を表示する。
入力部22は、各種の情報を入力する入力デバイスである。例えば、入力部22としては、情報設定端末11に設けられた各種のボタンや、表示部21上に設けられた透過型のタッチセンサなどの入力デバイスが挙げられる。入力部22は、各種の情報の入力を受け付ける。例えば、入力部22は、検証に関する各種の操作入力を受け付ける。入力部22は、ユーザからの操作入力を受け付け、受け付けた操作内容を示す操作情報を制御部24に入力する。なお、図2の例では、機能的な構成を示したため、表示部21と入力部22を別に分けているが、例えば、タッチパネルなど表示部21と入力部22を一体的に設けたデバイスで構成してもよい。
記憶部23は、各種のデータを記憶する記憶デバイスである。例えば、記憶部23は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)などのデータを書き換え可能な半導体メモリである。なお、記憶部23は、ハードディスク、SSD(Solid State Drive)、光ディスクなどの記憶装置であってもよい。
記憶部23は、制御部24で実行されるOS(Operating System)や各種プログラムを記憶する。例えば、記憶部23は、後述する処理を実行するプログラムを含む各種のプログラムを記憶する。さらに、記憶部23は、制御部24で実行されるプログラムで用いられる各種データや各種の設定に関する情報を記憶する。
制御部24は、情報設定端末11を制御するデバイスである。制御部24としては、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路を採用できる。制御部24は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部24は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部24は、受信部30と、結合部31と、復号化部32と、受付部33と、暗号化部34と、送信部35とを有する。
受信部30は、配信装置12から配信される情報を無線通信I/F部20を介して受信する。例えば、配信装置12が初期状態の場合、受信部30は、図5に示したフォーマットのパケットを配信装置12から受信する。また、例えば、配信装置12に配信情報が設定された場合、受信部30は、配信情報を分割した分割データを含んだパケットを配信装置12から受信する。例えば、受信部30は、図6A〜図6Cに示したフォーマットのパケットを配信装置12から受信する。
結合部31は、受信したBLEのパケットのデータを結合する。例えば、結合部31は、受信したパケットの「SEQ」の領域のデータからシーケンス番号と分割数を求める。そして、結合部31は、パケットに含まれる製造番号が一致する、分割数分のシーケンス番号のパケットを全て受信できたかを判定する。結合部31は、分割数分のシーケンス番号のパケットを全て受信した場合、パケットの「Data」領域のデータをシーケンス番号の順に結合する。
復号化部32は、結合部31により結合されたデータを復号化する。復号化の詳細は、後述する。これにより、復号化されたデータの会社コード、管理コード、プロファイルNo、プロファイルNoにて定義されるデータが暗号化前の状態に復元される。
受付部33は、各種の入力を受け付ける。例えば、受付部33は、各種の画面を表示部21に表示させ、入力部22から入力を受け付ける。例えば、受付部33は、会社コード・管理コード入力画面を表示させ、会社コードおよび管理コードの入力を受け付ける。
図7は、会社コード・管理コード入力画面の一例を示す図である。会社コード・管理コード入力画面100は、会社コードの入力領域101と、管理コードの入力領域102と、OKボタン103とを有する。
管理者は、入力領域101に会社コードを入力し、入力領域102に管理コードを入力してOKボタン103を選択する。
受付部33は、会社コード・管理コード入力画面100から入力された会社コードおよび管理コードを指定会社コードおよび指定管理コードとして記憶部23に記憶する。
受付部33は、復号化部32により復元されたデータの会社コードおよび管理コードが、指定会社コードおよび指定管理コードと一致する場合、復元されたデータの配信元の配信装置12に関する情報を表示部21に表示させる。例えば、受付部33は、配信元の配信装置12の端末番号を表示部21に表示させる。
受付部33は、表示した配信装置12から各種の設定を変更する変更対象の配信装置12の選択を受け付ける。受付部33は、選択された変更対象の配信装置12から設定を取得する。例えば、受付部33は、変更対象の配信装置12に接続モードで接続し、設定されている各種の情報を取得する。例えば、受付部33は、配信情報や、制御アドレス、距離条件、信号強度、パケットの送信周期、パケットの切替周期などを変更対象の配信装置12から取得する。
受付部33は、変更対象の配信装置12の設定を変更する各種の設定変更画面を表示部21に表示させ、入力部22から入力を受け付ける。例えば、受付部33は、設定変更のメニュー画面を表示させ、メニュー画面から表示される各画面から配信情報や、制御アドレス、距離条件、信号強度、パケットの送信周期、パケットの切替周期などの入力を受け付ける。
図8Aは、設定変更のメニュー画面の一例を示す図である。メニュー画面110は、無線LAN接続ボタン111A、URLボタン111B、メッセージボタン111C、IDボタン111D、Free formatボタン111E、管理設定ボタン111Fを有する。無線LAN接続ボタン111Aは、選択されると、無線LANに関する設定変更画面が表示される。URLボタン111Bは、選択されると、URLに関する設定変更画面が表示される。メッセージボタン111Cは、選択されると、メッセージに関する設定変更画面が表示される。IDボタン111Dは、選択されると、IDに関する設定変更画面が表示される。Free formatボタン111Eは、選択されると、フリーフォマットでデータを設定する設定変更画面が表示される。管理設定ボタン111Fは、配信動作などの管理設定を行う設定変更画面が表示される。配信装置12は、プロファイルNo:01〜15の何れか1つで配信情報を設定可能とされている。このため、メニュー画面110では、無線LAN、URL、メッセージ、ID、free formatの何れかに1を選択的に配信情報を設定できる。
受付部33は、変更対象の配信装置12に配信情報が設定されている場合、配信情報の種類に応じたボタン111に対応させてチェックマーク116を表示させる。図8Aの例では、変更対象の配信装置12に無線LAN接続に関する配信情報が設定されていることを示す。配信装置12に情報が設定されている場合、設定変更画面には、設定された情報がデフォルト表示される。図8Aの例では、無線LAN接続ボタン111Aが選択された場合、無線LANに関する設定変更画面には、設定された情報がデフォルト表示される。
図8Bは、無線LANに関する設定変更画面の一例を示す図である。設定変更画面120は、SSIDの入力領域121と、セキュリティキーの入力領域122と、URLの入力領域123と、Setボタン124とを有する。
管理者は、無線LANに設定するSSIDを入力領域121に入力し、無線LANに設定するセキュリティコードを入力領域122に入力し、最初にアクセスするURLを入力領域123に入力してSetボタン124を選択する。受付部33は、Setボタン124を選択されると、配信情報の種類に応じたプロファイルのデータを生成する。例えば、受付部33は、設定変更画面120に入力された情報に基づいて、図4Aに示したプロファイルNo:01のデータを生成する。
図8Cは、URLに関する設定変更画面の一例を示す図である。設定変更画面130は、URLの入力領域131と、Setボタン132とを有する。
管理者は、参照先とするURLを入力領域131に入力してSetボタン132を選択する。受付部33は、Setボタン132を選択されると、設定変更画面130に入力された情報に基づいて、図4Bに示したプロファイルNo:02のデータを生成する。
図8Dは、メッセージに関する設定変更画面の一例を示す図である。設定変更画面140は、メッセージのタイトルの入力領域141と、メッセージの本文の入力領域142と、Setボタン143とを有する。
管理者は、配信するメッセージのタイトルを入力領域141に入力し、配信するメッセージの本文を入力領域142に入力してSetボタン143を選択する。受付部33は、Setボタン143を選択されると、設定変更画面140に入力された情報に基づいて、図4Cに示したプロファイルNo:03のデータを生成する。
図8Eは、IDに関する設定変更画面の一例を示す図である。設定変更画面150は、第1階層のIDの入力領域151と、第2階層のIDの入力領域152と、第3階層のIDの入力領域153と、Setボタン154とを有する。
管理者は、配信する第1階層のIDを入力領域151に入力し、配信する第2階層のIDを入力領域152に入力し、配信する第3階層のIDを入力領域153に入力してSetボタン154を選択する。受付部33は、Setボタン154を選択されると、設定変更画面150に入力された情報に基づいて、図4Dに示したプロファイルNo:04のデータを生成する。
図8Fは、フリーフォマットのデータの設定変更画面の一例を示す図である。設定変更画面160は、データの入力領域161と、Setボタン162とを有する。
管理者は、配信するデータを入力領域161に入力してSetボタン162を選択する。受付部33は、Setボタン162を選択されると、設定変更画面160に入力された情報に基づいて、図4Eに示したプロファイルNo:15のデータを生成する。
図8Gは、管理設定を行う設定変更画面の一例を示す図である。設定変更画面170は、管理コードの入力領域171と、パケットの送信周期の入力領域172と、パケットの切替周期の入力領域173と、制御アドレスの入力領域174と、距離条件の入力領域175と、信号強度の入力領域176と、Setボタン177とを有する。距離条件の入力領域175は、選択した場合、距離条件の選択候補が表示される。例えば、入力領域175には、距離条件の選択候補として、無制限、基準距離以上、基準距離未満、近接が表示される。入力領域175は、表示された選択候補から選択することで入力可能とされている。
管理者は、設定変更画面170の設定を変更する対象に対して変更内容を入力する。例えば、管理者は、管理コードを変更する場合、新たな管理コードを入力領域171に入力する。また、管理者は、BLEでのパケットの送信周期、パケットの切替周期を変更する場合、新たなパケットの送信周期を入力領域172に入力し、パケットの切替周期を入力領域173に入力する。また、管理者は、配信する制御アドレスを変更する場合、新たな制御アドレスを入力領域174に入力する。また、管理者は、距離条件を変更する場合、入力領域175で選択して新たな距離条件を選択する。また、管理者は、配信する基準の信号強度を変更する場合、新たな基準の信号強度を入力領域176に入力する。管理者は、設定の変更が完了すると、Setボタン177を選択する。受付部33は、Setボタン177が選択されると、設定変更画面170の入力領域172の送信周期および入力領域173の送信周期を配信装置12に設定する。また、受付部33は、設定変更画面170の入力領域171の管理コード、入力領域174の制御アドレス、入力領域175の距離条件、入力領域176の信号強度を設定したプロファイルのデータを生成する。例えば、受付部33は、デフォルトで表示させたプロファイルのデータについて、管理コード、制御アドレス、距離条件、信号強度を変更したプロファイルのデータを生成する。
暗号化部34は、受付部33で生成されたプロファイルのデータを暗号化する。例えば、暗号化部34は、暗号キーを用いてAES(Advanced Encryption Standard)128Bitで、受付部33により受け付けたデータを暗号化する。暗号化部34は、受け付けたデータをそのまま暗号化する場合、暗号化するデータがブロック暗号化の単位とマッチしない場合がある。暗号化部34は、暗号化するデータがブロック暗号化に対応した所定のサイズごとに分けられるよう、受け付けたデータに、例えば、Nullなど所定の符号を追加して暗号化する。例えば、本実施例では、所定のサイズが16byteであり、会社コード、管理コードおよびプロファイルNoが合わせて3byteであり、確認用データが3byteである。このため、暗号化部34は、受け付けたプロファイルのデータのバイト数に6を加えた値が16の倍数となるように、プロファイルのデータに所定の符号を追加して暗号化する。すなわち、暗号化部34は、プロファイルのデータに、プロファイルのデータと共に暗号化する付加データを加えたデータ数が所定のサイズごととなるように、プロファイルのデータに所定の符号を追加して暗号化する。
暗号化および復号化に用いる暗号キーは、情報設定端末11および受信端末13に予め同じデータを記憶させてもよく、所定の規則で生成してもよい。所定の規則で生成する場合、例えば、情報設定端末11および受信端末13に予め同じベースキーを記憶させる。情報設定端末11および受信端末13は、受信したパケットのヘッダに含まれる製造番号を用いてベースキーを所定の規則で変換して暗号キーを生成する。これにより、同じ配信装置12から受信したパケットの場合、同じ暗号キーが生成される。なお、製造番号は受信したパケットから取得する例を記載したが、情報を更新する対象となる配信装置12が限られている場合には、情報設定端末11に予め更新対象の配信装置12の製造番号を記憶しておいても良い。さらには、製造番号を用いてベースキーを所定の規則で変換した暗号化キーを予め記憶しておいてもよい。
図9Aは、暗号化の流れを示した図である。受付部33は、プロファイルのデータを生成する。図9A(A)では、プロファイルのデータに確認用データを付加した240バイトのプロファイルのデータが生成されている。確認用データは、暗号化されたデータが正しく復号化できたかを確認するためのデータである。確認用データは、例えば、プロファイルのデータから所定の規則で生成される。
例えば、暗号化部34は、製造番号を用いて暗号キーを生成し、生成した暗号キーを用いてプロファイルのデータを暗号化する。図9A(B)では、プロファイルのデータが暗号化されて240バイトの暗号化されたデータが生成されている。
送信部35は、暗号化されたデータを配信情報として「Data」の領域に格納したパケットを生成し、BLEの接続モードの通信により変更対象の配信装置12へパケットを送信する。
次に、配信装置12の構成について説明する。図2に示すように、配信装置12は、無線通信I/F部40と、記憶部41と、制御部42とを有する。なお、配信装置12は、上記の機器以外の他の機器を有してもよい。例えば、配信装置12は、移動体通信網や無線LAN(Local Area Network)により通信を行う通信部を有してもよい。
無線通信I/F部40は、他の装置との間で通信制御を行うインタフェースである。無線通信I/F部40としては、BLEに対応した無線チップを採用できる。なお、無線通信I/F部40は、さらにBluetooth(登録商標) Classicに対応していてもよい。
無線通信I/F部40は、近距離無線通信により他の装置と各種情報を送受信する。例えば、無線通信I/F部40は、情報設定端末11および受信端末13へBLEにより情報を配信する。また、例えば、無線通信I/F部40は、情報設定端末11からBLEの接続モードの通信により各種の情報を受信する。
記憶部41は、各種のデータを記憶する記憶デバイスである。例えば、記憶部41は、RAM、フラッシュメモリ、NVSRAMなどのデータを書き換え可能な半導体メモリである。なお、記憶部41は、ハードディスク、SSD、光ディスクなどの記憶装置であってもよい。
記憶部41は、制御部42で実行されるOSや各種プログラムを記憶する。例えば、記憶部41は、後述する処理を実行するプログラムを含む各種のプログラムを記憶する。さらに、記憶部41は、制御部42で実行されるプログラムで用いられる各種データや各種の設定に関する情報を記憶する。例えば、記憶部41は、配信情報50と、分割データ51とを記憶する。
制御部42は、配信装置12を制御するデバイスである。制御部42としては、CPU、MPU等の電子回路や、ASIC、FPGA等の集積回路を採用できる。制御部42は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部42は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部42は、受信部60と、分割部61と、配信部62とを有する。
受信部60は、情報設定端末11から配信される情報を無線通信I/F部40を介して受信する。例えば、受信部60は、配信情報を含んだパケットを接続モードの通信により情報設定端末11から受信する。受信部60は、受信したパケットに含まれる配信情報を記憶部41に配信情報50として格納する。
分割部61は、記憶部41に記憶された配信情報50をBLEのパケットで送信可能な所定のサイズに分割する。例えば、分割部61は、配信情報50をデータの前方側から順に16byteずつ最大15個に分割して配信する。分割部61は、配信情報50を分割した各分割データ51に、分割データ51を識別するシーケンス番号を対応付けて記憶部41に格納する。また、分割部61は、分割データ51の分割数を記憶部41に格納する。
配信部62は、BLEにより情報を配信する。例えば、配信部62は、何れか1つの分割データ51を「Data」の領域に格納し、分割データ51を識別するシーケンス番号および分割数を「SEQ」の領域に格納したBLEのパケットを生成する。そして、配信部62は、生成したパケットをパケットの送信周期ごとに送信する。また、配信部62は、パケットの切替周期ごとに、分割データ51を切り替える。例えば、配信部62は、パケットの切替周期ごとに、シーケンス番号の順に分割データ51を格納したパケットを生成する。そして、配信部62は、生成されたパケットをパケットの送信周期ごと送信する。パケットの送信周期およびパケットの切替周期は、記憶部41にそれぞれ所定の初期値が記憶され、情報設定端末11から設定により変更される。
配信装置12は、バッテリ消費を削減するために、パケットの送信周期に合わせて、バッテリを殆ど消費しないスリープ状態としてもよい。例えば、配信装置12は、タイマーを内蔵してパケットの送信周期ごとに起動し、配信部62によるパケットの送信が完了すると、再度スリープ状態となってもよい。配信部62は、同じパケットを送信した回数を記憶部41に記憶させ、所定回同じパケットを送信した場合、切替周期であるものとして、分割データ51を切り替えたBLEのパケットを生成して送信してもよい。
図9Bは、配信情報の分割および配信の流れを示した図である。分割部61は、暗号化された配信情報を所定のサイズに分割する。図9B(A)では、暗号化された240byteの配信情報が前方側から順に16byteずつ15個の分割データに分割されている。
配信部62は、分割データおよび当該分割データのシーケンス番号を含んだパケットを生成する。配信部62は、パケットの切替周期ごとに、シーケンス番号の順に分割データ51を格納したパケットを生成し、生成されたパケットをパケットの送信周期ごと送信する。図9B(B)では、シーケンス番号が1〜15の各パケットが生成され、順に送信されている。
次に、受信端末13の構成について説明する。図2に示すように、受信端末13は、無線通信I/F部70と、表示部71と、入力部72と、記憶部73と、制御部74とを有する。なお、受信端末13は、上記の機器以外の他の機器を有してもよい。例えば、受信端末13は、移動体通信網や無線LAN(Local Area Network)により通信を行う通信部を有してもよい。
無線通信I/F部70は、他の装置との間で通信制御を行うインタフェースである。無線通信I/F部70としては、BLEに対応した無線チップを採用できる。なお、無線通信I/F部70は、さらにBluetooth(登録商標) Classicに対応していてもよい。
無線通信I/F部70は、近距離無線通信により他の装置と各種情報を送受信する。例えば、無線通信I/F部70は、配信装置12からBLEのアドバタイズモードにより配信される情報を受信する。
表示部71は、各種情報を表示する表示デバイスである。表示部71としては、LCDなどの表示デバイスが挙げられる。表示部71は、各種情報を表示する。例えば、表示部71は、各種の操作画面など各種の画面を表示する。
入力部72は、各種の情報を入力する入力デバイスである。例えば、入力部72としては、情報設定端末11に設けられた各種のボタンや、表示部71上に設けられた透過型のタッチセンサなどの入力デバイスが挙げられる。入力部72は、各種の情報の入力を受け付ける。例えば、入力部72は、検証に関する各種の操作入力を受け付ける。入力部72は、ユーザからの操作入力を受け付け、受け付けた操作内容を示す操作情報を制御部74に入力する。なお、図2の例では、機能的な構成を示したため、表示部71と入力部72を別に分けているが、例えば、タッチパネルなど表示部71と入力部72を一体的に設けたデバイスで構成してもよい。
記憶部73は、各種のデータを記憶する記憶デバイスである。例えば、記憶部73は、RAM、フラッシュメモリ、NVSRAMなどのデータを書き換え可能な半導体メモリである。なお、記憶部73は、ハードディスク、SSD、光ディスクなどの記憶装置であってもよい。
記憶部73は、制御部74で実行されるOSや各種プログラムを記憶する。例えば、記憶部73は、後述する各種の処理を実行するプログラムを含む各種のプログラムを記憶する。さらに、記憶部73は、制御部74で実行されるプログラムで用いられる各種データや各種の設定に関する情報を記憶する。
制御部74は、受信端末13を制御するデバイスである。制御部74としては、CPU、MPU等の電子回路や、ASIC、FPGA等の集積回路を採用できる。制御部74は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部74は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部74は、受信部80と、結合部81と、復号化部82と、推定部83と、配信情報処理部84とを有する。
受信部80は、配信装置12から配信される情報を無線通信I/F部70を介して受信する。例えば、受信部80は、配信情報を分割した分割データを含んだパケットを配信装置12から受信する。例えば、受信部80は、図6A〜図6Cに示したフォーマットのパケットを配信装置12から受信する。
結合部81は、受信したパケットのデータを結合する。例えば、結合部81は、受信したパケットの「SEQ」の領域のデータからシーケンス番号と分割数を求める。そして、結合部81は、パケットに含まれる製造番号が一致する、分割数分のシーケンス番号のパケットを全て受信できたかを判定する。結合部81は、分割数分のシーケンス番号のパケットを全て受信した場合、パケットの「Data」領域のデータをシーケンス番号の順に結合する。
復号化部82は、結合部81により結合されたデータを復号化する。復号化部82は、暗号キーを復号キーとして用いてデータを復号化する。暗号キーは、上述したように、情報設定端末11および受信端末13に予め同じデータを記憶させてもよく、所定の規則で生成してもよい。例えば、暗号化部34は、受信したパケットから製造番号を分離する。そして、暗号化部34は、分離した製造番号を用いて暗号キーを生成する。例えば、暗号化部34は、製造番号を用いてベースキーを所定の規則で変換した暗号キーを生成する。暗号化部34は、生成した暗号キーを復号キーとして用いてプロファイルのデータを復号化する。これにより、復号化されたデータの会社コード、管理コード、プロファイルNo、プロファイルNoのデータが暗号化前の状態に復元される。復号化部82は、プロファイルNoのデータから所定の規則で確認用データを生成し、生成した確認用データが復元したデータに含まれる確認用データと一致した場合、正常に復元されたものと判定する。
図9Cは、受信されたデータの結合および復号の流れを示した図である。受信部80は、分割データを含んだパケットを配信装置12から受信する。図9C(A)では、シーケンス番号が1〜15の各パケットが受信されている。結合部81は、パケットに含まれる製造番号ごとに、受信したパケットのシーケンス番号と分割数から全てのパケットを受信できたかを判定する。結合部81は、分割数分のシーケンス番号のパケットを全て受信した場合、パケットの「Data」領域のデータをシーケンス番号の順に結合する。図9C(B)では、各パケットの「Data」領域の16bytのデータがシーケンス番号の順に結合されて240byteのデータとなっている。この240byteのデータは、暗号化された配信情報である。復号化部82は、製造番号を用いてベースキーを所定の規則で変換した暗号キーを復号キーとして用いてデータを復号化する。図9C(C)では、暗号化された240byteのデータが復号化されて暗号化されていない240byteのデータとなっている。この240byteのデータは、配信情報である。
図2に戻り、推定部83は、パケットを送信した配信装置12から距離を推定する。受信されるパケットの信号強度は、配信装置12に近いと高く、配信装置12からの距離が離れるほど低下する。そこで、推定部83は、無線通信I/F部70でパケットが受信された際の信号強度から距離を推定する。ここで、無線通信では、配信装置12から同じ電波送信出力でパケットを送信しても、受信されるパケットの信号強度が周辺環境によって変化する。そこで、推定部83は、パケットの「信号強度」の領域に格納された標準の信号強度のデータを用いて距離を推定する。例えば、推定部83は、パケットが受信された際の信号強度が標準の信号強度より大きい場合、配信装置12から1m未満と推定する。また、推定部83は、パケットが受信された際の信号強度が標準の信号強度以下の場合、配信装置12から1m以上と推定する。また、無線通信では、近接する所定の距離までは、距離が離れるにつれて急激に信号強度が低下する。推定部83は、急激に低下する信号強度の特性から決定した所定の閾値を記憶しており、パケットが受信された際の信号強度が所定の閾値以上大きい場合、配信装置12の近接と推定する。この所定の閾値は、配信装置12の近接と見なす距離に応じて予め設定する。なお、推定部83は、標準の信号強度を基準として用いて、受信されるパケットの信号強度から距離を推定してもよい。例えば、推定部83は、標準の信号強度と、受信されるパケットの信号強度を用いて距離を算出する演算式を用いて距離を推定してもよい。
配信情報処理部84は、復号化された配信情報を利用して各種の処理を行う。例えば、配信情報処理部84は、推定部83により推定された距離が、受信されたパケットの「距離条件」の領域に条件を満たす場合、復号化された配信情報を利用して各種の処理を行う。この各種の処理は、配信情報処理部84が配信情報を利用した処理を実行してもよく、配信情報を他へ提供する処理であってもよい。例えば、配信情報がプロファイルNo:01のデータである場合、配信情報処理部84は、配信情報に基づき、無線LANの設定を行う。また、例えば、配信情報がプロファイルNo:02のデータである場合、配信情報処理部84は、配信情報のURLにアクセスしてURLのページを表示させる。また、例えば、配信情報がプロファイルNo:03のデータである場合、配信情報処理部84は、配信情報のメッセージを表示させる。また、例えば、配信情報がプロファイルNo:04のデータである場合、配信情報処理部84は、第1階層ID、第2階層ID、第3階層IDを他のアプリケーションに提供する。このように、配信システム10は、距離条件で指定された条件を満たす場合だけ処理を実行させることができる。なお、配信情報処理部84は、配信情報に含まれる会社コード、管理コードが、処理対象とする会社コード、管理コードであるか判定し、一致した場合に、配信情報を利用して処理を実行してもよい。処理対象の判定は、会社コード、管理コードの何れか一方のみでもよい。処理対象とする会社コード、管理コードは、予め設定されていてもよく、画面等から入力させてもよい。これにより、配信システム10は、特定の会社コード、管理コードの配信情報でのみ処理を実行させることができる。例えば、商店街やデパートに異なる会社コードを設定し、配信元の会社コードに複数の店舗があり、店舗ごとに異なる管理コードを割り当てる。このような場合に、配信情報処理部84は、会社コードおよび管理コードの一致を条件とすると、特定の店舗から配信される配信情報のみで処理を行わせることができる。一方、配信情報処理部84は、会社コードの一致を条件とすると、全ての店舗から配信される配信情報について処理を行わせることができる。
[処理の流れ]
実施例1に係る配信システム10が実行する処理の流れについて説明する。最初に、配信情報を配信装置12に設定する流れについて説明する。図10は、配信情報を設定する設定処理の流れを示すシーケンス図である。情報設定端末11は、配信情報を設定する設定プログラムが起動したか判定する(S10)。情報設定端末11では、設定プログラムが起動されると(S10肯定)、以降の処理が実行される。
受付部33は、会社コード・管理コード入力画面100を表示させ、会社コードおよび管理コードの入力を受け付ける(S11)。受付部33は、会社コード・管理コード入力画面100から入力された会社コードおよび管理コードを指定会社コードおよび指定管理コードとして記憶部23に記憶する。
配信装置12は、電源がオンされると、BLEのアドバタイズモードでパケットの配信を開始する(S12)。配信装置12は、配信情報が設定されていない場合、プロファイルNo:00のパケットを配信する。一方、配信装置12は、配信情報が設定された場合、配信情報をBLEのパケットで送信可能な所定のサイズに分割して配信する。
受信部30は、配信装置12から配信されたパケットを無線通信I/F部20を介して受信する(S13)。受信部30は、パケットに含まれる製造番号およびシーケンス番号と共に、パケットのデータを格納する(S14)。結合部31は、パケットに含まれる製造番号ごとに、分割数分のシーケンス番号のパケットを全て受信できたかを判定する(S15)。パケットを全て受信できていない場合(S15否定)、上述のS13へ移行する。
一方、パケットを全て受信した場合(S15肯定)、結合部31は、パケットの「Data」領域のデータをシーケンス番号の順に結合する(S16)。復号化部32は、結合部31により結合されたデータを復号化する(S17)。
受付部33は、復元されたデータの会社コードおよび管理コードが、記憶部23に記憶された指定会社コードおよび指定管理コードと一致するか判定する(S18)。会社コードおよび管理コードが一致しない場合(S18否定)、上述のS13へ移行する。
一方、会社コードおよび管理コードが一致した場合(S18肯定)、受付部33は、復元されたデータの配信元の配信装置12の端末番号を表示部21に表示させ、変更対象の配信装置12の選択を受け付ける(S19)。
受付部33は、変更対象の配信装置12が選択されたか否かを判定する(S20)。変更対象の配信装置12が選択されていない場合(S20否定)、上述のS13へ移行する。
一方、変更対象の配信装置12が選択された場合(S20肯定)、送信部35は、変更対象の配信装置12とBLEの接続モードの通信により接続する(S21)。受付部33は、パスワード入力用の画面を表示させてパスワードの入力を受け付ける(S22)。送信部35は、受け付けたパスワードを配信装置12へ送信する(S23)。
配信装置12は、認証用のパスワードを予め記憶している。配信装置12の制御部42は、情報設定端末11から受信したパスワードが認証用のパスワードと一致するか認証を行う(S24)。図10の例では、認証が成功したものとする。
受付部33は、変更対象の配信装置12に設定されている各種の最新情報を取得するための送信要求を送信する(S25)。配信装置12は、設定されている各種の情報を送信する(S26)。例えば、配信装置12は、全ての分割データ51や、制御アドレス、距離条件、信号強度、パケットの送信周期、パケットの切替周期などの情報を送信する。なお、配信装置12は、各分割データ51をBLEのパケットにより連続的に送信してもよく、各分割データ51をまとめて1つのパケットで送信してもよい。受信部30は、配信装置12から配信されたパケットを無線通信I/F部20を介して受信する(S27)。
受付部33は、変更対象の配信装置12の設定を変更する各種の設定変更画面を表示部21に表示させる(S28)。例えば、受付部33は、メニュー画面110を表示させ、メニュー画面から各設定変更画面を表示させる。なお、受信したデータが、プロファイルNo:01、02、03、04、15の場合には、復号化部32で復号した情報を用いて各設定変更画面の入力欄に初期値として表示させる。受付部33は、入力部22から入力を受け付ける(S29)。例えば、受付部33は、配信情報や、管理コード、制御アドレス、距離条件、信号強度、パケットの送信周期、パケットの切替周期などの入力を受け付ける。受付部33は、何れかの各設定変更画面でSetボタンが選択されて設定が完了したか判定する(S30)。設定が完了していない場合(S30否定)、上述のS28へ移行する。ここでは、プロファイルNo:01、02、03、04、15の何れかについて設定が変更されるものとする。
一方、設定が完了した場合(S30肯定)、暗号化部34は、暗号キーを用いて、変更されたプロファイルのデータを暗号化して配信情報を生成する(S31)。送信部35は、配信情報を「Data」の領域に格納したパケットを送信して、配信情報を配信装置12に書き込む(S32)。
受信部60は、情報設定端末11からBLEの接続モードの通信により配信情報を含んだパケットを配信装置12から受信する(S33)。受信部60は、受信したパケットに含まれる配信情報を記憶部41に配信情報50として格納する(S34)。分割部61は、配信情報50をBLEのパケットで送信可能な所定のサイズに分割して格納する(S35)。例えば、分割部61は、配信情報をデータの前方側から順に16byteずつ最大15個に分割して配信する。分割部61は、配信情報を分割した各分割データ51に、分割データ51を識別するシーケンス番号を対応付けて記憶部41に格納する。また、分割部61は、分割データ51の分割数を記憶部41に格納する。
次に、情報を配信し、配信した情報を復号化する流れについて説明する。図11は、情報を配信する配信処理および配信した情報を復号化する復号化処理の流れを示すシーケンス図である。図11に示すように、配信装置12は、電源がオンされる(S50)と、配信処理が開始され、以降の処理が実行される。一方、受信端末13は、配信される情報を受信する受信プログラムが起動したか判定する(S51)。受信端末13では、受信プログラムが起動されると、以降の処理が実行される。
配信部62は、変数nに1をセットする(S52)。この変数nの値は、シーケンス番号を表す。配信部62は、記憶部41に分割データ51に記憶されているか判定する(S53)。分割データ51が記憶されている場合(S53肯定)、配信部62は、変数Nに分割データ51の分割数をセットする(S54)。配信部62は、シーケンス番号がn番目の分割データを「Data」の領域に格納し、分割データ51を識別するシーケンス番号および分割数を「SEQ」の領域に格納したBLEのパケットを生成する(S55)。
一方、分割データ51が記憶されていない場合(S53否定)、配信部62は、「SEQ」の領域には、「1/1」が格納されたBLEのパケットを生成する(S56)。例えば、配信部62は、プロファイルNo:00のパケットを生成する。
配信装置12は配信タイミングになるまでスリープ状態へと移行して待機し(S57否定)、パケットの送信タイミングになると起動する(S57肯定)。配信装置12が起動すると、配信部62は、生成したパケットを送信する(S58)。
受信端末13の受信部80は、分割データを含んだパケットを無線通信I/F部70を介して配信装置12から受信する(S59)。受信部80は、パケットに含まれる製造番号およびシーケンス番号と共に、パケットのデータを格納する(S60)。結合部81は、製造番号ごとに、分割数分のシーケンス番号のパケットを全て受信できたかを判定する(S61)。パケットを全て受信できていない場合(S61否定)、上述のS59へ移行する。
配信部62は、パケットの切替タイミングであるか判定する(S62)。例えば、配信部62は、前回パケットを切り替えてからパケットの切替周期以上、期間が経過している場合、パケットの切替タイミングと判定する。パケットの切替タイミングではない場合(S62否定)、S57へ移行する。一方、パケットの切替タイミングである場合(S62肯定)、配信部62は、変数nの値に1を加算し、シーケンス番号を更新する(S63)。配信部62は、変数nの値が変数Nの値よりも大きいか判定する(S64)。変数nの値が変数Nの値よりも大きくはない場合(S64否定)、上述のS53へ移行する。一方、変数nの値が変数Nの値よりも大きい場合(S64肯定)、配信部62は、変数nに1をセットし(S65)、上述のS53へ移行する。
一方、パケットを全て受信した場合(S61肯定)、結合部81は、パケットの「Data」領域のデータをシーケンス番号の順に結合する(S66)。復号化部82は、結合部81により結合されたデータを復号化する(S67)。
配信情報処理部84は、復号化した配信情報に含まれる会社コードが、処理対象とする会社コードと一致するか判定する(S68)。一致しない場合(S68否定)、上述のS59へ移行する。
一方、一致した場合(S68肯定)、推定部83は、会社コードが一致するパケットが受信された際の信号強度から距離を推定する(S69)。配信情報処理部84は、推定部83により推定された距離が、受信されたパケットの「距離条件」の領域に条件を満たすか判定する(S70)。条件を満たさない場合(S70否定)、上述のS59へ移行する。
一方、条件を満たす場合(S70肯定)、配信情報処理部84は、復号化した配信情報をプロファイルNoのフォーマットに従い分割する(S71)。配信情報処理部84は、分割したデータを利用して所定の処理を実行する(S72)。
[適用例]
次に、本実施例係る配信システムの適用した例を説明する。図12Aは、配信システム10の適用した一例を示す図である。図12Aは、スーパーなどの店舗の売り場で、販売する商品に関連する有益な情報を配信する場合を示している。図12Aの例は、ショッピングカート200に受信端末13が設けられている。また、図12Aの例では、お酒コーナーに配信装置12を配置し、配信装置12から他の商品の情報を配信する。例えば、配信装置12は、ワインに合うおつまみ情報が紹介されたWebページのURLをプロファイルNo:02のフォーマットを用いて配信する。顧客がショッピングカート200を移動させてお酒コーナーに近づくと、受信端末13では、配信装置12の配信する情報が受信され、ワインに合うおつまみ情報が紹介されたWebページが表示される。このように、販売する商品に関連する有益な情報を配信することにより、配信システム10は、顧客に対して有効な販売促進を行うことができる。
図12Bは、配信システムの適用した他の一例を示す図である。図12Bは、スーパーなどの店舗の売り場でリアルタイムに有益な情報を配信する場合を示している。図12Bの例は、ショッピングカート200に受信端末13が設けられている。また、図12Bの例は、店舗の売り場に配信装置12が配置されている。店員は、情報設定端末11を用いて、リアルタイムに有益な情報を配信装置12に設定し、配信装置12から情報を配信する。図12Bの例は、店員がパンの焼き上がり時間を設定すると、焼き上がり時間に対応して、ベーカリーコーナでパンが焼きあがった旨のメッセージをプロファイルNo:03のフォーマットを用いて配信する。受信端末13では、配信装置12の配信する情報が受信され、配信されたメッセージが表示される。このように、リアルタイムに有益な情報を配信することにより、配信システム10は、顧客に対して有効な販売促進を行うことができる。
図12Cは、配信システムの適用した他の一例を示す図である。図12Cは、お土産コーナで顧客に対応した有益な情報を配信する場合を示している。図12Cの例は、顧客が有するスマートフォンに配信システム10に対応したアプリケーションをインストールして受信端末13として機能させる。アプリケーションは、顧客が使用する言語をOSの設定から取得するか、必要に応じて予め入力させる。図12Cの例は、商品に関する情報が紹介したWebページが言語ごとに用意されている。各言語のWebページは、日本語のURLを共通のURLとし、外国語のURLを共通のURLに言語に応じたアドレスを付加したアドレス構成としている。例えば、日本語のWebページは、URLを「http://aaa」としている。英語のWebページは、URLを「http://aaa.english」としている。中国語のWebページは、URLを「http://aaa.chinese」としている。なお、日本語のWebページも共通のURLに、言語に応じたアドレスを付加したアドレス構成としてもよい。図12Cの例は、お土産コーナに配信装置12が配置されている。配信装置12は、共通のURLを配信する。図12Cの例では、「http://aaa」を配信する。受信端末13では、配信されたURLに、言語に応じたアドレス情報を付加したアドレスにアクセスしてWebページを表示させる。図12Cの例では、日本人の受信端末13は、「http://aaa」にアクセスして日本語のWebページを表示される。外人Aの受信端末13は、「http://aaa.english」にアクセスして英語のWebページを表示される。外人Bの受信端末13は、「http://aaa.chinese」にアクセスして中国語のWebページを表示される。このように、配信システム10は、配信する1つのURLを利用して顧客の使用する言語に対応した有益な情報を配信できる。
図12Dは、配信システムの適用した他の一例を示す図である。図12Dは、インフォメーションカウンタで顧客に対応した有益な情報を配信する場合を示している。図12Dの例は、顧客が有するスマートフォンに配信システム10に対応したアプリケーションをインストールして受信端末13として機能させる。アプリケーションは、顧客が使用する言語をOSの設定から取得するか、必要に応じて予め入力させる。アプリケーションは、顧客が使用する言語に応じて管理コードを設定する。図12Dの例は、インフォメーションカウンタに複数の配信装置12が配置されている。店員は、情報設定端末11を用いて、それぞれの言語のメッセージを言語に応じた管理コードを設定して、別の配信装置12に設定する。受信端末13は、複数の配信装置12から受信した情報をバッファリングし、配信装置12の製造番号が同じで全てのシーケンス番号が揃った情報について、結合して復号する。受信端末13は、配信される情報のうち、管理コードが一致する情報を表示させる。図12Dの例では、日本人の受信端末13は、日本語のメッセージが表示される。外人Aの受信端末13は、英語のメッセージが表示される。外人Bの受信端末13は、中国語のメッセージを表示される。このように、配信システム10は、配信装置12を複数配置した場合でも、管理コードによって顧客に対応した有益な情報を配信できる。なお、上記の実施例では、管理コードを用いて配信装置12を特定して表示するメッセージを自動的に選択する仕組みを開示したが、受信した配信装置12の情報を一覧で表示し、顧客が選択できるようにしてもよい。
図12Eは、配信システムの適用した他の一例を示す図である。図12Eは、避難所で
情報を配信する場合を示している。図12Eの例は、避難所に避難した人が有するスマートフォンに配信システム10に対応したアプリケーションをインストールして受信端末13として機能させる。図12Eの例は、避難所に配信装置12が配置されている。配信装置12は、バッテリなどでも動作させることが可能であり、消費電力が小さいため、電源設備がない状況でも長時間情報を配信できる。自治体職員は、情報設定端末11を用いて、配信する情報を設定する。例えば、物資の配布のスケジュールを配信する。配信装置12は、設定された情報を継続的に配信する。受信端末13は、情報が配信されると、配信された情報を表示する。例えば、情報を放送する場合、放送のタイミングに居ない人は、情報を得ることができない。一方、配信システム10では、配信装置12で情報を配信することにより、放送のようにタイミングに制限されず、避難所に避難した人に情報を周知できる。
図12Fは、配信システムの適用した他の一例を示す図である。図12Fは、特定のエリアに対してのみ有効な情報を配信する場合を示している。図12Fの例は、ホテルの客室に配信装置12が配置されている。図12Fの例は、ホテルの宿泊者が有するスマートフォンに配信システム10に対応したアプリケーションをインストールして受信端末13として機能させる。配信装置12は、無線LANの設定に関する情報と、ホテルのポータルサイトのURLをプロファイルNo:01のフォーマットを用いて配信する。受信端末13は、配信された情報に基づき、無線LANを設定し、URLにアクセスしてホテルのポータルサイトを表示する。これにより、宿泊者は、無線LANを自身で設定を行わなくても無線LANに接続できる。また、宿泊者は、ホテルのポータルサイトから宿泊者向けの情報を得ることができる。
図12Gは、配信システムの適用した他の一例を示す図である。図12Gは、移動する位置に沿って有効な情報を配信する場合を示している。図12Gの例は、工場の見学コースに沿って複数の配信装置12が配置されている。図12Gの例は、見学者が有するスマートフォンに配信システム10に対応したアプリケーションをインストールして受信端末13として機能させる。各配信装置12は、配置されている位置に対応したURLやメッセージを配信する。見学者が見学コースに沿って移動して、配置されている配信装置12に近づくと、位置に対応したURLやメッセージが配信される。これにより、個々の見学者に対して位置に応じた情報を配信できる。なお、受信端末13を見学者に貸与する専用端末としてもよい。
[効果]
上述してきたように、本実施例に係る配信システム10では、情報設定端末11は、配信装置12に配信させる配信情報を受け付ける。情報設定端末11は、配信情報を配信装置12に送信する。配信装置12は、送信された配信情報を受信する。配信装置12は、受信した配信情報を記憶部41に記憶する。配信装置12は、記憶した配信情報50を配信するサイズに分割して複数の分割データ51を生成する。配信装置12は、複数の分割データ51を順次選択して配信する。受信端末13は、複数の分割データを受信する。受信端末13は、複数の分割データを結合して配信情報を生成する。これにより、配信システム10は、管理サーバを設けることなく、直接利用可能な情報を提供できる。
また、情報設定端末11は、配信装置12を特定する識別子を取得する。情報設定端末11は、送信する信情報を取得した識別子を用いて暗号化する。配信装置12は、分割データと共に信装置12を識別する識別子を含めて配信する。受信端末13は、受信した情報から配信装置を特定する識別子を分離する。受信端末13は、生成された配信情報を分離した識別子を用いて複合化する。これにより、配信システム10は、配信情報を配信装置ごとに別な暗号キーで暗号化でき、配信情報を受信した受信端末13のみで配信情報を復元できる。
また、情報設定端末11は、配信情報を前記配信するサイズの整数倍に変換する。これにより、配信システム10は、配信情報を配信するサイズごとに分割でき、配信するパケットのサイズを同一にすることができる。
また、情報設定端末11は、配信装置12からの距離による対象範囲の設定をさらに受け付ける。情報設定端末11は、対象範囲を示す範囲情報を配信情報に付加して送信する。受信端末13は、受信される分割情報の信号強度から距離を推定する。受信端末13は、推定された距離が、結合された配信情報に付加された範囲情報が示す対象範囲である場合、配信情報を用いた処理を実行する。これにより、配信システム10は、配信装置12からの距離が範囲情報が示す対象範囲である場合のみ、復元した情報を用いた処理を実行させることができる。
また、情報設定端末11は、配信装置12から所定距離での信号強度の入力をさらに受け付ける。情報設定端末11は、受け付けた信号強度を示す閾値を配信情報に付加して送信する。受信端末13は、結合された配信情報に付加された閾値を用いて、分割情報の信号強度から距離を推定する。これにより、配信システム10は、配信装置12からの所定距離を精度よく推定できる。
また、情報設定端末11は、複数種類のうち何れか1つの種類の配信情報の入力を受け付ける。情報設定端末11は、配信情報の種類を示すプロファイル情報を当該配信情報に付加して送信する。これにより、配信システム10は、配信情報がどのような種類の情報かをプロファイル情報から求めることができる。