(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024005055
(43)【公開日】2024-01-17
(54)【発明の名称】通信装置および通信システム
(51)【国際特許分類】
B60R 16/02 20060101AFI20240110BHJP
【FI】
B60R16/02 660A
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022105045
(22)【出願日】2022-06-29
(71)【出願人】
【識別番号】000237592
【氏名又は名称】株式会社デンソーテン
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】坂口 友理
(72)【発明者】
【氏名】奥原 誠
(72)【発明者】
【氏名】大築 ともえ
(57)【要約】
【課題】車載器の制御を適切に行うことができる通信装置および通信システムを提供すること。
【解決手段】実施形態に係る通信装置は、複数のノードが接続可能な通信装置であって、コントローラを有する。コントローラは、接続されたノードから取得したデータに基づき生成した車両に搭載された車載器の制御データを、車載器に送信して車載器の制御を行うコントローラを有する。コントローラは、車両の状態を示す車両情報に基づいて、制御データによる車載器の制御の可否を決定する。
【選択図】
図1A
【特許請求の範囲】
【請求項1】
複数のノードが接続可能な通信装置であって、
接続されたノードから取得したデータに基づき生成した車両に搭載された車載器の制御データを、前記車載器に送信して前記車載器の制御を行うコントローラを有し、
前記コントローラは、
前記車両の状態を示す車両情報に基づいて、前記制御データによる前記車載器の制御の可否を決定する
通信装置。
【請求項2】
前記制御データによる前記車載器の制御の許可条件を示す許可条件情報を記憶する記憶部をさらに備え、
前記コントローラは、
前記車両情報が前記許可条件情報における許可条件を満たすか否かにより、前記制御データによる前記車載器の制御の可否を決定する
請求項1に記載の通信装置。
【請求項3】
前記ノードは前記車載器を含む
請求項1に記載の通信装置。
【請求項4】
前記コントローラは、
前記制御データによる前記車載器の制御を禁止すると決定した状況が予め定めた所定回数以上連続する場合、前記車両の搭乗者に対してアラートを通知する
請求項1~3のいずれか1つに記載の通信装置。
【請求項5】
前記コントローラは、
前記制御データによる前記車載器の制御を禁止すると決定した状況が予め定めた所定回数以上連続する場合、前記制御データの生成を禁止する
請求項1~3のいずれか1つに記載の通信装置。
【請求項6】
前記制御データの生成を行うための各アプリケーションプログラムを記憶するコンテナを形成する記憶部をさらに備え、
前記コントローラは、
接続された複数のノードに応じて実行するアプリケーションプログラムを前記コンテナから選択して実行することにより、前記制御データを生成する
請求項1~3のいずれか1つに記載の通信装置。
【請求項7】
アプリケーションプログラムが使用するデータを記憶する掲示板を形成する記憶部を備え、
前記コントローラは、
接続された複数のノードから取得したデータを、前記各アプリケーションプログラムが使用できる形態に変換して前記掲示板に記憶する
請求項6に記載の通信装置。
【請求項8】
前記コントローラは、
接続されたノードを識別する情報を、外部のアプリケーションプログラム提供装置に送信し、
前記アプリケーションプログラム提供装置から送信される接続されたノードに応じたアプリケーションプログラムを受信し、前記コンテナに記憶する
請求項6に記載の通信装置。
【請求項9】
複数のノードが接続可能な車両に搭載された通信装置と、前記車両に搭載された車載器とを有する通信システムであって、
前記通信装置は、
接続されたノードから取得したデータに基づき前記車載器の制御データを生成し、
前記車両の状態を示す車両情報に基づいて、前記制御データによる前記車載器の制御の可否を決定して、前記車載器の制御が可と決定した場合に前記制御データを前記車載器に送信し、
前記車載器は、
前記通信装置から送信された制御データを受信し、当該制御データに基づき車載器の動作制御を行う、
通信システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信装置および通信システムに関する。
【背景技術】
【0002】
従来、車両ネットワークを介して車種やメーカ、製造年度に依存しない方法で車両データにアクセス可能とする方法が知られている(例えば、特許文献1参照)。また、この種の技術では、記憶した車両データを使用して車載器の制御データを生成し、車載器へ送信することで当該車載器を制御する技術がある。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の技術では、車両の走行状態等によっては、制御データに基づく車載器の制御が適切ではない状況が起こりうる。
【0005】
本発明は、上記に鑑みてなされたものであって、車載器の制御を適切に行うことができる通信装置および通信システムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上述した課題を解決し、目的を達成するために、本発明に係る通信装置は、複数のノードが接続可能な通信装置であって、コントローラを有する。前記コントローラは、接続されたノードから取得したデータに基づき生成した車両に搭載された車載器の制御データを、前記車載器に送信して前記車載器の制御を行う。前記コントローラは、前記車両の状態を示す車両情報に基づいて、前記制御データによる前記車載器の制御の可否を決定する。
【発明の効果】
【0007】
本発明によれば、車載器の制御を適切に行うことができる。
【図面の簡単な説明】
【0008】
【
図1A】
図1Aは、実施形態に係る通信システムの概要を示す図である。
【
図1B】
図1Bは、実施形態に係るコントローラが有する制御可否決定機能を説明する説明図である。
【
図2】
図2は、実施形態に係る通信装置の機能構成を示すブロック図である。
【
図3】
図3は、実施形態に係る通信装置が実行する処理の処理手順を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、添付図面を参照して、本願の開示する通信装置および通信システムの実施形態を詳細に説明する。なお、以下に示す実施形態により本発明が限定されるものではない。
【0010】
まず、
図1Aを用いて、実施形態に係る通信システムの概要について説明する。
図1Aは、実施形態に係る通信システムの概要を示す概念図である。なお、
図1Aでは、通信システム全般の動作を分かりやすくするため、構成要素(構成的表現)、機能要素(機能的表現)を、適宜、混在使用している。
【0011】
図1Aに示すように、通信システムSは、通信装置1と、複数のノード10と、サーバ装置50とを含む。そして、通信装置1および複数のノード10は、セントラルゲートウェイ(以下、CGW)20を介して、あるいはCGW20を介さずに車両用通信網のCAN(Controller Area Network)や、Wi-Fi(登録商標)等のネットワークに接続されて互いに通信が可能となり、各種情報を送受信する。なお、CGW20を介して接続されるノード10は、セキュリティ性の高い各種機器で、例えば車両の走行制御に関係する駆動系装置等が該当し、ユーザの持つスマートフォン等の携帯機器に関してはCGW20を介さずに通信装置1に接続する場合が多くなる。また、通信装置1およびサーバ装置50は、例えば、インターネット網等のネットワークに接続され、各種情報を送受信する。
【0012】
ノード10は、通信装置1と接続されて各種データの送信、または受信を行うもので、独立してある機能を実現する各種装置(通信装置1からのデータの利用、または通信装置1へのデータの提供、を行う)、測定データを通信装置1に提供する各種センサ、また通信装置1からのデータを報知(表示等)するディスプレイ装置やスピーカ装置等の出力デバイス、ユーザの操作内容を示すデータを通信装置1に提供するタッチパネル等の入力デバイス等である。
【0013】
そして、ノード10は、車両に搭載される車載器を含む。車載器は、搭乗者により車両内に持ち込まれて、あるいは車両に近接状態にされて(車両周辺に位置されて)通信装置1に通信接続される装置、車両製造時に組み込まれる装置、車両製造後、および販売後にユーザ等により新たに追加設置される装置、と言った形態のものがある。なお、車両の構造により各ノード10の規模は異なるが、車両製造時に組み込まれる各種装置(ノード10)としては、例えばエンジン制御装置、操舵装置、制動装置、パワーウインドウ装置およびエアコン装置等といったがある。
【0014】
また、ユーザ等により新たに追加設置される装置(ノード10)としては、例えばナビゲーション装置、ドライブレコーダ装置、およびオーディオ・ビジュアル装置等がある。また、搭乗者により車両に持ち込まれる(あるいは近接状態にされる)装置(ノード10)としては、スマートフォン、携帯電話、スマートウォッチ、ゲーム機(通信機能付き)、デスクトップ型PC、ノート型PC、およびタブレット型PC等がある。
【0015】
また、各種センサ(各種装置内蔵分以外)としては、例えば、湿度センサ(車内環境確認用)、降雨センサ等がある。そして、出力デバイスおよび出力デバイスとしては、例えば、集中操作パネルや後席用ディスプレイ等がある。
【0016】
なお、車両製造時に組み込まれる各種装置例、追加設置される装置例、車両に持ち込まれる装置例に分類したが、例示した装置は当該分類に限られるものではなく、他の分類に属するものである場合もある。例えば、ナビゲーション装置は車両製造時に組み込まれる場合もある。さらに、他の車両の各種装置、および信号機などのインフラ機器等も、通信装置1との通信が可能な範囲においては、ノード10となり得る。
【0017】
また、特定のノード10は、当該ノード10の各種機能を実現するために必要な各種センサを構成部品として含む。ノード10が含む各種センサは、例えば、車速センサ、バイタルセンサ、車室の温度を検出する温度センサ、および車室のCO2濃度を検出するCO2センサ、車両の位置を検出するGPS(Global Positioning System)位置センサ、降雨を検出する降雨センサ(雨滴センサ)などである。なお、バイタルセンサは生体情報を取得するセンサで、例えば、脳波を検出する脳波センサ、および脈拍を検出する脈拍センサ等である。
【0018】
また、独立してある機能を実現するノード10は、ECU(Electronic Control Unit)、所謂コントローラを構成部品として含む。ECUは、当該ECUが搭載されたノード10(装置)の動作を制御する。ECUは、例えば、パワートレインECU、運転支援系ECU、マルチメディア系ECU、エアコンECUである。
【0019】
サーバ装置50は、各種機能を実現するプログラムである各種アプリケーション(以下、アプリ)を記憶しており、適当なアプリを通信装置1に提供する。つまり、サーバ装置50は、アプリケーションプログラム提供装置である。これらアプリは、各種ノード10の出力するデータ、例えばノード10が内蔵するセンサのデータを利用するアプリである。そして、各アプリは、当該アプリを利用するために必要なデータ種別と、当該アプリが出力するデータ種別(制御用のデータ、指令データ(所謂コマンド)等)、後述する許可条件情報のデータに関連付けられて、サーバ装置50にアプリDB52として記憶されている。
【0020】
また、サーバ装置50には、ノード10の種別(識別情報)とノード10の持つセンサ(測定データ)種別と、ノード10が使用できる外部からのデータ(制御用のデータ、指令データ(所謂コマンド)等)種別が関連付けられたデータベースが、ノード情報DB54として記憶されている。つまり、サーバ装置50は、ノード10の組み合わせに基づき、ノード情報DB54とアプリDB52により、当該ノード10の組み合わせに対して適当なアプリを選択することが可能となる。
【0021】
通信装置1は、車両に搭載され、ノード10やサーバ装置50との各種データの送受信、データの加工等を実行する。通信装置1は、通信部2と、コンテナ421と、掲示板41と、コントローラ3と、を有する。
【0022】
そして、通信部2は、通信装置1とサーバ装置50との間のデータ通信、および通信装置1と各ノード10間のデータ通信を行う。コンテナ421は、アプリを記憶するもので、書き込みおよび消去可能なメモリで構成される。また、各コンテナ421はメモリ領域を適宜分割する等の方法により構成され、各コンテナ421には1つのアプリが記憶されるようになっている。
【0023】
掲示板41は、各ノード10からのセンサ測定値やその加工データ等を記憶するもので、メモリにより構成される。また、掲示板41は、ノード10からのアクセスが可能となっており、ノード10がノード10の持つセンサの測定値を書き込んだり、ノード10が掲示板41に記憶されたデータを読み取って利用したりすることができる。
【0024】
なお、コンテナ421および掲示板41は、通信装置1がオフの場合でも記憶データが保持されるように、不揮発性のメモリ(フラッシュメモリ、あるいはバックアップ電源付加、等)で構成される。
【0025】
コントローラ3は、通信装置1の各種制御、例えば、通信部2、コンテナ421、掲示板41等の制御、データ加工、データの送受信および書込/消去、等を行う、コントローラであり、マイクロコンピュータ等で構成される。また、コントローラ3は、コンテナ421に記憶されたアプリを実行するコンテナエンジンの機能も持つ。
【0026】
通信装置1は、例えば、Publish/Subscribe方式に基づいたMQTT(Message Queuing Telemetry Transport)を用いて、データをノード10やアプリを実行する後述のコンテナエンジンに配信する(ノード10やコンテナエンジンが、掲示板41にアクセスしてデータを取得する)。具体的には、通信システムSでは、プロバイダである通信装置1が、Publisherであるノード10からデータを取得し、Subscriberであるアプリを実行するコンテナエンジンやノード10にデータを配信する。
【0027】
なお、アプリは、ノード10から取得したデータを使用して、例えば、車両に搭載されたノード10における各種制御に関わる処理を行う。つまり、アプリは、掲示板41に掲載されたデータを取り込んで使用することで車載器等のノード10を制御するための制御データを生成し、当該制御データを通信部2を介して制御対象のノード10へ送信することで、対象のノード10の制御を行う。
【0028】
このようなアプリにより、ノード10は、他のノード10が持つセンサ(当該ノード10が持たないセンサ)の測定値を利用した、より高度なあるいは他の機能を実現できる。例えば、ノード10であるエアコンが、自己の持つ車室内温度センサによる車室内温度に加え、他ノード10が持つ車室内湿度センサによる車室内湿度も使用して最適なエアコン制御を行えるようになる。なお、このような制御は、コンテナ421に記憶された対応するアプリが実行して、ノード10(この例ではエアコン)を制御することになる。また、ノード10(例えば、エアコン)が対応の機能を持っていれば、エアコン(例えば、エアコン)が掲示板41のデータを読み取って行うことも可能である。
【0029】
また、アプリは通信装置1に接続されたノード10に応じて、サーバ装置50から適宜選択されて取得されることになる。具体的には、通信装置1に接続された各ノード10の識別情報がサーバ装置50に送信される。サーバ装置50では、受信した各ノード10の識別情報を用いてノード情報DB54の照合処理を行ない、通信装置1が各ノード10から取得可能なデータ種別(内容)を把握する。そして、サーバ装置50は、把握したこれらデータ種別(内容)に用いてアプリDBの照合処理を行ない、通信装置1が利用可能な適当なアプリを選択し、通信装置1に提供(送信)する。そして、通信装置1は提供を受けた(受信した)アプリをコンテナ421に記憶し、利用する(コンテナエンジンが当該アプリを実行する)。
【0030】
以上が通信システムS(通信装置1)の基本的な構成および機能の概要であるが、次に通信装置1における、コントローラ3および掲示板41の特徴ある機能について説明する。なお、通信装置1の詳細構成については、後述の
図2を用いた説明等で説明する。
【0031】
コンテナエンジン(コントローラ3の処理により実現)は、通信装置1のコンテナに記憶されたアプリを実行する。具体的には、コンテナエンジンは、ノード10からアプリの実行要求を受け付けた場合に、当該ノード10に対応するアプリを実行する。そして、コンテナエンジンは、アプリの実行に伴い、アプリが行う処理に必要なデータを掲示板41から取り込む。そして、コンテナエンジンは、アプリの実行結果により生成された制御データを制御対象のノード10へ出力する。
【0032】
掲示板41は、通信装置1の記憶部4に割り当てられた記憶領域で構成され、各ノード10から取得したデータを記憶する。具体的には、通信装置1は、各ノード10から取得したデータを、そのまま、あるいは取得元以外の各ノード10(当該データを必要とするノード10)によっても使用可能な形式に変換して、掲示板41に掲載(記憶)する。より具体的には、通信装置1は、ノード10から取得したデータを各ノード10が使用できるようにデータの規格を統一して、掲示板41に掲載(記憶)する。
【0033】
掲示板41に記憶されるデータは、データの種類に対応したTOPIC毎に分類される。例えば、異なるノード10からそれぞれ得られた位置情報(GPS)のデータについては、位置情報用のTOPICに分類され、異なるノード10からそれぞれ得られた心拍(HeartRate)のデータは、心拍用のTOPICに分類される。
【0034】
掲示板41に記憶されたデータは、前述のようにノード10からアプリ実行要求があった場合に、コンテナエンジンによるアプリ実行に伴いコンテナエンジンに配信され(コンテナエンジンによりアクセスされ)、使用される。また、掲示板41に記憶されたデータは、ノード10が自身の持つアプリの実行に伴い、ノード10に配信され(ノード10によりアクセスされ)、使用される。
【0035】
制御可否決定機能(コントローラ3の処理により実現)は、車両の状態を示す車両情報に基づいて、コンテナエンジンのアプリ実行により生成された制御データによる制御対象車載器(ノード10)の制御の可否を決定する。具体的には、制御可否決定機能は、生成した制御データを車載器へ送信するか否かを決定する。
【0036】
ここで、制御可否決定機能について、
図1Bを用いて説明する。
図1Bは、実施形態に係るコントローラ3が有する制御可否決定機能を説明する説明図である。なお、
図1Bでは、車両のパワーウインドウ装置に対してパワーウインドウをオープンする制御を指示する制御データが生成された例を示している。
【0037】
図1Bに示すように、コントローラ3は、制御データを生成した場合、車両の状態を示す車両情報と、許可条件DBに登録された許可条件情報とを比較する。車両情報は、例えば、掲示板41から取り込んだデータである。許可条件DBは、制御データの内容毎の許可条件情報を含むデータベースである。許可条件DBの各データは、通信装置1に新たなアプリの追加があった場合に、サーバ装置50から新たに追加されたアプリに付加されて提供される当該アプリに関する許可条件情報よって更新される。なお、許可条件DBの各データは、サーバ50(アプリDB52)へのアプリ登録に際して、当該登録アプリに付随する情報として、アプリ開発者等により登録される。
【0038】
そして、コントローラ3は、車両の状態が許可条件を満たす場合に、アプリ実行により生成された制御データによる車載器の制御を許可すると判断し、当該制御データを制御対象のノード10に送信する(送信を許可する)。
【0039】
具体的には、
図1Bに示す例では、コントローラ3は、制御データ「パワーウインドウ:OPEN」が生成された場合、許可条件DBの中から「パワーウインドウ:OPEN」に対応する許可条件情報である「車速条件:60Km以下の場合許可」、「天候:晴れまたは曇りの場合許可」を取り込む。また、コントローラ3は、許可条件情報に対応する車両情報「車速条件:40Km」、「天候:曇り」を掲示板41から取り込み、これら情報と許可条件情報を比較する。この場合、許可条件「車速条件:60Km以下の場合許可」、「天候:晴れまたは曇り場合許可」を、車両状態「車速条件:40Km」、「天候:曇り」が満たすので、コントローラ3は、「パワーウインドウ:OPEN」を行っても良いと判断し、「パワーウインドウ:OPEN」の情報(指令信号)をパワーウインドウ装置にCGW20を介して送信する。
【0040】
なお、コントローラ3は、車両情報の各データのうち、少なくとも1つのデータが許可条件情報における条件を満たしていない場合には、制御データの送信を行わない、つまり当該制御を禁止する。なお、制御データによっては、車両情報の各データのうち少なくとも1つのデータが許可条件情報における条件を満たしている場合に当該制御を禁止すると言う場合等、制御データに適したいろいろな条件が存在するので、許可条件DBには制御データに応じた各種条件(各種条件の組み合わせ方法も含めた)が記憶されることになる。
【0041】
具体的には、
図1Bの例において、車両情報における天候のデータが雨であった場合には、当該車両状態が許可条件情報における天候の条件(「天候:晴れ」)を満たさないため、コントローラ3は制御データ「パワーウインドウ:OPEN」のパワーウインドウ装置へ送信を禁止、つまり「パワーウインドウ:OPEN」の制御を禁止する。
【0042】
このように、実施形態に係る通信装置1によれば、車両情報に基づいて、生成した制御データによる制御対象ノード10(車載器)の制御の可否を決定することで、車両の状態に適していない車載器の制御を回避できる。従って、実施形態に係る通信装置1によれば、車両の状態に応じた車載器の適切な制御を行うことができる。
【0043】
次に、
図2を用いて、実施形態に係る通信装置1の構成例について説明する。
図2は、実施形態に係る通信装置1の機能構成を示すブロック図である。
図2に示すように、通信装置1は、通信部2と、コントローラ3と、記憶部4とを備える。コントローラ3は、取得部31と、変換部32と、コンテナエンジン33と、許可部34とを備える。記憶部4は、掲示板41と、コンテナ部42と、許可条件DB43とを備える。
【0044】
通信部2は、上述した通信機能を有し、各ノード10と通信装置1とを通信可能に接続する。通信部2は、例えば、有線方式であるCAN、イーサネット(登録商標)、LIN(Local Interconnect Network)、USB(Universal Serial Bus)等や、無線方式であるWi-Fi、LTE(Long Term Evolution)、BLE(Bluetooth(登録商標) Low Energy)、Zigbee(登録商標)、UWB(Ultra-Wide Band)等によって実現され、各ノード10と有線または無線により通信を行う。
【0045】
コントローラ3は、たとえば、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、フラッシュメモリ、入出力ポートなどを有するコンピュータや各種の回路等により構成される。
【0046】
コンピュータのCPUは、ROMに記憶されたプログラムを読み出して実行することによって、コントローラ3の取得部31、変換部32、コンテナエンジン33および許可部34として機能する。
【0047】
また、コントローラ3の取得部31、変換部32、コンテナエンジン33および許可部34のうち、少なくともいずれか一つまたは全部をASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等のハードウェアで構成することもでき、さらに複数のCPU、ASIC等を機能分担させて(例えば、コンテナエンジン33を別CPUで構成する)構成することもできる。
【0048】
また、記憶部4は、RAMやフラッシュメモリで構成される。記憶部4は、適当な記憶領域設定等により、掲示板41や、コンテナ部42、許可条件DB43、各種プログラムの記憶部が形成され、各ノード10の各種センサによる測定データ、アプリ等の各種プログラム、等の各種情報等を記憶することができる。なお、通信装置1は、有線や無線のネットワークで接続された他のコンピュータ、サーバや可搬型記録媒体を介して上記したプログラムや各種情報を取得することとしてもよい。
【0049】
掲示板41は、ノード10から取得したデータを掲載(記憶)する。また、掲示板41は、各ノード10、コンテナエンジン33、許可部34が、データの登録、更新、読み取りができるように、コントローラ3によって適宜アクセス制御が行われる。
【0050】
コンテナ部42は、記憶部4に割り当てられた記憶領域で構成され、アプリをインストール(記憶)可能な複数のコンテナ421を含んで構成されている。各コンテナ421には、それぞれ1つのアプリが記憶される形式になっている。つまり、構成されたコンテナ421の数だけ、アプリをインストール可能である。アプリは、不図示の外部装置(アプリ提供用の外部サーバ等(
図1A図示のサーバ装置50))から取得され、空のコンテナ421(空コンテナ)に設定(記憶)される。また、不要となったアプリはコンテナ421から消去され、当該コンテナ421は空コンテナとなる。なお、アプリは、不要となった都度コンテナ421から消去してもよく、コンテナ421に余裕がある場合(空コンテナが別に存在する場合)には、新たなアプリのインストールに空コンテナが必要となった際に不要となったアプリを消去することとしてもよい。
【0051】
許可条件DB43は、コンテナ421にインストールされたアプリの実行によって生成された制御データによるノード10の制御を許可するか否かを決定するための許可条件を示す許可条件情報を記憶する。許可条件情報は、コンテナ421にアプリをインストールした際に、インストール元である外部装置(サーバ装置50)から当該アプリに付随して取得され許可条件DB43に記憶される。つまり、許可条件情報は、インストール元である外部装置からアプリのプログラムと共に提供され、アプリ(のプログラム)はコンテナ421に記憶され、許可条件情報は許可条件DB43に記憶される。なお、許可条件DB43をコンテナ421内に備える構成、つまりコンテナ421内にアプリのプログラムと当該アプリの許可条件情報を分離可能(区切り符号データを挟んでプログラムと許可条件情報を記憶し、使用する際に使用する情報を分離して取り出す)に記憶する構成を適用することも可能である。なお、許可条件情報は、車両に組付けられるノード10の制御に関するものの場合、車両組付け時に作業者の作業により許可条件情報を許可条件DB43に記憶させるようにすることもできる。
【0052】
次に、コントローラ3(取得部31、変換部32、コンテナエンジン33および許可部34)について詳細に説明する。
【0053】
取得部31は、通信部2を介して、各種外部機器から各種情報を取得する。具体的には、取得部31は、各種ネットワークにより通信装置1に接続されたノード10からデータを、通信部2を介して取得する。例えば、取得部31は、ノード10が有するセンサで検知されたセンサデータを取得する。
【0054】
また、取得部31は、ユーザによる端末装置(通信装置1の入力操作機(タッチパネル等)、あるいは通信装置1への操作入力機能を有するノード10(例えば、通信装置1に通信接続されたユーザの携帯端末(スマートホン等)))へのアプリインストール操作入力に基づき、当該端末装置からアプリをコンテナ421にインストールするインストール指示を取得する。また、取得部31は、ユーザの端末装置等からコンテナ421に記憶されたアプリのアップデートを行うアップデート指示を取得する。また、取得部31は、通信装置1に新たなノード10が接続された際に、当該ノード10から当該ノード10に関する情報、例えば、ノード10の種別情報、ノード10との通信接続のための通信接続用情報、ノード10の有するセンサに関するセンサ情報等を取得する。
【0055】
取得部31は、外部装置(サーバ装置50)からインストール対象アプリを取得し、コンテナ421に記憶する。具体的には、取得部31は、インストール指示を取得した場合、あるいは新たなノード10が接続された場合、アプリを提供する外部装置に接続されたノード10の情報を送信する。そして、取得部31は、接続されたノード10に応じて外部装置から提供されたアプリを取得して、コンテナ421に記憶する。なお、取得部31は、インストールする(コンテナ421に記憶する)アプリを、取得部31が取得したアプリからユーザの選択操作により選択するようにしても良い。あるいは、取得部31は、アプリ提供前に外部装置から送信される適当なアプリリストからユーザの選択操作に基づきインストールするアプリを選択し、当該選択したアプリの情報を外部装置に送信する。そして、取得部31は、これに対して外部装置から提供(送信)されたアプリをインストールする(コンテナ421に記憶する)方法も適用可能である。
【0056】
また、取得部31は、ユーザの入力操作、あるいは外部装置等からのアプリのバージョンアップ情報に基づき、バージョンアップ対象アプリの更新プログラムを取得し、コンテナ421に記憶されたアプリのアップデート(更新処理)を行う。
【0057】
また、取得部31は、外部装置からアプリをインストールする際、アプリによって生成される制御データの許可条件を示す許可条件情報を外部装置から取得し、許可条件情報として記憶部4の許可条件DB43に記憶する。また、取得部31は、アプリのアップデートを行う際、許可条件情報の更新情報を外部装置から取得し、記憶部4の許可条件DB43に記憶された対応する許可条件情報を更新する。なお、取得部31は、ノード10から直接許可条件情報を取得してもよい(ノード10が自身の制御に関する許可条件情報を記憶している場合)。
【0058】
また、取得部31は、通信接続された(通信可能な)ノード10からノード10を認証するための認証情報、例えば、ノード10の機器種別の情報、識別番号、通信方式、通信に必要なコード等の情報を取得する。なお、取得部31は、認証が必要な際に、例えば、通信装置1の電源がオンされた場合や、通信装置1に新たなノード10が接続された場合に、通信装置1に接続された各ノード10から認証情報を取得する。
【0059】
変換部32は、取得部31がノード10から取得したデータを、取得元であるノード10以外の各ノード10が使用可能な形式に変換する。具体的には、変換部32は、取得したデータの規格(データ識別名、フォーマット等)を統一するよう変換する。
【0060】
コンテナエンジン33は、コンテナ421に記憶されたアプリを、掲示板41に記憶された各種データ等を必要に応じて取得して、実行することで各種機能実現のための処理を行う。
【0061】
具体的には、まず、コンテナエンジン33は、アプリ実行により、掲示板41に掲載されたデータの中から、アプリの実行に必要な(制御データの生成に必要な)データを選択して取り込む。そして、コンテナエンジン33は、取り込んだデータを使用してアプリの各種処理を行い、処理結果としてノード10を生成するための制御データを生成する。
【0062】
そして、コンテナエンジン33は、後段の許可部34によって制御データによる制御が許可された場合に、生成した制御データを対象のノード10へ送信することで、ノード10を制御する。
【0063】
また、コンテナエンジン33は、不要となったアプリをコンテナ421から消去する処理を行う。なお、不要となったアプリとは、例えば、処理結果を出力するノード10が存在しなくなった(通信装置1と非接続状態となった)アプリ、処理に必要なデータの提供元となるノード10が存在しなくなった(通信装置1と非接続状態となった)アプリ、等である。
【0064】
許可部34は、車両の状態を示す車両情報に基づいて、制御データによる車載器の制御の可否を決定する。具体的には、許可部34は、許可条件DB43の中から、判定対象の制御データ、つまりアプリ実行により生成した制御データに対応する許可条件情報を読み出し、当該許可条件情報の条件項目に対応した車両情報を掲示板41から取得する。
【0065】
つづいて、許可部34は、取得した車両情報と、許可条件情報における条件(許可条件)とを比較し、車両情報(車両の状態)が許可条件を満たすか否かを判定する。そして、許可部34は、車両情報(車両の状態)が許可条件を満たすと判定した場合、コンテナエンジン33に対してアプリ実行により生成された制御データに基づく車載器の制御を許可する。つまり、許可部34は、アプリ実行により生成された制御データを車載器へ送信することを許可する、すなわちコントローラ3は車載器へのアプリ実行により生成された制御データの送信を実行する。
【0066】
一方、許可部34は、車両情報が許可条件を満たさないと判定した場合、コンテナエンジン33に対してアプリ実行により生成された制御データに基づく車載器の制御を禁止する。つまり、許可部34は、アプリ実行により生成された制御データを車載器へ送信することを禁止する、すなわちコントローラ3は車載器への制御データの送信を中止する。これにより、アプリ実行により生成された制御データに基づく制御に車両の状態が適さない場合に、車載器は当該制御データに基づく制御は行われないことになる。
【0067】
また、許可部34は、車両情報が許可条件を満たさないと判定した状況が予め設定された所定回数以上連続した場合、車両の搭乗者に対してアラートを通知する。具体的には、許可部34は、車両情報が許可条件を満たさないと判定する都度、NGカウンタをアップカウントし(許可条件を満たす場合はNGカウンタをリセット(クリア)する)、NGカウント(NGカウンタの値)が所定値以上となった場合に、上記のアラートを通知する。なお、NGカウンタはアプリ毎(生成される制御データ毎)に設けられ、自以降アプリに対応するNGカウンタで上述のカウント処理が行われる。
【0068】
これにより、搭乗者は、車両やアプリの異常状態、例えば、車両に異常(あるいは異常発生の予兆)が発生し車両状態が通常と異なった状態となっている(車両メンテナンスの必要性通知)、車両における各種設定(ユーザによる設定)の状態がアプリ実行により生成された制御データに基づく制御に適さない状態となっている(車両設定の変更の必要性通知)、設置状態アプリに外部ノイズ等による異常が発生している(アプリ再インストール等の必要性通知)こと等をアラートにより把握することができる。
【0069】
また、許可部34は、車両情報が許可条件を満たさないと判定した状況が予め設定された所定回数以上連続した場合、制御データを生成したアプリの実行を禁止する指示をコンテナエンジン33へ通知する。つまり、許可部34は、アプリによる対象の制御データの生成を禁止する。これにより、無駄なアプリ実行を防止でき、コントローラの処理負荷を低減できる。
【0070】
次に、
図3を用いて、実施形態に係る通信装置1(コントローラ3)が実行する処理の処理手順について説明する。
図3は、実施形態に係る通信装置1が実行する処理の処理手順を示すフローチャートで、(A)は共通の基本処理(各アプリに基づく処理ではなく、別の基本処理プログラムによる処理)、(B)各アプリの制御データ生成処理(各アプリに共通の部分)を示すものである。先ず、
図3(A)に示した基本処理について説明する。なお、
図3(A)に示す基本処理は、通信装置1の稼働時(電源オン時)に、繰り返し実行される。
【0071】
具体的には、まず、コントローラ3は、各ノード10等から各種データを取得する(ステップS101)。つづいて、コントローラ3は、取得した各種データを各アプリが使用できる形式に変換して掲示板41に掲載(掲示板41の対応するデータを更新)する(ステップS102)。
【0072】
つづいて、コントローラ3は、別途実行されたアプリにより生成され、対応する車載器に送信される制御データがあるか判断し(アプリによる制御データの対象車載器への送信要求があるか否かを判断し)(ステップS103)、当該制御データがあれば(ステップS103:Yes)、ステップS104に移り、無ければ(ステップS103:No)、処理を終了する。
【0073】
つづいて、コントローラ3は、許可条件DB43から制御データに対応する許可条件情報と、掲示板41、あるいは各ノード10(各種センサ)等から許可条件情報が指定する車両状況に関する車両情報を取得する(ステップS104)。
【0074】
つづいて、コントローラ3は、取得した車両情報と、許可条件情報における条件(許可条件)とを比較して、車両情報が許可条件を満たすか否かを判定し(ステップS105)、車両情報が許可条件を満たす場合(ステップS105:Yes)、生成した制御データを対象の車載器へ送信する(ステップS106)。
【0075】
つづいて、コントローラ3は、NGカウンタをリセットし(ステップS107)、処理を終了する。
【0076】
一方、ステップS105において、コントローラ3は、車両情報が許可条件を満たさない場合(ステップS105:No)、NGカウンタをカウントアップする(ステップS108)。
【0077】
つづいて、コントローラ3は、アップ後のNGカウンタのカウント値が閾値以上であるか否かを判定し(ステップS109)、NGカウンタのカウント値が閾値以上である場合(ステップS109:Yes)、搭乗者に対してアラートを通知し(ステップS110)、処理を終了する。なお、コントローラ3は、NGカウンタのカウント値が閾値未満である場合(ステップS109:No)、処理を終了する。
【0078】
次に、
図3(B)に示した各アプリの制御データ生成処理について説明する。なお、
図3(B)に示す制御データ生成処理は、ユーザによる制御データ生成操作をトリガに、あるいは車両状態が制御データ生成開始条件を満たしたことをトリガに、実行される。
【0079】
具体的には、まず、コントローラ3(コンテナエンジン33)は、掲示板41から、実行するアプリの処理に必要な各種データを取得する(ステップS201)。つづいて、コントローラ3(コンテナエンジン33)は、取得した各種データに基づき対象の車載器に対する制御データを生成するし(ステップS202)。そして、コントローラ3は生成した当該制御データの対象車載器への送信要求を(許可部35に対して)行い(ステップS203)、処理を終了する。
【0080】
上述してきたように、実施形態に係る通信装置1は、複数のノード10が接続可能な通信装置1であって、コントローラ3を有する。コントローラ3は、接続されたノード10から取得したデータに基づき生成した車載器の制御データを、車載器に送信して車載器の制御を行う。なお、コントローラ3は、車両の状態を示す車両情報に基づいて、当該制御データによる車載器の制御の可否を決定する。
【0081】
これにより、上述の生成された制御データに基づく車載器の制御に車両の現在の状態が適していない場合には、当該制御データによる制御は行われないため、つまり適切な制御のみが行われることになり、車載器の制御を適切に行うことができる。
【0082】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
【符号の説明】
【0083】
1 通信装置
2 通信部
3 コントローラ
4 記憶部
10 ノード
31 取得部
32 変換部
33 コンテナエンジン
34 許可部
41 掲示板
42 コンテナ部
43 許可条件DB
50 サーバ装置
421 コンテナ
S 通信システム