IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ VIVITA株式会社の特許一覧

<>
  • 特開-情報処理装置 図1
  • 特開-情報処理装置 図2
  • 特開-情報処理装置 図3
  • 特開-情報処理装置 図4
  • 特開-情報処理装置 図5
  • 特開-情報処理装置 図6
  • 特開-情報処理装置 図7
  • 特開-情報処理装置 図8
  • 特開-情報処理装置 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023032975
(43)【公開日】2023-03-09
(54)【発明の名称】情報処理装置
(51)【国際特許分類】
   G06F 8/34 20180101AFI20230302BHJP
   H04L 67/141 20220101ALI20230302BHJP
【FI】
G06F8/34
H04L67/141
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2021139377
(22)【出願日】2021-08-27
(71)【出願人】
【識別番号】515074086
【氏名又は名称】VIVIWARE株式会社
(74)【代理人】
【識別番号】100205659
【弁理士】
【氏名又は名称】齋藤 拓也
(74)【代理人】
【識別番号】100154748
【弁理士】
【氏名又は名称】菅沼 和弘
(72)【発明者】
【氏名】柏本 和俊
(72)【発明者】
【氏名】林 兼大
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376BC14
5B376BC16
5B376BC45
(57)【要約】
【課題】ユーザが視覚的な操作によって、より容易に複雑なプログラムを作製することが出来る技術を提供すること。
【解決手段】ベーシックコア2A及び2Bに対する情報処理を行うユーザ端末1Aにおいて、通常ペアリング部511Aは、ベーシックコア2A及び2Bのうち、所定範囲内で伝達可能なNFCやBLE(登録商標)を用いる第1通信方式にて、所定範囲内に存在するベーシックコア2Aとの間のペアリングを実行する。遠隔ペアリング部512Aは、所定範囲外に存在するベーシックコア2Bとの間のペアリングに必要な情報をペアリング情報としてQRコードに埋め込まれた形態で取得して、ペアリング情報を用いて、インターネットを介する第2通信方式にて、ベーシックコア2Bとの間のペアリングを実行する。
【選択図】図5
【特許請求の範囲】
【請求項1】
1以上の他情報処理装置に対する情報処理を行う情報処理装置において、
前記1以上の他情報処理装置のうち、所定範囲内で伝達可能な信号を用いる第1通信方式にて、当該所定範囲内に存在する第1他情報処理装置との間のペアリングを実行する第1ペアリング手段と、
前記所定範囲外に存在する第2他情報処理装置との間のペアリングに必要な情報をペアリング情報として取得して、当該ペアリング情報を用いて、インターネットを介する第2通信方式にて、当該第2他情報処理装置との間のペアリングを実行する第2ペアリング手段と、
を備える情報処理装置。
【請求項2】
前記第1他情報処理装置と、前記所定範囲外に存在し、かつ前記第2ペアリング手段を備える第3他情報処理装置との間で、前記インターネットを介する前記第2通信方式にてペアリングを実行するための前記ペアリング情報を出力する第2ペアリング用情報出力手段
をさらに備える請求項1に記載の情報処理装置。
【請求項3】
前記第2ペアリング用情報出力手段は、前記ペアリング情報を示す識別子を画像として所定の表示デバイスに表示するか、又は当該識別子が視認可能な状態で媒体に印刷することで、当該ペアリング情報を出力し、
前記表示デバイスに表示された又は前記媒体に印刷された前記識別子が所定の撮像装置により撮像され、その結果得られる撮像画像が前記第3他情報処理装置において撮像されて前記識別子が読み取られることにより、前記ペアリング情報が前記第3他情報処理装置の前記第2ペアリング手段において取得されて、前記第2通信方式によるペアリングが実行される、
請求項2に記載の情報処理装置。
【請求項4】
前記第1他情報処理装置及び前記第2他情報処理装置は、前記第1通信方式又は前記第2通信方式で通信する通信機能と、所定の制御プログラムに基づいて他のハードウェアデバイスを制御する制御機能とを有するハードウェアデバイスであって、
前記第1他情報処理装置の制御対象となる第1他のハードウェアデバイスに対応付けられた第1ハードウェア部品と、前記第2他情報処理装置の制御対象となる第2他のハードウェアデバイスに対応付けられた第2ハードウェア部品とを含むプログラミング部品が結合されることで定義される前記所定の制御プログラムを作成するプログラム作成手段
をさらに備える請求項2又は3に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置に関する。
【背景技術】
【0002】
従来より、子供の教育を目的とした組み立て式玩具の提供は、広く普及しており、関連する技術は数多く提案されている(例えば、特許文献1)。
例えば、特許文献1に記載された技術によれば、簡単な配線やプログラミングによって組み立て式玩具を構築することができる組み立てブロックの提供がなされている。
この特許文献1に記載された技術によれば、年齢の低いユーザであっても、複雑な作業や操作を行うことなく、組み立て式玩具を構築することができる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平10-108985号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述の特許文献1の技術では、各組み立てブロックは、既存のプログラムによって単一に制御されているに過ぎず、組み立て式玩具の動作や制御の自由度には、限界があった。
【0005】
本発明は、このような状況に鑑みてなされたものであり、ユーザが視覚的な操作によって、より容易に複雑なプログラムを作製することが出来る技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明の一態様の情報処理装置は、
1以上の他情報処理装置に対する情報処理を行う情報処理装置において、
前記1以上の他情報処理装置のうち、所定範囲内で伝達可能な信号を用いる第1通信方式にて、当該所定範囲内に存在する第1他情報処理装置との間のペアリングを実行する第1ペアリング手段と、
前記所定範囲外に存在する第2他情報処理装置との間のペアリングに必要な情報をペアリング情報として取得して、当該ペアリング情報を用いて、インターネットを介する第2通信方式にて、当該第2他情報処理装置との間のペアリングを実行する第2ペアリング手段と、
を備える。
【発明の効果】
【0007】
本発明によれば、ユーザが視覚的な操作によって、より容易に複雑なプログラムを作製することが出来る技術を提供することができる。
【図面の簡単な説明】
【0008】
図1】本発明の一実施形態が適用された情報処理システムの構成を示すブロック図である。
図2図1のユーザ端末のハードウェア構成の一例を示すブロック図である。
図3図1のベーシックコア及び機能モジュールが接続された状態の構成の一例を示す図である。
図4図1の情報処理システムを利用したプログラム作製処理に関する状態の遷移を示す状態遷移図である。
図5図2のユーザ端末並びにベーシックコア及び機能モジュールの機能的構成例を示す機能ブロック図である。
図6図2のユーザ端末1Aが実行するプログラム作製処理に関し、ユーザに実際に表示される画面の一例を示す図である。
図7】ペアリングされた機能モジュールがアクティブインプット機能を有するHパーツとして表示された状況を示す例である。
図8】アクティブインプット機能を有するHパーツを複数配置したプログラムの例を示す図である。
図9】リモートペアリングにおいてアクティブインプット機能を有するHパーツを配置したプログラム作製画面と実機の状況の例を示す図である。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態について、図面を用いて説明する。
【0010】
本発明は、ユーザが視覚的な操作によって、より容易に複雑なプログラムを作製するための技術的思想の創作である。
ユーザは、プログラム作製用に表示されるユーザインタフェース(以下、「プログラム作製画面」と呼ぶ)に表示された各種アイコンを操作することで、プログラムを作製することができる。
具体的には例えば、ユーザは、プログラム作製画面に表示された特定のハードウェアの動作を指定するプログラムの内容を示すアイコン(以下、「ハードウェアパーツ」又は「Hパーツ」と呼ぶ)及び特定のソフトウェアの実行を指定するプログラムの内容を示すアイコン(以下、「ソフトウェアパーツ」又は「Sパーツ」と呼ぶ)を視認することができる。
そして、ユーザは、これらのアイコンを任意に移動(例えば、Drag And Drop等)させることで、各種アイコンを組み合わせてプログラムを作製する。
このようにして作製されたプログラムは、例えば、組み立て式の玩具等に利用することができる。
つまり、本発明の一実施形態が適用された情報処理システムは、容易な操作によってプログラムを作製することができるため、プログラムの仕組みや作成方法を子供に学ばせるための教材として極めて有用である。
特に、本発明の一実施形態が適用された情報処理システムを用いることにより、ユーザは、インターネット等のネットワークを介して遠方にあるハードウェアを用いたプログラムを作製することができる。これにより、ユーザは、自身の近傍(所定範囲内)にないハードウェアを用いた幅広いプログラムを作製することができるようになる。
更に言えば、ユーザは、インターネット等のネットワークを介して遠方にいる他のユーザが所有するハードウェアを用いたプログラムを作製することも可能となる。これにより、ユーザは、ビデオ通話(Web会議システム)を用いて、他のユーザとハードウェアを共有してペアプログラミングを行うといったことが可能となる。
このように、本発明の一実施形態が適用された情報処理システムは、プログラムの仕組みや作成方法を子供に学ばせるための教材として更に有用なものとなるのである。
なお、ビデオ通話(Web会議システム)には各種各様なサービスが用いられてもよいが、以下、ZOOM(米国及びその他の国における登録商標又は商標)が用いられているものとして説明する。
【0011】
図1は、本発明の一実施形態が適用された情報処理システムの構成を示すブロック図である。
上述したように、図1に示す情報処理システムは、第1ユーザ及び第2ユーザの夫々の近傍にある一連の装置がインターネット等のネットワークNWを介して接続されている。そこで、以下、第1ユーザの近傍(所定範囲内)にある一連の装置の夫々には、「A」の文字を含む符号を付し、第2ユーザの(所定範囲内)にある一連の装置には夫々には「B」の文字を含む符号を付して説明する。
図1に示す情報処理システムは、第1ユーザにより使用されるユーザ端末1Aと、n個(nは1以上の任意の整数値)のベーシックコア2A-1乃至2A-nと、n個の機能モジュール3A-1乃至3A-nと、ZOOM端末4Aとを含んでいる。
さらに、ユーザ端末1Aは、ベーシックコア2A-1乃至2A-nの夫々と、各種方式、例えばNFC(Near Field Communication)、Bluetooth(登録商標)等の各種方式で通信を行う。
また、図1に示す情報処理システムは、第2ユーザにより使用されるユーザ端末1Bと、m個(mは1以上の任意の整数値)のベーシックコア2B-1乃至2B-mと、m個の機能モジュール3B-1乃至3B-mと、ZOOM端末4Bとを含んでいる。
【0012】
なお、以下、ベーシックコア2A-1乃至2A-nの夫々を個々に区別する必要がない場合、これらをまとめて「ベーシックコア2A」と、機能モジュール3-1乃至3-nを個々に区別する必要がない場合、これらをまとめて「機能モジュール3A」と呼ぶ。
また、第2ユーザの近傍(所定範囲内)にある一連の装置についても同様に、「ベーシックコア2B」及び「機能モジュール3B」と夫々呼ぶ。
【0013】
なお、第2ユーザの近傍(所定範囲内)にある一連の装置(ベーシックコア2Bや機能モジュール3B、ZOOM端末4B)の夫々は、第1ユーザの近傍(所定範囲内)にある一連の装置(ベーシックコア2Aや機能モジュール3A、ZOOM端末4A)の夫々と基本的に同様の機能を有するため、以下、適宜説明を省略する。
【0014】
ここで、本実施形態で用いられる、ベーシックコア2A及び機能モジュール3Aについて簡単に説明する。
ベーシックコア2Aとは、後述する機能モジュール3Aと接続して使用するハードウェアデバイスであり、近距離無線通信(例えば、NFCの規格に準拠した通信)でユーザ端末1Aとのペアリングを行う。
ユーザ端末1Aは、所定のベーシックコア2A-K(Kは、1乃至nのうち任意の整数値)とペアリングを行うことで、ベーシックコア2A-Kと、ベーシックコア2A-Kに接続された所定の機能モジュール3A-Kとを認識する。
機能モジュール3A-Kとは、例えば、温度センサ等の各種センサ、ブザー等の操作器具、モーターや扇風機等の駆動器具等により構成されるハードウェアデバイスである。
【0015】
ここで、上述のユーザ端末1Aとベーシックコア2A-Kとのペアリングについて説明する。本実施形態では、ベーシックコア2A-Kに接続された機能モジュール3A-Kの動作を少なくとも伴うプログラムの作製に際して、ユーザ端末1Aとベーシックコア2A-Kとについて近距離無線通信を利用したペアリングを行う必要がある。
ペアリングとは、端的に言えば、無線通信を用いて、ユーザ端末1Aに、ベーシックコア2A-K及びそれに接続されている機能モジュール3A-Kの種別や接続状態等を認識させることをいう。
なお、詳細については後述するが、ユーザ端末1Aでは、機能モジュール3A-Kの種別や接続の状態等を認識すると、接続された機能モジュール3A-Kに対応するHパーツがプログラム作製画面に表示される。
【0016】
上述と同様に、ユーザ端末1Bとベーシックコア2B-L(Lは1乃至mのうち任意の整数値)との近距離無線通信を利用したペアリングがなされる。
その結果、ユーザ端末1Bでは、機能モジュール3B-Lの種別や接続の状態等を認識すると、接続された機能モジュール3B-Lに対応するHパーツがプログラム作製画面に表示される。
【0017】
また、本実施形態では、近距離無線通信以外を介したペアリングも行われる。具体的には、ユーザ端末1Aは、ネットワークNW介してベーシックコア2B-Lとペアリングすることもできる。以下、ペアリングのうちネットワークNWを介したペアリングを特に「リモートペアリング」と呼ぶ。
【0018】
即ち、ユーザ端末1Aとベーシックコア2B-L(Lは1乃至mのうち任意の整数値)との無線通信を利用したリモートペアリングがなされる。
その結果、ユーザ端末1Aでは、機能モジュール3B-Lの種別や接続の状態等を認識すると、接続された機能モジュール3B-Lに対応するHパーツがプログラム作製画面に表示される。
同様に、ユーザ端末1Bでは、機能モジュール3A-Kの種別や接続の状態等を認識すると、接続された機能モジュール3A-Kに対応するHパーツがプログラム作製画面に表示される。
【0019】
これにより、第1ユーザはユーザ端末1Aに表示された機能モジュール3B-Lに対応するHパーツを用いてプログラムを作製することができる。反対に、反対に第2ユーザはユーザ端末1Bに表示された機能モジュール3A-Kに対応するHパーツを用いてプログラムを作製したりすることができる。
【0020】
図2は、本発明の一実施形態に係るユーザ端末1Aのハードウェア構成を示すブロック図である。
【0021】
ユーザ端末1は、タブレット型端末等で構成される。なお、以下、ユーザ端末1A及び1Bをまとめてユーザ端末1と呼び、説明する。
ユーザ端末1は、CPU(Central Processing Unit)21と、ROM(Read Only Memory)22と、RAM(Random Access Memory)23と、バス24と、入出力インターフェース25と、タッチ操作入力部26と、表示部27と、入力部28と、記憶部29と、通信部30と、撮像部31と、ドライブ32と、タッチパネル41と、リムーバブルメディア42とを備えている。
【0022】
CPU21は、ROM22に記録されているプログラム、又は、記憶部29からRAM23にロードされたプログラムに従って各種の処理を実行する。
RAM23には、CPU21が各種の処理を実行する上において必要な情報等も適宜記憶される。
【0023】
CPU21、ROM22及びRAM23は、バス24を介して相互に接続されている。このバス24にはまた、入出力インターフェース25も接続されている。入出力インターフェース25には、タッチ操作入力部26、表示部27、入力部28、記憶部29、通信部30、撮像部31及びドライブ32が接続されている。
【0024】
タッチ操作入力部26は、例えば表示部27に積層される静電容量式又は抵抗膜式(感圧式)の位置入力センサにより構成され、タッチ操作がなされた位置の座標を検出する。
表示部27は、液晶等のディスプレイにより構成され、プログラム作製に関する画像等、各種画像を表示する。
このように、本実施形態では、タッチ操作入力部26と表示部27とにより、タッチパネル41が構成されている。
【0025】
入力部28は、各種ハードウェア等で構成され、ユーザの指示操作に応じて各種情報を入力する。
記憶部29は、ハードディスクやDRAM(Dynamic Random Access Memory)等で構成され、各種情報を記憶する。
通信部30は、例えば、NFCの規格に従った方式で近距離無線通信を行う制御を実行する。具体的には例えば、上述の通り、ユーザ端末1Aとベーシックコア2Aは、NFCの規格に従った方式で近距離無線通信をして、ペアリングを行う。
また、通信部30は、例えば、Bluetoothの規格に従った方式で近距離無線通信を行う制御を実行する。具体的には例えば、ユーザ端末1Aで作製したプログラムの実行結果(コマンドや制御信号等を含む)を、Bluetoothの規格に従った方式の近距離無線通信で送信する。
また、通信部30は、NFCとは別個独立して、インターネット等を介して他の装置との間で行う通信を制御する。
【0026】
撮像部31は、レンズと、CCDやCMOS等の光学素子と、その制御部等からなり、画像や映像を撮像する。撮像部31により撮像された画像のデータは、RAM23にロードされたり、記憶部29に格納されて管理される。
【0027】
ドライブ32は、必要に応じて設けられる。ドライブ32には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等よりなる、リムーバブルメディア42が適宜装着される。ドライブ32によってリムーバブルメディア42から読み出されたプログラムは、必要に応じて記憶部29にインストールされる。
また、リムーバブルメディア42は、記憶部29に記憶されている各種情報も、記憶部29と同様に記憶することができる。
以下、ユーザ端末1A及び1Bの夫々の各ハードウェア構成については、符号にA及びBを付して説明する。即ち例えば、ユーザ端末1のCPU21として説明したものは、ユーザ端末1AのCPU21Aやユーザ端末1BのCPU21Bに対応する。
【0028】
次に、図3を用いて、ベーシックコア2A-E(Eは、1乃至nのうち任意の整数値)及び機能モジュール3A-Eの接続形態の詳細について説明する。
図3は、本発明の一実施形態に係るベーシックコア2A-E及び機能モジュール3A-Eが接続された状態の構成の一例を示す図である。
【0029】
図3には、ベーシックコア2A-E、機能モジュール3A-E及びバッテリーユニットPPが例示されている。
ベーシックコア2A-Eには、バッテリーユニットBU、シリアルポートSP及び近距離無線通信部BTが備えられている。
バッテリーユニットBUは、例えば、電池等のバッテリーであり、ベーシックコア2A-Eや機能モジュール3A-Eに電力を供給する。
シリアルポートSPは、ベーシックコア2A-Eと他のハードウェア等とを接続するための接続口(接続コネクタ)である。
図3の例では、ベーシックコア2A-Eには、シリアルポートSPが備えられ、機能モジュール3A-Eには、シリアルポート電源PSが備えられている。そして、ベーシックコア2A-Eと機能モジュール3A-Eは、シリアルポートSP、シリアルポート電源PSを介して接続されている。
近距離無線通信部BTは、他のハードウェア等と所定の規格(例えば、Bluetooth)に従った方式で近距離無線通信を行うための制御部やアンテナ等が搭載されている。
図3の例では、(例えば図5の)ユーザ端末1Aと、近距離無線通信部BTを備えたベーシックコア2A-Eとは、Bluetoothに従った方式で近距離無線通信を行う。
具体的に例えば、ユーザ端末1Aで作製されたプログラムの実行結果(コマンドや制御信号等)は、ベーシックコア2A-Eにも送信される。さらに言えば、ベーシックコア2A-Eでは、ユーザ端末1Aから送信されてきた当該プログラムの実行結果(コマンドや制御信号等)を取得し、さらに、その結果を、機能モジュール3A-Eへと送信する。
また、或いは、具体的に例えば、ユーザ端末1Aで作製されたプログラムは、ベーシックコア2A-Eに送信され、ベーシックコア2A-Eにおいて実行される。さらに言えば、ベーシックコア2A-Eでは、ユーザ端末1Aから送信されてきた当該プログラムを取得し、実行した結果(コマンドや制御信号等)を、さらに、機能モジュール3A-Eへと送信する。
【0030】
また、機能モジュール3A-Eは、タイヤTを備えている。そして、上述の通り、機能モジュール3A-Eは、ベーシックコア2-Eから送信されてきた上述のプログラムの実行結果(コマンドや制御信号等)を取得する。図5の例の機能モジュール3A-Eは、ユーザ端末1Aで作製されたプログラムの実行結果(コマンドや制御信号等)に従って、タイヤTを駆動させる。
ここで、図3の例では、機能モジュール3A-Eには、バッテリーユニットPPが接続されている。このバッテリーユニットPPは、外部電源として機能モジュール3A-Eに電力を供給する。なお、上述したように、ベーシックコア2Aの電源部48等から、機能モジュール3A-Eに電力の供給が可能であるならば、バッテリーユニットPPは必須な構成要素ではない。
【0031】
このようなユーザ端末1A、ベーシックコア2A及び機能モジュール3Aの各種ハードウェアと各種ソフトウェアの協働によりプログラム作製処理の実行が可能となる。
また、上述したように、ベーシックコア2Bや機能モジュール3Bにおいても企保天気に同様である。そして、上述したように、ユーザ端末1Aはベーシックコア2Bとリモートペアリングすることができる。
その結果、ユーザ端末1A、ベーシックコア2A及び機能モジュール3A、並びに、ユーザ端末1B、ベーシックコア2B及び機能モジュール3Bの各種ハードウェアと各種ソフトウェアの協働によりプログラム作製処理の実行が可能となる。
即ち、プログラム作製処理とは、ベーシックコア2Aに接続された機能モジュール3Aやベーシックコア2Bに接続された機能モジュール3Bのうち1以上を機能させるためのプログラムを作成するための処理をいう。
【0032】
図4は、本発明の一実施形態が適用された情報処理システムを利用したプログラム作製処理に関する状態の遷移を示す状態遷移図である。
図4において、各状態は、1つの楕円形で示されており、夫々の状態は、SPを含む符号により判別される。
1つの状態から1つの状態への状態遷移は、所定の条件(以下、「状態遷移条件」と呼ぶ)が満たされると実行される。
このような状態遷移条件は、図4おいては、1つの状態から1つの状態への遷移を表す矢印に、Aを含む符号を付して表されている。
【0033】
本実施形態においては、図4に示すように、プログラム作製状態SP1が基本の状態になる。
プログラム作製状態SP1において、ユーザは、ユーザ端末1Aとベーシックコア2Aを近接させることでペアリングを行う。
なお、ここでいう近接されるとは、NFC規格に従った方式で近距離無線通信を行うのに有効な距離であり、一般に10cm程度の距離まで近接させることを言う。
即ち、ユーザが、ユーザ端末1Aとベーシックコア2Aとを10cm程度の距離まで近接させることで、状態遷移条件A1が満たされる。
すると、状態は、ペアリング状態SP2へと遷移する。これにより、プログラム作成部(例えば、図5で後述するプログラム作製部54A)は、Hパーツを後述する表示制御部(例えば、図5で後述する表示制御部)を介してプログラム作製画面に表示する。
そして、ペアリング後、ユーザが一定の時間、操作を行わなかった場合には、状態遷移条件A2が満たされる。
すると、状態は、プログラム作製状態SP1へと再び遷移する。
【0034】
ペアリング状態SP2において、ユーザが、所定の操作子(図示せぬプログラム実行ボタン等)を押下すると、状態遷移条件A3が満たされる。
すると、状態は、プログラム実行状態SP3に遷移する。
そして、先ほどと同様に、プログラム実行状態SP3において、ユーザが、ユーザ端末1Aとベーシックコア2Aを近接させることで、状態遷移条件A4が満たされる。
すると、状態は、ペアリング状態SP2へと再び遷移する。
【0035】
プログラム作製状態SP1において、ユーザが、プログラムの作成が終了して、プログラムの実行を指示する所定の操作子(図示せぬプログラム実行ボタン等)を押下すると、状態遷移条件A12が満たされる。
すると、状態は、プログラム実行状態SP3に遷移する。
なお、プログラム実行状態SP3において、ユーザが、プログラムの追加や変更を所望した場合、所定の操作子(図示せぬプログラム作製ボタン等)を押下すると、状態遷移条件A13が満たされる。
すると、状態は、プログラム作製状態SP1に遷移する。
【0036】
ここで、プログラム実行状態SP3には、上述したようにシミュレーション状態と実機状態2つの状態が存在する。
プログラム実行状態SP3において、これらの2つの状態は、ユーザが所定の操作子(図示せぬシミュレーションボタン等)を押下することで、夫々の状態での、状態遷移条件A10又A11を満たす。
このように、プログラム実行状態SP3において、シミュレーション状態と実機状態は、適宜、遷移することができる。
【0037】
プログラム実行状態SP3において、プログラム実行後、ユーザが所定の操作子(図示せぬプログラム実行キャンセルボタン等)を押下すると、状態遷移条件A5が満たされる。
すると、状態は、休止状態SP4へと遷移する。
そして、休止状態SP4において、ユーザが所定の操作子(図示せぬプログラム実行ボタン等)を押下すると、状態遷移条件A6が満たされる。
すると、状態は、プログラム実行状態SP3へと遷移する。
【0038】
休止状態SP4において、ユーザが、所定の操作子(図示せぬプログラム作製アプリケーションの起動ボタン等)を押下すると状態遷移条件A7が満たされる。
すると、状態は、プログラム作製状態SP1へと遷移する。
そして、プログラム作製状態SP1において、ユーザのが、所定の操作子(図示せぬプログラム作製キャンセルボタン等)を押下すると、遷移条件A8が満たされる。
すると、状態は、休止状態SP4へと遷移する。
なお、図4に示す通り、ペアリング状態SP2と休止状態SP4については、直接遷移することも可能である。
【0039】
上述のプログラム作製処理を実現すべく、ユーザ端末1A、ベーシックコア2A及び機能モジュール3A、並びに、ユーザ端末1B、ベーシックコア2B及び機能モジュール3Bは、図6に示すような機能的構成を有している。
【0040】
図5は、図1のユーザ端末1A、ベーシックコア2A及び機能モジュール3A、並びに、ユーザ端末1B、ベーシックコア2B及び機能モジュール3Bの機能的構成の一例を示す機能ブロック図である。
図5に示すように、ユーザ端末1AのCPU21Aにおいては、ペアリング部51Aと、コア通信制御部52Aと、ネット通信制御部53Aと、プログラム作製部54Aと、プログラム実行部55Aとが機能する。
また、ユーザ端末1Aの記憶部29Aの一領域には、プログラム作製部54Aで作製されたプログラムを格納するプログラム格納部62Aと、各種Sパーツが格納されているSパーツDB(Soft ware Parts Data Base)61Aとが設けられている。
ユーザ端末1Aのペアリング部51Aは、通常ペアリング部511Aと、遠隔ペアリング部512Aと、遠隔ペアリング情報出力部513Aとを有する。
【0041】
なお、以下、説明の簡単のため、第1ユーザはユーザ端末1Aを用いてプログラム作製を行うものの、第2ユーザはユーザ端末1Bを用いたプログラム作成を行わないものとして説明する。
即ち、ユーザ端末1Aは、近傍(所定範囲内)にあるベーシックコア2Aとペアリングする。更に、ユーザ端末1Aは、遠方(所定範囲外)にあるベーシックコア2Bとリモートペアリングする。そして、第1ユーザは、ユーザ端末1Aを用いて、ベーシックコア2A及び2Bの夫々に接続されている機能モジュール3A及び3Bの両方を用いたプログラミングを行うものとして説明する。
【0042】
このため、詳しくは後述するが、図5において、ユーザ端末1Aが備える遠隔ペアリング情報出力部513Aは機能せず、ユーザ端末1Bが備える遠隔ペアリング情報出力部513Bは機能する。そこで、図5において、ユーザ端末1Aが備える遠隔ペアリング情報出力部513Aは破線で示されている。
【0043】
また、ユーザ端末1Bは、ユーザ端末1Aと基本的に同様の機能的構成を有しているため、説明を省略するが、以下の点でユーザ端末1Aと異なる。
即ち、上述したように、第2ユーザはユーザ端末1Bを用いたプログラム作成を行わないものとして説明するため、ユーザ端末1Bが備える遠隔ペアリング部512Bとプログラム作成部54Bとプログラム実行部55Bとは機能しない。また、ユーザ端末1Bの記憶部29Bの一領域に確保されたSパーツDB61B及びプログラム機能部62Bも用いられないものとして説明する。そこで、図6において、ユーザ端末1Bが備える遠隔ペアリング部512Bとプログラム作成部54Bとプログラム実行部55B、並びに、SパーツDB61B及びプログラム機能部62Bは破線で示されている。
【0044】
ユーザ端末1Aのペアリング部51Aは、ベーシックコア2Aやベーシックコア2Bとの間のペアリングを実行する。即ち、ペアリング部51Aは、近傍(所定範囲内)にあるベーシックコア2A及び遠方(所定範囲外)にあるベーシックコア2Bとペアリングする。
【0045】
具体的には、ペアリング部51Aの通常ペアリング部511Aは、コア通信制御部52Aの制御により、ユーザ端末1Aとベーシックコア2Aとのペアリングを行う。
ペアリング部51Aの通常ペアリング部511Aは、ベーシックコア2Aやベーシックコア2Bのうち、所定範囲内で伝達可能な信号を用いる第1通信方式にて、所定範囲内に存在するベーシックコア2Aとの間のペアリングを実行する。
即ち、通常ペアリング部511Aは、コア通信制御部52Aにより制御されるNFCやBLE(登録商標)といった近距離無線通信規格に準拠した近距離無線通信を用いて、ユーザ端末1Aとベーシックコア2Aとのペアリングを行う。なお、本実施形態では、通常ペアリング部511AによるペアリングはNFCに準拠した近距離無線通信で行われるが、これは例示に過ぎず、任意の方式の通信で行われてもよい。
また、ペアリング部51Aは、ユーザ端末1Aとペアリングしたベーシックコア2A及びそれに接続された機能モジュール3Aの種別や接続の状況を確認する。ペアリング部51Aに確認された機能モジュール3Aの種別や接続の状況は、図示せぬ表示制御部を介して、プログラム作製画面に表示される。
【0046】
また、遠隔ペアリング部512Aは、ネット通信制御部53Aの制御により、ユーザ端末1Aとベーシックコア2Bとのペアリングを行う。
遠隔ペアリング部512Aは、ベーシックコア2Aやベーシックコア2Bのうち、インターネットを介する第2通信方式にて、ベーシックコア2Bとの間のペアリングを実行する。
【0047】
なお、本実施形態のユーザ端末1Aの遠隔ペアリング部512Aによるリモートペアリングは、ユーザ端末1Bとベーシックコア2Bとのペアリングがなされていることが前提となる。
即ち、前提として、ユーザ端末1Bの通常ペアリング部511Bは、所定範囲内で伝達可能な信号を用いる第1通信方式にて、所定範囲内に存在するベーシックコア2Bとの間のペアリングを実行する。
【0048】
次に、遠隔ペアリング情報出力部513Bは、通常ペアリング部511Bによるペアリングにより得られた情報を含む、ユーザ端末1Aにとってベーシックコア2Bとの間のペアリングに必要な情報をペアリング情報として、ペアリング情報を示す識別子を画像としてタッチパネル41Bに表示させる。
【0049】
ユーザ端末1Bを操作する第2ユーザは、タッチパネル41Bに表示されたQRコード(登録商標)を、ZOOM端末4Bが有する撮像部(カメラ)に撮像させる。その結果、タッチパネル41Bに表示されたQRコードは、ZOOM端末4Aの表示部に表示される。
即ち、ユーザ端末1Bは、第2ユーザによる所定の入力をトリガとしてQRコードを出力をする。
【0050】
遠隔ペアリング部512Aは、所定範囲外に存在するベーシックコア2Bとの間のペアリングに必要な情報をペアリング情報として取得して、ペアリング情報を用いて、リモートペアリングを行う。
即ち、まず、第1ユーザは、ユーザ端末1Aの撮像部31Aを用いて、ZOOM端末4Aに表示されたQRコードを撮像する。遠隔ペアリング部512Aは、撮像部31Aを介して取得した撮像画像のデータから、QRコードに含まれる所定範囲外に存在するベーシックコア2Bとの間のペアリングに必要な情報をペアリング情報として取得する。
具体的には例えば、ペアリング情報には、ユーザ端末1Bへの接続のための情報や、ユーザ端末1Bとペアリングされたベーシックコア2Bの情報や機能モジュール3Bに関する情報が含まれる。
その結果、後述するように、リモートペアリングされたベーシックコア2Bは、プログラムの実行時にネット通信制御部53Aの制御により、ネットワークNWを介して制御される。
【0051】
プログラム作製部54Aは、ユーザのタッチ操作を受付けて、実際にプログラムの作製を行う。
また、プログラム作製部54Aは、ペアリング部51Aによりペアリングが行われたベーシックコア2Aに接続されている機能モジュール3Aの種別に対応するHパーツを、図示せぬ表示制御部を介してプログラム作製画面へ表示する。
また、プログラム作製部54Aは、適宜、SパーツDB61AからSパーツを抽出して、図示せぬ表示制御部を介してプログラム作製画面へ表示する。
また、プログラム作製部54Aは、ユーザのタッチ操作に応じて、各種Hパーツ及び各種Sパーツを結合する。
最終的に作製されるプログラムにおいては、このように結合された各種Hパーツ及びSパーツに指定されたプログラムの内容が連続的に実行されて良い。
そして、プログラム作製部54Aは、ユーザに作製されたプログラムの内容を確定し、その作製されたプログラムをプログラム格納部62Aへ格納する。
【0052】
プログラム実行部55Aは、ベーシックコア2A,2Bで実行される各種処理の主たる制御を実行する。
例えば、プログラム実行部55Aは、プログラム格納部62Aへ格納されたプログラムを実行して、その実行結果に基づいて、機能モジュール3A及び3Bの機能を発揮させるための動作指示等を出力する。
このとき、プログラム実行部55Aは、プログラムに含まれるHパーツに対応する機能モジュール3Aを、コア通信制御部52Aを介して制御する。
また、プログラム実行部55Aは、プログラムに含まれるHパーツに対応する機能モジュール3Bを、ネット通信制御部53Aと、ネットワークNWを介して制御する。即ち、プログラム実行部55Aは、ベーシックコア2Bを制御するためのコマンドや制御信号等をコア通信制御部52Bにより制御させることができる。
このように、本実施形態では、リモートペアリングされたベーシックコア2Bに接続された機能モジュール3Bを、ユーザ端末1Aから制御することが可能となるのである。
【0053】
なお、ユーザ端末1は、ユーザに作製されたプログラムによって、ベーシックコア2及び機能モジュール3を動作させることを目的とせずに、抽出されたプログラムを仮想的に実行できて良い。
即ち、ユーザ端末1は、実際に作製されたプログラムが正常に実行できるか等をチェックするためのシミュレーションを行うことができて良い。なお、プログラムの実行結果は、後述するように、図示せぬ表示制御部を介して表示部27に表示される。
また、ユーザ端末1は、ユーザに作製されたプログラムによって、ベーシックコア2及び機能モジュール3を動作させることを目的として、抽出されたプログラムを実行できて良い。
即ち、ユーザ端末1は、作製されたプログラムの実行結果(コマンドや制御信号等)を、ベーシックコア2及び機能モジュール3へと送信し、機能モジュール3に機能を発揮させることができて良い。
なお、プログラムの実行結果は、ユーザ端末1Aのタッチパネル41Aに表示されるだけでなく、後述するように、ネット通信制御部53Aによってユーザ端末1Bへと送信され、タッチパネル41Bに表示されても良い。
【0054】
図示せぬ表示制御部は、前述した各種情報等を表示部27に表示するための制御を実行する。
【0055】
ベーシックコア2Aは、ユーザ端末1Aとペアリングする。即ち、ベーシックコア2Aは、ユーザ端末1Aから送信されてきたプログラムの実行結果(コマンドや制御信号等)に基づいて、機能モジュール3A,3Bに機能を発揮させることができる。
【0056】
なお、ベーシックコア2のCPUは、端末通信制御部でのBLEインターフェースとのデータのやりとり、機能モジュール通信制御部での機能モジュール3とのデータのやりとり、及びプログラム実行部55Aでのロジックの処理の3つを並行してμ秒オーダーで行う演算処理能力を備えていることが望ましい。
【0057】
機能モジュール3Aは、機能モジュール3Aで実行される各種処理の主たる制御を実行する。
例えば、ベーシックコア2Aから送信されてきた動作指示を、取得する。
そして、機能モジュール3Aは、取得した動作指示を、機能ハードウェアに実行させるための制御を実行する。
【0058】
上述をまとめると、ユーザ端末1Aの通常ペアリング部511Aが機能することにより、ユーザ端末1Aとベーシックコア2Aとがペアリングされる。
同様に、ユーザ端末1Bの通常ペアリング部511Bが機能することにより、ユーザ端末1Bとベーシックコア2Bとがペアリングされる。
そして、遠隔ペアリング情報出力部513Bが機能することにより、ユーザ端末1Aからみて所定範囲外に存在するベーシックコア2Bとの間のペアリングに必要な情報、即ち、ペアリング情報を含むQRコードが、タッチパネル41Bに表示される。
遠隔ペアリング部512Aは、ZOOM端末4A及び4Bを介して表示されたQRコードを含む撮像画像に基づいて、ペアリング情報を取得し、ユーザ端末1Aとベーシックコア2Bとを遠隔ペアリングする。
その結果、ユーザ端末1Aのプログラム実行部55Aにおけるプログラムの実行結果に基づいて、ベーシックコア2Bの制御がなされるのである。
【0059】
次に、図6を用いて、ユーザ端末1Aのタッチパネル41Aに表示されるプログラム作製画面の詳細について説明する。
図6は、図2のユーザ端末1Aが実行するプログラム作製処理に関し、ユーザに実際に表示される画面の一例を示す図である。
【0060】
図6において、左半分にはユーザに表示されているプログラム作製画面(以下、「ユーザ表示画面」と呼ぶ)が、右半分には実際に作製されたプログラムに応じて、動作する各種ハードウェアの実機の模式図(以下、「ハードウェア模式図」と呼ぶ)が示されている。
まず、図6(A)は、ユーザ端末1Aとベーシックコア2-Oとのペアリング、ユーザ端末1Bとベーシックコア2-Pとのペアリングはされているものの、ユーザ端末1Aとベーシックコア2-Pとのリモートペアリングはなされていない状況を示している。
即ち、図6(A)のハードウェア模式図を見ると、ユーザ端末1Aには、ベーシックコア2-O及び機能モジュール3-O(Oは、1乃至nのうち任意の整数値)はペアリングされている(接続を示す矢印に〇が付されている)。
なお、機能モジュール3-Oは、押しボタンの機能を発揮することができる。
また、図6(A)のハードウェア模式図を見ると、ユーザ端末1Bには、ベーシックコア2-P及び機能モジュール3-P(Pは、1乃至mのうち任意の整数値)はペアリングされている(接続を示す矢印に〇が付されている)。
また、機能モジュール3-Pは、ブザーの機能を発揮することができる。
このとき、ユーザ端末1A及びユーザ端末1Bとは、ネットワークNWを介して接続されておらず、上述のリモートペアリング(例えば、ユーザ端末1Aとベーシックコア2-Pとのリモートペアリング)もなされていない。
そして、図6(A)のユーザ表示画面を見ると、プログラム作製時表示領域DAとHパーツ表示領域DHAには機能モジュール3-OのアイコンIOは表示されているものの、機能モジュール3-PのアイコンIPは表示されていない。なお、Sパーツ表示領域DSAには、タイマーのアイコンが表示されている。
【0061】
図6(B)は、ユーザ端末1Bとペアリングされた機能モジュール3-P(即ち、ベーシックコア2-P)とユーザ端末1Aとをリモートペアリングするべく、ペアリング情報をZOOM端末4A及び4Bを介してユーザ端末1Aに取得される様子を示している。
即ち、ユーザ端末1Bの画面をみると、画面上にペアリング情報を含むQRコード(図6(B)の例では、四角に6つの丸が配置された画像)が表示されている。第2ユーザは、ユーザ端末1Bの画面をZOOM端末4Bの撮像部に向けることで、QRコードを撮像させ、ネットワークNWを介したビデオ通話によりZOOM端末4Aの画面に表示させる。
第1ユーザは、ZOOM端末4Aの画面に表示されたQRコードをユーザ端末1Aを用いて撮像する。これにより、機能モジュール3-P(即ち、ベーシックコア2-P)とユーザ端末1Aとをリモートペアリングするためのペアリング情報が取得される。
【0062】
図6(C)は、ユーザ端末1Aと機能モジュール3-P(即ち、ベーシックコア2-P)とがリモートペアリングされた状況が示されている。
また、図6(C)のハードウェア模式図を見ると、ユーザ端末1A及びユーザ端末1Bとは、ネットワークNWを介して接続されており、ユーザ端末1Aから機能モジュール3-Pまで矢印(通信)が通じていることがわかる。
そして、図6(C)のユーザ表示画面を見ると、プログラム作製時表示領域DBとHパーツ表示領域DHBには機能モジュール3-PのアイコンIPも表示されている。
【0063】
図6(D)は、ユーザによって作製されたプログラムが、実行された状況を示している。
図6の(D)のユーザ表示画面を見ると、プログラム作製時表示領域DCには、右から順に押しボタンのアイコン、タイマー(2S)、ブザーのアイコンが順番に表示され、夫々のアイコンにより夫々結合されている。
ユーザは、このように、ユーザ表示画面に表示されたアイコンを視認しながら、各種Hパーツ及び各種Sパーツを自由に組み合わせて結合させることで、夫々のアイコンが指定する内容を組み合わせて1つのプログラムを製作し、そのプログラムを実行させることができる。
図6(D)のハードウェア模式図を見ると、同図のユーザ表示画面で示されるプログラムが実行された結果として、押しボタン(ユーザ端末1Aとペアリングされた機能モジュール3-O)が押されると、その2秒後に、ブザー(ユーザ端末1Bとペアリングされた機能モジュール3-P)が鳴るという動作が実現されることがわかる。
【0064】
次に、上述のリモートペアリング等において有用な、Hパーツのアクティブインプット(Active Input)機能について説明する。
アクティブインプット機能とは、プログラム内に用いられたHパーツの有効と無効とを切り替える機能である。
即ち、上述の実施形態では、1つの機能モジュール3に対応した1つのHパーツをプログラム内に配置可能となるものとして説明したがアクティブインプット機能を用いることにより、複数のHパーツとして配置することが可能となる。
【0065】
まず、アクティブインプット機能を用いたHパーツのアイコンについて説明する。
図7は、ペアリングされた機能モジュールがアクティブインプット機能を有するHパーツとして表示された状況を示す例である。
即ち、図7のハードウェア模式図を見ると、ユーザ端末1Aには、ベーシックコア2-Q及び機能モジュール3-Q(Qは、1乃至nのうち任意の整数値)はペアリングされている。
ここで、機能モジュール3-Qは、発光の機能を発揮することができる。
即ち、機能モジュール3-Qは、ユーザ端末1Aの制御により発光するLEDを有している。なお、このLEDは、発光の輝度の調整(調光)が可能である。
【0066】
そして、図7のユーザ表示画面を見ると、Hパーツ表示領域には機能モジュール3-QのアイコンIHがHパーツとして表示されている。
図7のアイコンIHには、その機能モジュール3-QがLEDである旨を示す「LED」の文字列と、「Active Input」の入力端子Eと、「Input」の入力端子INとが配置されている。
ここで、「Active Input」の入力端子Eは、上述のActive Inputを制御するための端子である。
以下、本実施形態では、入力端子Eに「真」が入力されるとそのHパーツが有効に、入力端子Eに「偽」が入力されるとそのHパーツが無効になるものとして説明する。
また、「Input」の入力端子INは、上述のLEDの輝度を制御するための端子である。
具体的には、本実施形態では、入力端子INに「100」が入力されるとLEDの光の強度が最大となり、「0」が入力されるとLEDの光の強度が最弱となる物として説明する。即ち、本実施形態の入力端子INは、0から100の範囲の数値が入力されることでLEDの光の強度が変化する端子である。
【0067】
アクティブインプット機能を有するHパーツを用いることにより、以下のようなプログラミングが可能となる。
【0068】
図8は、アクティブインプット機能を有するHパーツを複数配置したプログラムの例を示す図である。
図8に示すプログラムには、2つのHパーツHP1及びHP2が配置されている。
この2つのHパーツHP1及びHP2は、1つの機能モジュール3-Qに対応付けられたものである。
HパーツHP1の入力端子INには10の数値が入力されている。また、HパーツHP2の入力端子INには70の数値が入力されている。このように、1つの機能モジュール3-Qの輝度として2つのHパーツに2つの数値が夫々入力された場合、その機能モジュール3-Qの輝度は一意に決まらないことになってしまう。
そこで、アクティブインプット機能が有用である。
即ち、図8において、HパーツHP1の入力端子EにはON/OFFスイッチがそのまま入力されている。また、HパーツHP2の入力端子EにはON/OFFスイッチが反転されて入力されている。
これにより、ON/OFFスイッチがON(真)の場合にはHパーツHP1が有効となり、輝度は10となる。また、ON/OFFスイッチがOFF(偽)の場合にはHパーツHP2が有効となり、輝度の値は70となるのである。
このように、アクティブインプット機能により、複数のHパーツのうち何れのHパーツを有効とするのか(機能モジュールと対応付けるのか)の制御が可能となる。
これにより、ビジュアルプログラミングの幅が広がると共に、プログラムの理解が容易な配置も可能となるのである。
即ち、ユーザにとっては、上述の図8の例のように、アクティブインプット機能を有する複数のHパーツを用いたプログラムを作製する方が、条件によりSパーツの数値を変更するプログラムを作製するより容易なことが多い。また、ユーザにとっては、Sパーツの数値が変更されることを前提としたプログラムよりも、Sパーツの値が固定されたHパーツのうち何れかが動作することを前提としたプログラムの方が把握しやすいことが有る。
このようなビジュアルプログラミングが、上述のアクティブインプット機能により、可能となるのである。
【0069】
なお、アクティブインプット機能は、上述のリモートペアリングされた機能モジュール3-Qについても適用可能である。
更に言えば、アクティブインプット機能は、リモートペアリングされた機能モジュール3-Qを用いたペアプログラミングの際に、更に有用である。
図9は、リモートペアリングにおいてアクティブインプット機能を有するHパーツを配置したプログラム作製画面と実機の状況の例を示す図である。
即ち、上述のリモートペアリングの説明においては、第1ユーザのみがプログラムの作製を行う者として説明したが、実際には、第1ユーザと第2ユーザが双方リモートペアリングをさせることができる。
【0070】
その結果、図9に示すように、ユーザ端末1Aのプログラム作製画面には、ユーザ端末1Aとペアリングされた機能モジュール3-OのHパーツ(ボタン)と、リモートペアリングされた機能モジュール3-QのHパーツ(LED)とが配置されている。
その結果、図9に示すように、ユーザ端末1Aのプログラム作製画面には、ユーザ端末1Bとリモートペアリングされた機能モジュール3-OのHパーツ(ボタン)と、ペアリングされた機能モジュール3-QのHパーツ(LED)とが配置されている。
なお、図9の説明においては、アクティブインプット機能を有するHパーツの入力端子IN(図9の例ではLEDのブロックの左下の入力端子)に対して、ボタンによる入力があった場合図7等で説明した数値としての100が入力されるものとする。また、ボタンによる入力がなかった場合図7等で説明した数値としての0が入力されるものとする。
【0071】
図示せぬZOOM端末4A及び4Bを用いることにより、第1ユーザはユーザ端末1Aを用いてプログラムの作製を行い、第2ユーザはユーザ端末2Bを用いてプログラミングの作製を行う、ペアプログラミングを行うことができる。
このとき、1つの機能モジュール3-Qに対応付けられたHパーツは、ユーザ端末1A上と、ユーザ端末1B上の2か所に配置されていると言える。
このようなペアプログラミングにおいてプログラムを実行させる際、その機能モジュール3-O及び3-Qを何れのプログラムに従って動作させるかということが問題となる。
即ち、第1ユーザがプログラムを実行させ、第2ユーザがその様子を確認するのか、その逆であるのかにより、機能モジュール3-Qを何れのプログラム(ユーザ端末1A又は2B)の制御に従わせるかを変える必要が有る。
そこで、アクティブインプット機能が有用となるのである。
即ち、プログラムの実行に際して、「Active Input」の入力端子Eへの入力を異ならせることにより、この問題を解決することができるのである。
【0072】
アクティブインプット機能がない場合、機能モジュールの制御入力の選択を行うためのセレクターといった機能モジュールを用意し、制御する等の対策を行う必要が有った。更に言えば、セレクターを用いる場合、特に3つ以上の機能を選択するときには、そのプログラム上の配線が複雑になる、という問題が発生する。アクティブインプット機能は、これらを解決することができる。
【0073】
また、アクティブインプット機能により、プログラムのパターン(所謂プログラムのモジュール)を作製して確認するといった作業が用意となる。即ち、ユーザは、仕様の異なる複数のプログラムのモジュールを作製し、夫々テストしたり、他のプログラムと連結して動作させたりすることが有る。アクティブインプット機能により、何れのモジュールを有効かするかを制御することが可能となる。
【0074】
以上本発明の一実施形態について説明したが、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
【0075】
例えば、図6図9に示す実施形態では、機能モジュール3-O及び3-P、3-Qとして、押しボタンとブザーとLEDとが採用されているが、機能モジュール3の発揮する機能は特に上述した実施形態には限定されない。
以下、即ち例えば、監視カメラ(Webカメラ)や、マイク、家電全般等、各種各様なものが機能モジュール3として採用され得る。
【0076】
また、リモートペアリングについて、以下のように各種機能を実現することもできる。
即ち、上述の実施形態ではペアリング情報は、QRコードの形態で、ZOOM端末4A及び4Bを介して授受されるものとしたが、特にこれに限定されない。即ち例えば、ペアリング情報は、画像、音波、URL等のリンクの共有等、他の形態(方法)に授受されてもよい。
【0077】
また、リモートペアリングされた各種装置(例えば、ユーザ端末1Aとベーシックコア2B)とは、P2Pや、WebRTCの技術を利用して通信を行うものとするとよい。
これにより、サーバレスでの通信が可能となり、本サービスの運営に係るコスト低減や制御のタイムラグの削減をすることができる。
【0078】
なお、上述したように、ペアリング情報には、ペアリングに必要な情報(上述の例では、ユーザ端末1Aとベーシックコア2Bとの間のペアリングに必要な情報)が含まれるものとしたが、所定処理がなされた情報であってもよい。具体的には例えば、所定処理として、その所定処理の内容を知らない者にとってランダムであると把握されるように変換する処理が採用される。
以下、このような所定処理を行うことによる効果について、WebRTCの技術が採用された場合の具体例を用いて説明する。
まず、前提として、ユーザ端末1Aは、ベーシックコア2Bからユーザ端末1Aに接続するためのパラメータ等を図示せぬサーバに登録する。この時、ユーザ端末1Aに接続するためのパラメータ等には固有の識別子が対応付けられて管理される。
ユーザ端末2Bは、共有された固有の識別子をサーバに送信することで、ベーシックコア2Bからユーザ端末1Aに接続するためのパラメータ等を取得し、WebRTCの技術による通信が可能となるのである。
ここで、この固有の識別子は、本サービスを同時に利用するユーザの組だけ固有な値を取り得えるように規定されていれば足りる。即ち例えば、本サービスを同時に利用するユーザの組の数が10000程度の場合、2バイトサイズの整数値として規定されていれば足りる。
しかしながら、この例において2倍とサイズの整数値を直接用いると、第三者がリモートペアリングしてしまう可能性が高い。即ち、有る第1ユーザと第2ユーザとが用いている固有の識別子を、第三者のユーザ端末がサーバに対して送信した場合、その第三者が第1ユーザ及び第2ユーザのリモートペアリングに参加して(或いは成り代わって)しまう可能性が有る。
そこで、固有の識別子を含むデータ列を入力として出力されたハッシュ値とする処理が、所定処理として用いられると好適である。即ち、2バイトサイズの整数値に対応づけられたハッシュ値(例えば、ランダム化された10バイト以上のサイズの整数値)を用いることで、ベーシックコア2Bからユーザ端末1Aに接続するためのパラメータ等が第三者に提供されることを防ぐことができる。
このように、上述のハッシュ値を含むQRコード(ランダムQRコード)を授受するようにすると好適である。
【0079】
また、上述の実施形態では、プログラム実行部55Aはユーザ端末1Aが有していたが、特にこれに限定されない。即ち例えば、プログラム実行部55Aは、ベーシックコア2Aが有していてもよい。これにより、ベーシックコア2A及び2B並びに各種機能モジュールが協働して、ユーザ端末レスで、プログラムを実行することが可能となる。
【0080】
また、リモートペアリングを用いたプログラムにより、遠隔で舞台作品や家電、ゲームコントローラを操作することも可能となる。即ち、ユーザは、ゲームコントローラやゲームセンタを遠隔制御させることで遊ぶことも可能となる。
【0081】
また、上述の実施形態では、2台のユーザ端末1A及び1Bを用いて説明したが、特にこれに限定されない。即ち例えば、3以上のユーザ端末を用いて、多数のユーザ端末を介してリモートペアリングされた機能モジュールを用いたプログラムの作製も可能となる。
また例えば、リモートペアリングを用いることにより、鍵っ子の子供に帰宅時間を外から連絡する、といったプログラムも作成可能となる。具体的には例えば、冷蔵庫に張り付けられたタイマーを制御することで、かぎっ子にとってのパパやママの帰りの時間が表示されるプログラムなども作成可能となる。
このように、リモートペアリングされた機能モジュールから取得可能な情報を、所定範囲内(ローカル)な物理的なアイテム(機能モジュール)に表示させることでユーザに通 知するといったことが可能となる。
また例えば、部屋の扉の表に「外出中」や「仕事中」、「Recording」といった状況を、Message Boardで表示するプログラムの作製も可能となる。即ち、部屋内(部屋から見て所定範囲内)に配置された機能モジュールでセンシングされた情報に基づいて、部屋外(部屋から見て所定範囲外)に配置された機能モジュールに情報を表示することができる。
また例えば、芸人が漫才をしている状態において、それに対する拍手や笑い声を遠隔で通知するプログラムの作製も可能となる。これにより、動画配信におけるリアルタイムのコメント(特に視聴者が盛り上がった状態における所謂弾幕)をリアルにすることができる。
また例えば、インターホンのためのプログラムを作製することが可能となる。即ち例えば、玄関に配置されたボタンの機能モジュールの操作に基づいて、宅内のブザーに通知音を鳴らさせたり、外出中にはユーザが携帯している情報処理装置に通知する、といったプログラムの作製も可能となる。
【0082】
また、上述の実施形態では、リモートペアリングされた機能モジュール(例えば、図6の機能モジュール3B)を制御するためのコマンドや制御信号等は、ユーザ端末1Bを介するものとしたが特にこれに限定されない。即ち例えば、機能モジュールがWEBカメラの場合には、WEBカメラは直接ネットワークNWと通信を行い、ユーザ端末1Aからのコマンドや制御信号を受付けてもよい。このように、機能モジュールがネットワークNWから直接コマンドや制御信号等を授受可能な場合には、近距離無線通信を利用する所定範囲の外(ネットワークNWを介する範囲)のユーザ端末から直接制御してもよい。
【0083】
また例えば、上述の実施形態では、ユーザ端末1とベーシックコア2のペアリングは、NFC規格に従った方式での近距離無線通信により行っているが、これに限定されない。ペアリングは、近距離無線通信に限らず、いかなる手段によってペアリングを行ってもよい。
さらに言えば、上述の実施形態では、ユーザ端末1で作製したプログラムの実行結果をBluetooth(登録商標)等の規格に従った方式で近距離無線通信を利用して送信しているが、特にこれに限定されない。作製したプログラムは、近距離無線通信に限らず、いかなる手段を利用して送信してもよい。
【0084】
また例えば、上述の本実施形態では、ベーシックコア2の数と機能モジュール3の数をともにn又はmとして説明を行ったが、特にこれに限定されない。即ち、ベーシックコア2の数と機能モジュール3の数は、同一でも構わないし、また、異なっていても構わない。
つまり、1台のベーシックコア2に対して、s台(sは1以上の任意の整数値)の機能モジュール3を接続してもよい。
【0085】
また例えば、上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
換言すると、図5の機能的構成は例示に過ぎず、特に限定されない。
即ち、上述した一連の処理を全体として実行できる機能が情報処理システムに備えられていれば足り、この機能を実現するためにどのような機能ブロックやデータベースを用いるのかは特に図4の例に限定されない。また、機能ブロックやデータベースの存在場所も、図5に特に限定されず、任意でよい。
また、1つの機能ブロックは、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。
【0086】
また例えば、一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。
コンピュータは、専用のハードウェアに組み込まれているコンピュータであっても良い。
また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えばサーバの他汎用のスマートフォンやパーソナルコンピュータであってもよい。
【0087】
また例えば、このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布される図示せぬリムーバブルメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。
【0088】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理をも含むものである。
また、本明細書において、システムの用語は、複数の装置や複数の手段等より構成される全体的な装置を意味するものとする。
【0089】
以上を換言すると、本発明が適用される情報処理システムは、次のような構成を有する各種各様の実施形態を取ることができる。
即ち、本発明が適用される情報処理装置は、
1以上の他情報処理装置(例えば、図5のベーシックコア2A及び2B)に対する情報処理を行う情報処理装置(例えば、図5のユーザ端末1A)において、
前記1以上の他情報処理装置のうち、所定範囲内で伝達可能な信号(例えば、明細書中のNFCやBLE等)を用いる第1通信方式にて、当該所定範囲内に存在する第1他情報処理装置(例えば、図5のベーシックコア2A)との間のペアリングを実行する第1ペアリング手段(例えば、図5の通常ペアリング部511A)と、
前記所定範囲外に存在する第2他情報処理装置(例えば、図5のベーシックコア2B)との間のペアリングに必要な情報をペアリング情報(例えば、明細書中のQRコードに埋め込まれた情報)として取得して、当該ペアリング情報を用いて、インターネットを介する第2通信方式にて、当該第2他情報処理装置(例えば、図5のベーシックコア2B)との間のペアリングを実行する第2ペアリング手段(例えば、図5の遠隔ペアリング部512A)と、
を備える。
【0090】
これにより、第1通信方式で通信する所定範囲内に存在する第1他情報処理装置とペアリングし、第2通信方式で通信する所定範囲外に存在する第2他情報処理装置とペアリングが可能となる。その結果、所定範囲内の第1他情報処理装置と所定範囲外の第2他情報処理装置の両方を用いたプログラムの作製が可能となる。
即ち、ユーザが視覚的な操作によって、より容易に複雑なプログラムを作製することが出来るようになる。
【0091】
さらに、
前記第1他情報処理装置(例えば、図5のベーシックコア2A)と、前記所定範囲外に存在し、かつ前記第2ペアリング手段を備える第3他情報処理装置(例えば、図5のユーザ端末1B)との間で、前記インターネットを介する前記第2通信方式にてペアリングを実行するための前記ペアリング情報を出力する第2ペアリング用情報出力手段(遠隔ペアリング情報出力部513A)
をさらに備えることができる。
【0092】
さらに、
前記第2ペアリング用情報出力手段(例えば、図5の遠隔ペアリング情報出力部513A)は、前記ペアリング情報を示す識別子(例えば、明細書中のQRコード)を画像として所定の表示デバイス(例えば、図5のタッチパネル41A)に表示するか、又は当該識別子が視認可能な状態で媒体に印刷することで、当該ペアリング情報を出力し、
前記表示デバイスに表示された又は前記媒体に印刷された前記識別子が所定の撮像装置(例えば、図5のZOOM端末4A)により撮像され、その結果得られる撮像画像が前記第3他情報処理装置において撮像されて前記識別子が読み取られる(例えば、明細書中のQRコードを含む画像がZOOM端末4Bに表示されてユーザ端末1Bの撮像部31Bにより撮像されることで、当該QRコードが読み取られる)ことにより、前記ペアリング情報が前記第3他情報処理装置の前記第2ペアリング手段(例えば、図5のユーザ端末1Bの遠隔ペアリング部512B)において取得されて、前記第2通信方式によるペアリングが実行される、ことができる。
【0093】
前記第1他情報処理装置及び前記第2他情報処理装置は、前記第1通信方式又は前記第2通信方式で通信する通信機能と、所定の制御プログラムに基づいて他のハードウェアデバイス(例えば、図6の機能モジュール3-O,3-P)を制御する制御機能とを有するハードウェアデバイス(例えば、図6のベーシックコア2-O,2-P)であって、
前記第1他情報処理装置(例えば、図6のベーシックコア2-O)の制御対象となる第1他のハードウェアデバイス(例えば、図6の機能モジュール3-O)に対応付けられた第1ハードウェア部品(例えば、図6(C)等のハードウェア部品H3-O)と、前記第2他情報処理装置(例えば、図6のベーシックコア2-P)の制御対象となる第2他のハードウェアデバイス(例えば、図6の機能モジュール3-P)に対応付けられた第2ハードウェア部品(例えば、図6のハードウェア部品)とを含むプログラミング部品が結合されることで定義される前記所定の制御プログラム(例えば、図6に示すビジュアルプログラム)を作成するプログラム作成手段
をさらに備えることができる。
【0094】
即ち、本発明が適用される情報処理システムは、
ユーザの指示により制御プログラムの作製を支援するプログラム作製支援装置(例えば、図5のユーザ端末1A)と、
前記プログラム作成支援装置と通信をする第1通信機能と、他のハードウェアデバイスと通信をする第2通信機能と、前記制御プログラムに基づいて前記他のハードウェアデバイスを制御する制御機能とを有する1以上の第1ハードウェアデバイス(例えば、図5のベーシックコア2A及び2B)と、
前記第1ハードウェアデバイスと通信をする第3通信機能と、所定機能を発揮させる機能発揮機能とを有する前記他のハードウェアデバイスとしての1以上の第2ハードウェアデバイス(例えば、図5の機能モジュール3A及び3B)と、
を含む情報処理システムにおいて、
前記制御プログラムは、前記1以上の第2ハードウェアデバイスの夫々に対応付けられたハードウェア部品を含むプログラミング部品が結合されることで定義され、
前記プログラム作製支援装置は、
前記複数のプログラム部品の中から2以上のプログラム部品を組み合わせる操作を受付け、前記2以上のプログラム部品の組み合わせを確定することで、前記制御プログラムを作製するプログラム作製手段(例えば、図5のプログラム作製部54A)と、
作製された前記制御プログラムを実行するプログラム実行手段(例えば、図5のプログラム実行部55A)と
を備え、
前記1以上の第2ハードウェアデバイスには、所定の入力をトリガとして所定の出力をする入出力デバイスが含まれており、
前記入出力デバイスに対応する前記ハードウェア部品として、前記所定の入力を受付ける入力部と、有効と無効を切替える有効化部とを有する入出力ハードウェア部品が1以上存在し、
前記プログラム実行手段は、
前記1以上の入出力ハードウェア部品のうち、前記有効化部において有効に切替えられた入出力ハードウェア部品を有効化して、前記入出力デバイスに対応させて、前記制御プログラムを実行する。
【0095】
これにより、1の第2ハードウェアデバイスに対応付けられた入出力部品を2以上配置したプログラムを作製したり実行したりすることが可能となる。即ち、ユーザが視覚的な操作によって、より容易に複雑なプログラムを作製することが出来るようになる。
【符号の説明】
【0096】
1,1A,1B・・・ユーザ端末、2,2A,2B,2-O,2-P・・・ベーシックコア、3,3A,3B,3-O,3-P・・・機能モジュール、4A,4B・・・ZOOM端末、21,21A,21B・・・CPU、29A,29B・・・記憶部、30・・・通信部、31,31A,31B・・・撮像部、32・・・ドライブ、41,41A,41B・・・タッチパネル、42・・・リムーバブルメディア、51A,51B・・・ペアリング部、52A,52B・・・コア通信制御部、53A,53B・・・ネット通信制御部、54A,53B・・・プログラム作製部、55A,55B・・・プログラム実行部、61A,61B・・・SパーツDB、62A,62B・・・プログラム格納部、511A,551B・・・通常ペアリング部、512A,512B・・・遠隔ペアリング部、513A,513B・・・遠隔ペアリング情報出力部
図1
図2
図3
図4
図5
図6
図7
図8
図9