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

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

▶ ローランド株式会社の特許一覧

特開2023-57004通信システム、端末、サーバ及び通信方法
<>
  • 特開-通信システム、端末、サーバ及び通信方法 図1
  • 特開-通信システム、端末、サーバ及び通信方法 図2
  • 特開-通信システム、端末、サーバ及び通信方法 図3
  • 特開-通信システム、端末、サーバ及び通信方法 図4
  • 特開-通信システム、端末、サーバ及び通信方法 図5
  • 特開-通信システム、端末、サーバ及び通信方法 図6
  • 特開-通信システム、端末、サーバ及び通信方法 図7
  • 特開-通信システム、端末、サーバ及び通信方法 図8
  • 特開-通信システム、端末、サーバ及び通信方法 図9
  • 特開-通信システム、端末、サーバ及び通信方法 図10
  • 特開-通信システム、端末、サーバ及び通信方法 図11
  • 特開-通信システム、端末、サーバ及び通信方法 図12
  • 特開-通信システム、端末、サーバ及び通信方法 図13
  • 特開-通信システム、端末、サーバ及び通信方法 図14
  • 特開-通信システム、端末、サーバ及び通信方法 図15
  • 特開-通信システム、端末、サーバ及び通信方法 図16
  • 特開-通信システム、端末、サーバ及び通信方法 図17
  • 特開-通信システム、端末、サーバ及び通信方法 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023057004
(43)【公開日】2023-04-20
(54)【発明の名称】通信システム、端末、サーバ及び通信方法
(51)【国際特許分類】
   G06F 15/00 20060101AFI20230413BHJP
   G10H 1/00 20060101ALI20230413BHJP
   G06F 21/31 20130101ALI20230413BHJP
【FI】
G06F15/00 420A
G10H1/00 Z
G06F21/31
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2021206391
(22)【出願日】2021-12-20
(31)【優先権主張番号】P 2021165931
(32)【優先日】2021-10-08
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】000116068
【氏名又は名称】ローランド株式会社
(74)【代理人】
【識別番号】110000534
【氏名又は名称】弁理士法人真明センチュリー
(72)【発明者】
【氏名】鳥倉(田代) 紘美
(72)【発明者】
【氏名】堀 清隆
(72)【発明者】
【氏名】山下 太久真
【テーマコード(参考)】
5D478
【Fターム(参考)】
5D478HH15
(57)【要約】
【課題】サーバ上のデータを容易に利用できる通信システム、端末、サーバ及び通信方法を提供すること。
【解決手段】携帯端末50からの指示(要求)が、サーバ70から通信装置1及び電子楽器30に送信される。携帯端末50には、通信装置1及び電子楽器30よりも潤沢で多機能な表示装置が搭載される。ユーザHがこのような携帯端末50に対し、電子楽器30にサーバ70のリソースを利用させる指示を入力させ、その指示をサーバ70を介して電子楽器30に送信することで、ユーザHは電子楽器30を操作することなく、サーバ70のリソースの電子楽器30での利用を容易に実現することができる。これにより、電子楽器30でのリソースの利用に関するユーザHのユーザビリティを向上させることができる。
【選択図】図3
【特許請求の範囲】
【請求項1】
端末と、電子機器と、サーバとによる通信システムであって、
前記端末は、
前記サーバにログインするログイン手段と、
前記サーバから、前記ログイン手段でログインしたユーザに対応する電子機器の識別子であるデバイス識別子を受信する識別子受信手段と、
その識別子受信手段で受信したデバイス識別子と、前記電子機器への指示とを前記サーバに送信する端末指示送信手段とを備え、
前記サーバは、
前記ユーザの識別子であるユーザ識別子と、当該ユーザに対応する電子機器のデバイス識別子とを対応付けて記憶する識別子記憶手段と、
ログインされている前記端末のユーザのユーザ識別子に対応するデバイス識別子を前記識別子記憶手段から取得し、ログインされている前記端末に送信する識別子送信手段と、
前記端末から、前記デバイス識別子と、前記電子機器への指示とを受信する第1サーバ指示受信手段と、
その第1サーバ指示受信手段で受信した指示を、前記第1サーバ指示受信手段で受信したデバイス識別子に対応する電子機器に送信するサーバ指示送信手段とを備えていることを特徴とする通信システム。
【請求項2】
前記電子機器は、前記サーバから受信した指示に応じた処理を実行する機器実行手段を備えていることを特徴とする請求項1記載の通信システム。
【請求項3】
前記サーバは、前記第1サーバ指示受信手段で受信した指示が、当該サーバでの処理を要するものである場合に、その指示に応じた処理を行うサーバ実行手段を備え、
前記サーバのサーバ指示送信手段は、前記第1サーバ指示受信手段で受信した指示と、前記サーバ実行手段による処理の処理結果とを、前記第1サーバ指示受信手段で受信したデバイス識別子に対応する電子機器に送信するものであり、
前記電子機器の機器実行手段は、前記サーバから受信した指示に応じた処理と、前記サーバから受信した処理結果に応じた処理とを実行するものであることを特徴とする請求項2記載の通信システム。
【請求項4】
前記電子機器は、前記機器実行手段による前記サーバから受信した指示に応じた処理の処理結果に応じた指示を当該サーバに送信する機器指示送信手段を備え、
前記サーバは、
前記電子機器から指示を受信する第2サーバ指示受信手段と、
その第2サーバ指示受信手段で受信した指示に応じた処理を行うサーバ実行手段とを備え、
前記サーバのサーバ指示送信手段は、前記第2サーバ指示受信手段で指示を受信した電子機器に、前記サーバ実行手段による前記第2サーバ指示受信手段で受信した指示に応じた処理の処理結果を送信するものであり、
前記電子機器の機器実行手段は、前記サーバから受信した処理結果に応じた処理を実行するものであることを特徴とする請求項2記載の通信システム。
【請求項5】
前記電子機器に接続されると共に前記サーバに通信可能に構成される通信装置を備え、
その通信装置は、
前記サーバから指示または処理結果を受信するサーバ受信手段と、
そのサーバ受信手段で受信した指示または処理結果を前記電子機器に送信する機器送信手段とを備えていることを特徴とする請求項1から4のいずれかに記載の通信システム。
【請求項6】
前記通信装置は、
前記電子機器から指示を受信する機器受信手段と、
その機器受信手段で受信した指示を前記サーバに送信する通信装置指示送信手段とを備えていることを特徴とする請求項5記載の通信システム。
【請求項7】
サーバに通信可能に構成される端末であって、
前記サーバにログインするログイン手段と、
前記サーバから、前記ログイン手段でログインしたユーザに対応する電子機器の識別子であるデバイス識別子を受信する識別子受信手段と、
その識別子受信手段で受信したデバイス識別子と、前記電子機器への指示とを前記サーバに送信する端末指示送信手段とを備えていることを特徴とする端末。
【請求項8】
前記識別子受信手段で受信したデバイス識別子が複数存在する場合に、ユーザにそのうちの1のデバイス識別子を選択させる選択手段を備え、
前記端末指示送信手段は、前記選択手段で選択されたデバイス識別子を、前記電子機器への指示と共に前記サーバに送信するものであることを特徴とする請求項7記載の端末。
【請求項9】
電子機器および端末に通信可能に構成されるサーバであって、
ユーザの識別子であるユーザ識別子と、当該ユーザに対応する電子機器の識別子であるデバイス識別子とを対応付けて記憶する識別子記憶手段と、
ログインされている前記端末のユーザのユーザ識別子に対応するデバイス識別子を識別子記憶手段から取得し、そのログインされている前記端末に送信する識別子送信手段と、
前記端末から、前記デバイス識別子と、前記電子機器への指示とを受信する第1サーバ指示受信手段と、
その第1サーバ指示受信手段で受信した指示を、前記第1サーバ指示受信手段で受信したデバイス識別子に対応する電子機器に送信するサーバ指示送信手段とを備えていることを特徴とするサーバ。
【請求項10】
端末と、電子機器と、サーバとによる通信方法であって、
前記サーバには、ユーザの識別子であるユーザ識別子と、当該ユーザに対応する電子機器の識別子であるデバイス識別子とが対応付けて記憶されており、
前記端末において、前記サーバにログインするログインステップと、
前記サーバにおいて、前記ログインステップでログインした前記端末のユーザ識別子に対応するデバイス識別子を取得し、そのログインされている前記端末に送信する識別子送信ステップと、
前記端末において、前記識別子送信ステップで送信されたデバイス識別子と、前記電子機器への指示とを前記サーバに送信する端末指示送信ステップと、
前記サーバにおいて、前記端末指示送信ステップで送信された指示を、前記端末指示送信ステップで送信されたデバイス識別子に対応する電子機器に送信するサーバ指示送信ステップとを備えていることを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信システム、端末、サーバ及び通信方法に関するものである。
【背景技術】
【0002】
特許文献1には、サーバ10に記憶されるサウンドデータをPC30及び記録メディア45を介して電子楽器50に送信し、送信されたサウンドデータを電子楽器50で利用するデータ利用システムSが開示されている。電子楽器50においては、自身に予め内蔵されるサウンドデータのみならず、サーバ10から取得されたサウンドデータも利用できるので、これらのサウンドデータによって表現豊かな演奏が可能となる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2021-177219号公報(例えば、段落0013,0014,0047,0096、図1
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1では、電子楽器50でサーバ12上のサウンドデータを使用するためには、記録メディア45を介さなければならない。一方で、電子楽器50とサーバ12とを通信させることで、電子楽器50にサーバ12からサウンドデータを受信するためには、携帯端末等よりも操作性が低い電子楽器50の入力装置を介して通信に関する指示をしなければならない。これによって、サーバ12のサウンドデータを電子楽器50で利用するまでに多大なユーザの手間および時間を要するという問題点があった。
【0005】
本発明は、上述した問題点を解決するためになされたものであり、サーバ上のデータを容易に利用できる通信システム、端末、サーバ及び通信方法を提供することを目的としている。
【課題を解決するための手段】
【0006】
この目的を達成するために本発明の通信システムは、端末と、電子機器と、サーバとによるシステムであり、前記端末は、前記サーバにログインするログイン手段と、前記サーバから、前記ログイン手段でログインしたユーザに対応する電子機器の識別子であるデバイス識別子を受信する識別子受信手段と、その識別子受信手段で受信したデバイス識別子と、前記電子機器への指示とを前記サーバに送信する端末指示送信手段とを備え、前記サーバは、前記ユーザの識別子であるユーザ識別子と、当該ユーザに対応する電子機器のデバイス識別子とを対応付けて記憶する識別子記憶手段と、ログインされている前記端末のユーザのユーザ識別子に対応するデバイス識別子を前記識別子記憶手段から取得し、ログインされている前記端末に送信する識別子送信手段と、前記端末から、前記デバイス識別子と、前記電子機器への指示とを受信する第1サーバ指示受信手段と、その第1サーバ指示受信手段で受信した指示を、前記第1サーバ指示受信手段で受信したデバイス識別子に対応する電子機器に送信するサーバ指示送信手段とを備えている。
【0007】
本発明の端末は、サーバに通信可能に構成されるものであり、前記サーバにログインするログイン手段と、前記サーバから、前記ログイン手段でログインしたユーザに対応する電子機器の識別子であるデバイス識別子を受信する識別子受信手段と、その識別子受信手段で受信したデバイス識別子と、前記電子機器への指示とを前記サーバに送信する端末指示送信手段とを備えている。
【0008】
本発明のサーバは、電子機器および端末に通信可能に構成されるものであり、ユーザの識別子であるユーザ識別子と、当該ユーザに対応する電子機器の識別子であるデバイス識別子とを対応付けて記憶する識別子記憶手段と、ログインされている前記端末のユーザのユーザ識別子に対応するデバイス識別子を識別子記憶手段から取得し、そのログインされている前記端末に送信する識別子送信手段と、前記端末から、前記デバイス識別子と、前記電子機器への指示とを受信する第1サーバ指示受信手段と、その第1サーバ指示受信手段で受信した指示を、前記第1サーバ指示受信手段で受信したデバイス識別子に対応する電子機器に送信するサーバ指示送信手段とを備えている。
【0009】
また本発明の通信方法は、端末と、電子機器と、サーバとによる方法であり、前記サーバには、ユーザの識別子であるユーザ識別子と、当該ユーザに対応する電子機器の識別子であるデバイス識別子とが対応付けて記憶されており、前記端末において、前記サーバにログインするログインステップと、前記サーバにおいて、前記ログインステップでログインした前記端末のユーザ識別子に対応するデバイス識別子を取得し、そのログインされている前記端末に送信する識別子送信ステップと、前記端末において、前記識別子送信ステップで送信されたデバイス識別子と、前記電子機器への指示とを前記サーバに送信する端末指示送信ステップと、前記サーバにおいて、前記端末指示送信ステップで送信された指示を、前記端末指示送信ステップで送信されたデバイス識別子に対応する電子機器に送信するサーバ指示送信ステップとを備えている。
【図面の簡単な説明】
【0010】
図1】(a)は、通信システムの概要を表す図であり、(b)は通信装置の外観を表す図である。
図2】セットアップモードにおける通信装置、電子楽器、携帯端末およびサーバによる通信を表す図である。
図3】セットアップモード後における通信装置、電子楽器、携帯端末およびサーバによる通信を表す図である。
図4】通信システムの機能ブロック図である。
図5】通信システムにおける通信装置および電子楽器の電気的構成を示すブロック図である。
図6】通信システムにおける携帯端末およびサーバの電気的構成を示すブロック図である。
図7】(a)は、ユーザDBを模式的に表す図であり、(b)は、デバイスDBを模式的に表す図である。
図8】(a)は、通信装置メイン処理のフローチャートであり、(b)は、携帯端末メイン処理のフローチャートであり、(c)は、サーバメイン処理のフローチャートである。
図9】BT通信部セットアップ処理のフローチャートである。
図10】Wi-Fiメイン処理のフローチャートである。
図11】Wi-Fi通信部セットアップ処理のフローチャートである。
図12】携帯端末セットアップ処理のフローチャートである。
図13】サーバセットアップ処理のフローチャートである。
図14】Wi-Fi通信部ワークフロー処理のフローチャートである。
図15】電子楽器ワークフロー処理のフローチャートである。
図16】携帯端末ワークフロー処理のフローチャートである。
図17】HTTPワークフロー処理のフローチャートである。
図18】MQTTワークフロー処理のフローチャートである。
【発明を実施するための形態】
【0011】
以下、好ましい実施例について、添付図面を参照して説明する。図1を参照して本実施形態の通信システムSの概要を説明する。図1(a)は、通信システムSの概要を表す図であり、図1(b)は通信装置1の外観を表す図である。図1(a)に示す通り、通信システムSは、電子楽器30と、携帯端末50と、サーバ70とで構成される。電子楽器30はWi-Fi(登録商標)による無線通信によってアクセスポイント(AP)90に接続され、そのAP90からインターネットNに接続され、携帯端末50は、基地局100に接続され、その基地局100からインターネットNに接続される。サーバ70もインターネットNに接続されるので、電子楽器30とサーバ70、及び、携帯端末50とサーバ70は、インターネットNを介して相互に通信可能に構成される。これにより、電子楽器30と携帯端末50とはサーバ70を介して情報を交換できる 。
【0012】
電子楽器30は、ユーザHの演奏に基づいて楽音を発音する装置(電子機器)である。電子楽器30には、音色の情報を有する音色データが設けられ、ユーザHの選択に応じた音色を音色データから取得し楽音として出力される。音色データは、電子楽器30の工場出荷時に組み込まれているものの他に、インターネットNを介してサーバ70からも取得される。次にこのような電子楽器30によるサーバ70等の外部の機器との通信について説明する。
【0013】
電子楽器30には、通信装置1が装着(接続)される。通信装置1は、Wi-Fi又はBluetooth(登録商標)によって外部の機器と通信する装置であり、USB(登録商標)を介して電子楽器30に着脱可能に接続される。電子楽器30からUSBを介して通信装置1に入力されたデータが、Wi-Fi又はBluetoothを介して外部の機器に送信される。一方で、Wi-Fi又はBluetoothを介して外部の機器から通信装置1で受信したデータが、USBを介して電子楽器30に入力される。また、図1(b)に示す通り、通信装置1には、ユーザHからの指示を入力する操作ボタン2と、LED3とが設けられる。LED3の点灯状態または点滅状態により、通信装置1の動作状態がユーザHに通知される。
【0014】
通信装置1はWi-Fiによる通信でAP90に接続され、そのAP90を介してインターネットNに接続される。インターネットNにはサーバ70が接続されるので、電子楽器50は、通信装置1を介することでサーバ70と通信できる。
【0015】
携帯端末50は、ユーザHから入力される指示に応じた処理を行う端末(情報処理装置、コンピュータ)である。詳細は後述するが、携帯端末50はユーザHからの指示に応じて、電子楽器30へサーバ70からの音色データを取得できるように構成される。また、携帯端末50においてもサーバ70に記憶される音色データをインターネットNを介して取得し、利用することができる。
【0016】
サーバ70は、電子楽器30や携帯端末50で利用される音色データ等が記憶される情報処理装置である。サーバ70には、音色データ以外にも電子楽器30や携帯端末50で利用される楽譜データや音声データ等も記憶される。以下、サーバ70に記憶される音色データ等の電子楽器30や携帯端末50で利用可能なデータのことを「リソース」という。また、以下ではリソースとして主に音色データを例示するが、それ以外の楽譜データ等の他の種類のリソースも同様なので、詳細な説明は省略する。
【0017】
ところで、通信装置1をAP90に接続する際、接続を行うAP90の情報と、AP90に接続するためのパスワードとを通信装置1に設定する必要がある。通信装置1及び通信装置1が接続される電子楽器30には、必要最小限の表示能力や入力能力を有する表示装置しか設けられないので、ユーザHは通信装置1及び電子楽器30によってAP90の情報やそのパスワードを入力するのが困難である。
【0018】
本実施形態では、携帯端末50において、通信装置1で検索されたAP90のリストが表示され、ユーザHは表示されたリストの中からAP90を1つ選択し、そのAP90に接続するためのパスワードを入力する。選択されたAP90の情報と入力されたパスワードとが通信装置1に送信され、通信装置1において受信したAP90の情報とそのパスワードとを用いてAP90への接続を行う。これにより、ユーザHは通信装置1及び電子楽器30でAP90の情報やそのパスワードを入力する必要がないので、通信装置1及び電子楽器30のAP90への接続における手間を低減できる。
【0019】
次に、図2,3を参照して通信装置1、電子楽器30、携帯端末50及びサーバ70による通信を説明する。図2は、セットアップモードにおける通信装置1、電子楽器30、携帯端末50及びサーバ70による通信を表す図である。通信システムSにおいては、ユーザHから操作ボタン2を介して通信装置1へセットアップモードの指示がされた場合に、通信装置1、電子楽器30、携帯端末50及びサーバ70のそれぞれへの接続が行われる。
【0020】
このうち、通信装置1には、Wi-Fiで通信するWi-Fi通信部4と、Bluetoothで通信するBT通信部5とが設けられる。また携帯端末50には、Bluetoothで通信するBT通信部60と、携帯電話基地局100(以下「基地局100」と略す)と通信する基地通信部61とが設けられる。
【0021】
セットアップモードは、通信装置1が携帯端末50からWi-Fi接続するAP90(ユーザHが接続先として選択したもの)の情報を取得し、通信装置1を当該AP90に接続させるためのモードである。セットアップモードにおいては、通信装置1への携帯端末50からのAP90の情報の受信は、BT通信部5を介してBluetoothによって行われる。なお、セットアップモードにおいてAP90の情報の通信はBluetoothによって行われるものに限られず、ZigBee(登録商標)等の他の近距離無線通信規格によって行っても良い。
【0022】
まず、通信装置1が電子楽器30に挿入され、通信装置1の操作ボタン2が長押し(例えば5秒間、操作ボタン2を押し続ける)された場合に、通信装置1はセットアップモードに移行する(T1)。このセットアップモードが実行されている間、LED3を所定の時間間隔(例えば0.5秒)で点滅させることで、ユーザHに通信装置1がセットアップモードである旨を報知するようにしても良い。
【0023】
なお、セットアップモードへの指示は、操作ボタン2が長押しされた場合に限られず、操作ボタン2が所定の回数(例えば3回)連続して押された場合にセットアップモードへ移行しても良い。また、セットアップモードへの移行は、通信装置1の操作ボタン2の操作によるものに限られず、例えば、通信装置1に接続される電子楽器30からの指示に応じてセットアップモードへ移行しても良い。或いは、通信装置1にAP90の情報およびAP90に接続するためのパスワードが設定(記憶)されていない状態で当該通信装置1が電子楽器30に挿入された場合に、操作ボタン2の操作を待つことなく自動的にセットアップモードへ移行しても良い。
【0024】
T1の処理によって、セットアップモードに移行した通信装置1は、携帯端末50とBluetoothでペアリングするため、BT通信部5を待ち受け状態、即ちスレーブ(子)の状態にする(T2)。一方で、携帯端末50では、携帯端末50へセットアップモードの指示が入力された場合に、BT通信部60を送信状態、即ちマスター(親)の状態にする(T3)。T3の処理によって、待ち受け状態の通信装置1を発見した携帯端末50は、通信装置1とのペアリングを成立させる(A1)。
【0025】
なお、T2,T3の処理の通信装置1と携帯端末50とのペアリングにおいて、通信装置1を待ち受け状態にし、携帯端末50を送信状態としたが、これに限られない。携帯端末50を待ち受け状態にし、通信装置1を送信状態としても良い。
【0026】
ここで携帯端末50は、T3及びA1の処理の前に、基地通信部61を介して、サーバ70にユーザHのユーザ登録を行う(A2)。サーバ70はかかるユーザ登録に応じて、ユーザ毎に一意な識別子であるユーザ識別子を作成し、サーバ70のユーザDB72b(図7(a)参照)に登録する(T4)。T4の処理の後、携帯端末50は、サーバ70にユーザHによるログインを行う(A3)。ログインの際に、サーバ70から携帯端末50にHTTPS用アクセス認可情報が送信され、これ以降の携帯端末50からサーバ70へのHTTPSプロトコルによる通信に用いられる。
【0027】
A1の処理によるペアリングが成立した後に、携帯端末50は、BT通信部60を介して通信装置1にデバイス登録データの要求を行う(A4)。デバイス登録データは、通信装置1毎に一意に設定される識別子であるデバイス識別子と通信装置1の製品名等を表す製品情報とで構成される。このような通信装置1のデバイス識別子が、後述のサーバ70に登録される。デバイス識別子は通信装置1毎に一意に設定されるので、ユーザHが複数の電子楽器30を所有する場合でも、登録した1の通信装置1を複数の電子楽器30で共有して使用することで電子楽器30毎にサーバ70に登録する手間を省くことができる。
【0028】
なお、デバイス識別子は、通信装置1毎に一意に識別子に限られず、通信装置1に接続される電子楽器30を識別する識別子でも良い。これにより、電子楽器30に接続する通信装置1を変更しても電子楽器30を一意に識別できる。
【0029】
A4の処理によるデバイス登録データの要求を受け、通信装置1は、BT通信部5を介して携帯端末50に、自身のデバイス識別子および製品情報からなるデバイス登録データを送信する(A5)。A5の処理により通信装置1のデバイス登録データを受信した携帯端末50は、そのデバイス登録データを基地通信部61を介してサーバ70に送信する(A6,A7)。
【0030】
サーバ70は、A7の処理により受信したデバイス登録データを、上記のA3の処理でログインしたユーザHに対応するユーザ識別子と共にデバイスDB72c(図7(b)参照)に登録する(T5)。これによって、ログインしているユーザHのユーザ識別子と、そのユーザHが使用する電子楽器30に接続される通信装置1のデバイス登録データとがデバイスDB72cに対応付けられて記憶される。
【0031】
上記したA5の処理による通信装置1のデバイス登録データの送信の後、携帯端末50は、通信装置1で検索されたAP90のリストを取得するため、BT通信部60を介して通信装置1にAP90のリストを要求する(A8)。A8の処理により通信装置1のBT通信部5で受信したAP90のリストの要求をWi-Fi通信部4に送信する(A9)。A9の処理によりAP90のリストの要求を受信したWi-Fi通信部4では、Wi-Fi通信部4が通信可能なAP90を検索し、検索されたAP90のリストを作成する(T6)。
【0032】
BT通信部5は、T6の処理によりWi-Fi通信部4で作成されたAP90のリストを取得し(A10)、そのAP90のリストをBT通信部5を介して携帯端末50に送信する(A11)。A11の処理によりAP90のリストを受信した携帯端末50は、そのAP90のリストを表示し、そのうちの1のAP90をユーザHに選択させる。かかるAP90が、通信装置1のWi-Fi通信部4が接続を行うものとして特定される。そして、選択(特定)されたAP90と、そのAP90に接続するためのパスワード(入力PSW)とを取得し、BT通信部60を介して通信装置1に送信する(A12)。
【0033】
A12の処理により選択されたAP90とその入力PSWとを受信した通信装置1は、これらの情報をWi-Fi通信部4に送信し(A13)、これらの情報を記憶する(T7)。T7の処理の後、Wi-Fi通信部4で、受信した情報におけるAP90に、受信した入力PSWを用いて接続を行う(T8)。
【0034】
これ以降、又は、通信システムSをセットアップモードに移行させない場合は、通信装置1はT7の処理で記憶させた情報を用いてAP90に接続される。これにより、通信装置1及び電子楽器30はWi-Fi通信部4を介してAP90に接続され、そのAP90を及びインターネットNを介してサーバ70と通信できる。
【0035】
通信装置1のBT通信部5、及び、携帯端末50のBT通信部60では、A12の処理による送信が完了した場合に、Bluetoothによる通信を切断し、ペアリングを解消する(T9,T10)。なお、本実施形態では、先にA4~A7の処理によるデバイス登録データのサーバ70への登録を行い、その後、A8~A13,T6,T7の処理による携帯端末50から通信装置1へのAP90の情報等の送信を行った。しかし、これに限られず、先にA8~A13,T6,T7の処理を行い、その後にA4~A7の処理を行っても良いし、A4~A7の処理とA8~A13,T6,T7の処理とを並列に行っても良い。
【0036】
以上説明した通り、セットアップモードにおいては、通信装置1のWi-Fi通信部4で接続するAP90の情報が、携帯端末50からBluetoothによる通信で送信される。従って、AP90の情報、即ち対象のAP90及びその入力PSWを、携帯端末50と比べて入力装置に制約がある通信装置1及び電子楽器30で入力することなく、AP90に接続させることができる。これにより、通信装置1及び電子楽器30をAP90に接続させる際のユーザHの手間が低減され、通信装置1及び電子楽器30とサーバ70との通信を容易に確立できる。
【0037】
ここで、APの情報をBluetoothによる通信で送信させる際に、通信装置1のBT通信部5と携帯端末50のBT通信部60とをペアリングさせる必要があるが、かかるペアリングにおいてはユーザHが認証情報等を入力する必要がない。これによっても、通信装置1及び電子楽器30をAP90に接続させる際のユーザHの手間を低減できる。
【0038】
また、通信装置1のBT通信部5と携帯端末50のBT通信部60とのペアリングが成立された際に、通信装置1のデバイス登録データが携帯端末50を介してサーバ70に送信され、携帯端末50にログインしているユーザHのユーザ識別子と共にデバイスDB72cに登録される。これにより、通信装置1のデバイス登録データを、ユーザHのユーザ識別子と対応付けてサーバ70に確実に登録できる。
【0039】
このようにサーバ70に登録されたデバイス登録データとユーザ識別子とに基づき、セットアップモード後において、電子楽器50からサーバ70に記憶されるリソースにアクセスできる。更に通信装置1のBT通信部5と携帯端末50のBT通信部60とのペアリングの成立時に、通信装置1のデバイス登録データが自動的にサーバ70に送信されるので、デバイス登録データをサーバ70に登録する際のユーザHの手間を低減できる。
【0040】
次に、図2のセットアップモードによって通信装置1がAP90に接続された後の通信装置1、電子楽器30、携帯端末50及びサーバ70による通信を説明する。図3は、セットアップモード後における通信装置1、電子楽器30、携帯端末50及びサーバ70による通信を表す図である。
【0041】
通信システムSは、セットアップモード後においては、サーバ70に記憶されるリソースを通信装置1で受信し、受信したリソースを電子楽器30で利用する。具体的には、まず、通信装置1からサーバ70にWi-Fi通信部4を介して、通信装置1のデバイス識別子を送信する(A20)。A20の処理において、通信装置1からサーバ70へのデバイス識別子の送信は、MQTT(Message Queueing Telemetry Transport)プロトコルを用いた通信で行われる。なお、A20以降の通信装置1のサーバ70との通信は、Wi-Fi通信部4を介して行われる。
【0042】
A20の処理よってデバイス識別子を受信したサーバ70は、そのデバイス識別子に対応するユーザ識別子をデバイスDB72c(図7(b)参照)から取得し、ユーザ識別子に基づくHTTPS(Hypertext Transfer Protocol Secure)用アクセス認可情報を作成する(T20)。HTTPS用アクセス認可情報は、通信装置1がサーバ70とHTTPSによる通信を行う際に用いられるユーザHのリソースへのアクセスを認可するための情報である。
【0043】
そのT20の処理で作成されたHTTPS用アクセス認可情報と、A20の処理で送信されたデバイス識別子に対応するユーザ識別子とを、MQTTプロトコルを用いた通信によって通信装置1に送信する(A21)。A21の処理によって受信したユーザ識別子は、これ以降の通信装置1とサーバ70とのMQTTプロトコルを用いた通信に用いられる。また、ユーザ識別子と、そのユーザ識別子と共に受信したHTTPS用アクセス認可情報とは、これ以降の通信装置1とサーバ70とのHTTPSプロトコルを用いた通信に用いられる。
【0044】
A21の処理の後、電子楽器30からの指示に応じて、通信装置1からユーザHのリソースへアクセスする要求をサーバ70に送信する(A22)。A22の処理における要求の送信は、HTTPSプロトコルを用いた通信によって行われ、その際に、当該要求に、ユーザ識別子とA21の処理で受信したHTTPS用アクセス認可情報とを含めて送信する。
【0045】
A22の処理による要求を受信したサーバ70は、要求されたリソースに対し、HTTPS用アクセス認可情報が正当なものである場合に、そのリソースをA22の処理による要求がされた通信装置1に送信する(A23)。かかるA23の処理によるサーバ70から通信装置1への送信も、A22の処理と同様にHTTPSプロトコルを用いた通信で行われる。A23の処理で送信されたリソースが通信装置1から電子楽器30に送信され、電子楽器30で利用される。なお、A22の処理において、要求されたリソースがユーザHのものか確認(認証)するために、受信した要求に含まれるユーザ識別子を確認しても良い。
【0046】
以上説明した通り、セットアップモード後においては、通信装置1から自身のデバイス識別子がサーバ70に送信され、サーバ70からそのデバイス識別子に対応するユーザ識別子と、そのユーザ識別子に基づいて作成されたHTTPS用アクセス認可情報とが通信装置1に送信される。通信装置1は、受信したHTTPS用アクセス認可情報やユーザ識別子を用いてサーバ70からリソースを取得し、通信装置1によって取得されたリソースが電子楽器30で利用される。即ち電子楽器30においてサーバ70上のリソースを取得する際に、他の記憶媒体等を介することなく、当該リソースを直接サーバ70から取得できる。これにより、サーバ70上のリソースを容易に取得し、電子楽器30上で利用することができる。
【0047】
更に通信装置1は、接続される電子楽器30のユーザHのユーザ識別子に基づいて作成されたHTTPS用アクセス認可情報やユーザ識別子を受信し、これらの情報を用いてサーバ70からユーザHのリソースを取得する。即ち通信装置1に対応するユーザHのリソースが当該ユーザHの電子楽器30で取得されるので、当該ユーザHの電子楽器30で他のユーザHのリソースにアクセスすることを防止できる。
【0048】
また、A20,A21の処理による通信装置1からのデバイス識別子の送信と、ユーザ識別子、HTTPS用アクセス認可情報の送信とが、MQTTプロトコルを用いた通信で行われる。MQTTプロトコルを用いた通信は、HTTPSプロトコルを用いた通信よりも軽量であるため、A20,A21の処理によるデバイス識別子の送信と、ユーザ識別子、HTTPS用アクセス認可情報の送信とを迅速に行うことができる。
【0049】
更に、通信装置1によるサーバ70からのHTTPS用アクセス認可情報およびユーザ識別子の取得が、セットアップモード後、即ち通信装置1とサーバ70との通信が確立された直後に行われる。これにより、特にHTTPS用アクセス認可情報はサーバ70との通信が確立された際の最新のものとなるので、HTTPS用アクセス認可情報が長期間に亘り同一のものが使用されるのを抑制することができる。
【0050】
例えば、サーバ70が通信装置1に送信するHTTPS用アクセス認可情報の形式を定期的に更新することで、万一、HTTPS用アクセス認可情報やHTTPS用アクセス認可情報に基づくA22の処理による要求が漏洩した場合でも、HTTPS用アクセス認可情報が更新された後は、漏洩したHTTPS用アクセス認可情報によるサーバ70からのリソースの取得ができなくなるので、サーバ70のリソースが漏洩してしまうのをより効果的に抑制できる。
【0051】
なお、A20,A21の通信をMQTTプロトコルを用いた通信で行うものに限られず、HTTPSプロトコルを用いた通信等の他の通信方式で行っても良い。A22,A23の通信もHTTPSプロトコルを用いた通信で行うものに限られず、MQTTプロトコルを用いた通信等の他の通信方式で行っても良い。
【0052】
このように、ユーザHの電子楽器30への指示に応じて、サーバ70上のリソースを電子楽器30で利用させる他に、ユーザHの携帯端末50への指示に応じて、サーバ70上のリソースを電子楽器30で利用させることができる。かかる携帯端末50の指示に応じたサーバ70上のリソースの電子楽器30の利用を説明する。
【0053】
携帯端末50は、図2で説明したセットアップモード後、基地通信部61を介してサーバ70にログインを行う(A24)。ログインの際に、サーバ70から携帯端末50にHTTPS用アクセス認可情報が送信され、これ以降の携帯端末50からサーバ70へのHTTPSプロトコルによる通信に用いられる。また、A24の処理によるログインは、上記した図2のA3の処理によるログインが継続している場合(即ちログアウトしていない場合)は、省略しても良い。なお、これ以降の携帯端末50のサーバ70との通信は、基地通信部61を介して行われる。
【0054】
A24の処理の後、ログインしたユーザHのユーザ識別子を要求し(A25)、サーバ70は要求されたユーザ識別子をユーザDB72bから検索し(T21)、検索されたユーザ識別子をユーザ識別子の要求が行われた携帯端末50に送信する(A26)。携帯端末50は、A26の処理によって受信したユーザ識別子に対応するデバイス登録データをサーバ70に要求する(A27)。
【0055】
サーバ70は、A27の処理によって要求されたユーザ識別子に対応するデバイス登録データをデバイスDB72cから検索し(T22)、該当するデバイス登録データを要求された携帯端末50に送信する(A28)。
【0056】
携帯端末50は、A28の処理で受信したデバイス登録データを所有デバイスリストに登録する(T24)。なお、ユーザHの電子楽器30が複数存在する等、T24の処理によって複数のデバイス登録データが所有デバイスリストに登録された場合は、携帯端末50の指示に応じてサーバ70上のリソースを利用させる電子楽器30の通信装置1に該当するデバイス登録データを、ユーザHに選択させる。
【0057】
そして、T24の処理以降、携帯端末50は、選択されたデバイス登録データに該当する通信装置1が接続された電子楽器30のユーザインタフェース(UI)として動作する(T25)。携帯端末50から、電子楽器30又はサーバ70に対する指示およびそれに付随する情報と、A26の処理で受信したユーザ識別子および選択されたデバイス登録データのデバイス識別子とに基づく要求をサーバ70に送信する(A29)。
【0058】
サーバ70は、A29の処理による要求を通信装置1に送信し、通信装置1はサーバ70から受信した要求を電子楽器30に送信し、電子楽器30において当該要求に対応する処理を実行する(A30)。かかるA30の処理においては、サーバ70は携帯端末50から送信された要求に応じて必要な処理を行い、その結果を通信装置1に送信する場合もある。
【0059】
A29,A30の処理の具体例として、携帯端末50から、電子楽器30のパラメータの変更を指示する要求(対象のパラメータ名とその変更後の設定値とを含む)をサーバ70に送信する(A29)。サーバ70は、受信した要求を通信装置1に送信する。通信装置1は、サーバ70から送信された要求を電子楽器30に送信する。電子楽器30は、受信した要求に応じて処理(パラメータの設定)を行う(A30)。かかるA29の処理で送信される要求としては他に、電子楽器30のパラメータ値の送信などが挙げられる。
【0060】
また、A29,A30の処理の別の具体例としては、サーバ70が携帯端末50から送信された要求に応じて必要な処理を行い、その結果を通信装置1に送信する場合がある。この場合、携帯端末50から、サーバ70に記憶されている所定のリソースのリストの表示を指示する要求(リソースを特定する情報を含む)をサーバに送信する(A29)。サーバ70はその要求を受けて、該当するリソースのリストを作成し、リストの表示を指示する要求(作成したリストを含む)を通信装置1に送信する。通信装置1は、受信した要求を電子楽器30に送信し、電子楽器30はそのリストを後述のLCD36(図5参照)に表示する(A30)。
【0061】
A29,A30の処理の更に別の具体例としては、電子楽器30が、通信装置1から送信された要求に応じてサーバ70に対して要求を送信し、サーバ70におけるその処理結果を取得する場合がある。この場合、携帯端末50から、電子楽器30で利用するリソースのサーバ70からの取得を指示する要求(リソースを特定する情報を含む)をサーバ70に送信する(A29)。
【0062】
サーバ70は、受信した要求を通信装置1に送信し、通信装置1は送信された指示を電子楽器30に送信する。電子楽器30は、受信した指示に基づいて、特定されたリソースの電子楽器30への送信を指示する要求を通信装置1に送信する。通信装置1は、その要求をサーバ70に送信する。サーバ70は受信した要求によって特定されたリソースを通信装置1に送信する。通信装置1は、受信したリソースを電子楽器30に送信する。電子楽器30は、通信装置1から送信されたリソースを利用する(A30)。
【0063】
以上説明した通り、携帯端末50からの指示(要求)が、サーバ70から通信装置1及び電子楽器30に送信される。携帯端末50には、通信装置1及び電子楽器30よりも潤沢で多機能な表示装置が搭載される。ユーザHがこのような携帯端末50に対し、電子楽器30にサーバ70のリソースを利用させる指示を入力させ、その指示をサーバ70を介して電子楽器30に送信することで、ユーザHは電子楽器30を操作することなく、サーバ70のリソースの電子楽器30での利用を容易に実現することができる。これにより、電子楽器30でのリソースの利用に関するユーザHのユーザビリティを向上させることができる。
【0064】
なお、A24~A28の処理において、携帯端末50がサーバ70にログイン後、ユーザ識別子をサーバ70に要求し、要求されたユーザ識別子を携帯端末50に送信し、携帯端末50は、送信されたユーザ識別子をサーバ70に送信することで、サーバ70から対応するデバイス登録データを取得した。しかし、これに限られず、携帯端末50がサーバ70にログインした際に、ログインしたユーザHのユーザ識別子をユーザDB72bから検索し、検索されたユーザ識別子に対応するデバイス登録データをデバイスDB72cで検索し、検索されたデバイス登録データを携帯端末50に送信しても良い。この場合、携帯端末50によるA25,A27の処理と、サーバ70によるT21,A26の処理とを省略しても良い。
【0065】
次に、図4を参照して通信システムSの機能を説明する。図4は、通信システムSの機能ブロック図である。図4に示すように、通信システムSは、携帯端末50と、電子楽器30と、サーバ70とで構成される。携帯端末50は、ログイン手段300と、識別子受信手段301と、端末指示送信手段302とを有する。
【0066】
ログイン手段300は、サーバ70にログインする手段であり、図6(b)で後述のCPU51で実現される。識別子受信手段301は、サーバ70から、ログイン手段300でログインしたユーザに対応する電子楽器30の識別子であるデバイス識別子を受信する手段であり、CPU51で実現される。端末指示送信手段302は、識別子受信手段301で受信したデバイス識別子と、電子楽器30への指示とをサーバ70に送信する手段であり、CPU51で実現される。
【0067】
サーバ70は、識別子記憶手段400と、識別子送信手段401と、第1サーバ指示受信手段402と、サーバ指示送信手段403とを有する。識別子記憶手段400は、ユーザの識別子であるユーザ識別子と、当該ユーザに対応する電子楽器30のデバイス識別子とを対応付けて記憶する手段であり、図6(a)で後述のHDD72で実現される。識別子送信手段401は、ログインされている携帯端末50のユーザ識別子に対応するデバイス識別子を識別子記憶手段400から取得し、ログインされている携帯端末50に送信する手段であり、図6(a)で後述のCPU71で実現される。第1サーバ指示受信手段402は、携帯端末50から、デバイス識別子と、電子楽器30への指示とを受信する手段であり、CPU71で実現される。サーバ指示送信手段403は、第1サーバ指示受信手段402で受信した指示を、第1サーバ指示受信手段402で受信したデバイス識別子に対応する電子楽器30に送信する手段であり、CPU71で実現される。
【0068】
即ち通信システムSにおいて、携帯端末50は、サーバ70にログインし、そのサーバ70からログインしたユーザに対応するデバイス識別子を受信する。そして、携帯端末50は、受信したデバイス識別子と、電子楽器30への指示とをサーバ70に送信する。サーバ70は、携帯端末50から受信したデバイス識別子に対応する電子楽器30に、同じく携帯端末50から受信した指示を送信する。これにより、ユーザは携帯端末50を操作することで、表示装置および入力装置が携帯端末50と比較して貧弱な電子楽器30を操作することなく、サーバ70からの指示の電子楽器30での実行や、サーバ70からのデータの電子楽器30での利用を容易にすることができる。
【0069】
次に、図5~7を参照して通信システムSの電気的構成を説明する。まず、図5を参照して通信装置1及び電子楽器30の電気的構成を説明する。図5は、通信システムSにおける通信装置1及び電子楽器30の電気的構成を示すブロック図である。通信装置1は、CPU10と、フラッシュROM11と、RAM12とを有し、これらはバスライン13を介して入出力ポート14にそれぞれ接続されている。入出力ポート14には更に、上記した操作ボタン2、LED3、Wi-Fi通信部4及びBT通信部5と、外部IF15とが接続される。
【0070】
CPU10は、バスライン13により接続された各部を制御する演算装置である。フラッシュROM11は、CPU10により実行されるプログラムや固定値データ等を格納した書き換え可能な不揮発性の記憶装置であり、制御プログラム11aと、上記した通信装置1のデバイス識別子が記憶されるデバイス識別子11bと、上記した通信装置1の製品情報が記憶される製品情報11cと、携帯端末50から取得した、選択されたAP90の情報が記憶されるAP情報11dと、選択されたAP90の入力PSWが記憶されるAPパスワード11eとを含む。CPU10によって制御プログラム11aが実行されると図8(a)の通信装置メイン処理が実行される。RAM12は、CPU10がプログラムの実行時に各種のワークデータやフラグ等を書き換え可能に記憶するためのメモリである。
【0071】
外部IF15は、外部の機器と接続するための装置であり、後述の電子楽器30の外部IF37と接続される。本実施形態において、外部IF15はUSB規格に基づく装置で構成されるが、USB以外の他の通信規格に基づく装置でも良い。これら外部IFと外部IF37とを介して通信装置1と電子楽器30との通信が行われる。
【0072】
また、Wi-Fi通信部4とBT通信部5とがデュプレクサ16に接続される。デュプレクサ16は、Wi-Fi通信部4で送受信される電波と、BT通信部5で送受信される電波とを統合する装置である。そのデュプレクサ16にはアンテナ17が接続され、Wi-Fi通信部4で送信される電波と、BT通信部5で送信される電波とが統合されてアンテナ17から送信され、アンテナ17で受信した電波が適宜Wi-Fi通信部4とBT通信部5とに分配される。Wi-Fi通信部4とBT通信部5とがデュプレクサ16に接続されることで、これら2つの通信部の電波の送受信を1つのアンテナ17で実現できる。なお、デュプレクサ16を省略し、Wi-Fi通信部4とBT通信部5とのそれぞれにアンテナを設ける構成にしても良い。
【0073】
次に、電子楽器30の電気的構成を説明する。電子楽器30には、CPU31と、フラッシュROM32と、RAM33と、ユーザHの演奏による演奏情報を取得する鍵盤34と、ユーザHが各種設定を入力する設定キー35と、電子楽器30の設定状態等を表示するLCD36と、外部IF37と、音源38と、Digital Signal Processor39(以下「DSP39」と称す)とを有し、それぞれバスライン40を介して接続される。
【0074】
CPU31は、バスライン40により接続された各部を制御する演算装置である。フラッシュROM32は、CPU31により実行されるプログラムや固定値データ等を格納した書き換え可能な不揮発性の記憶装置であり、制御プログラム32aと、上記したサーバ70から取得したリソースのうち、音色データが記憶される音色データ32bとを含む。CPU31によって制御プログラム32aが実行されると、図15の電子楽器ワークフロー処理が実行される。
【0075】
外部IF37は、外部の機器と接続するための装置であり、後述の電子楽器30の外部IF15と接続される。本実施形態において、外部IF37も外部IF15と同様にUSB規格に基づく装置で構成されるが、外部IF15と同様の通信規格であればUSB以外の他の通信規格に基づく装置でも良い。
【0076】
音源38は、鍵盤34から入力される演奏情報に応じて音色データ32bに基づく波形データを出力する装置である。DSP39は、音源38から入力された波形データを演算処理するための演算装置である。DSP39には、音源38とデジタルアナログコンバータ(DAC)41とが接続され、そのDAC41にはアンプ42が接続され、そのアンプ42にはスピーカ43が接続される。
【0077】
次に、図6,7を参照して通信システムSにおける携帯端末50及びサーバ70の電気的構成を説明する。図6は、通信システムSにおける携帯端末50及びサーバ70の電気的構成を示すブロック図である。
【0078】
携帯端末50は、CPU51と、フラッシュROM52と、RAM53とを有し、これらはバスライン54を介して入出力ポート55にそれぞれ接続されている。入出力ポート55には更に、上記したBT通信部60及び基地通信部61と、携帯端末50の設定状態等が表示されるLCD56と、ユーザHからの指示が入力されるタッチパネル57とが接続される。
【0079】
CPU51は、バスライン54により接続された各部を制御する演算装置である。フラッシュROM52は、CPU51により実行されるプログラムや固定値データ等を格納した書き換え可能な不揮発性の記憶装置であり、携帯制御プログラム52aが記憶される。CPU51によって携帯制御プログラム52aが実行されると、図8(b)の携帯端末メイン処理が実行される。RAM53は、CPU51がプログラムの実行時に各種のワークデータやフラグ等を書き換え可能に記憶するためのメモリである。
【0080】
サーバ70は、CPU71と、ハードディスク・ドライブ72(以下「HDD72」と略す)と、RAM73とを有し、これらはバスライン74を介して入出力ポート75にそれぞれ接続されている。入出力ポート75には更にインターネットNと通信する通信部76が接続される。
【0081】
CPU71は、バスライン74により接続された各部を制御する演算装置である。HDD72は、CPU71により実行されるプログラムや固定値データ等を格納した書き換え可能な不揮発性の記憶装置であり、サーバ制御プログラム72aと、ユーザDB72bと、デバイスDB72cと、電子楽器30に利用させる音色データが複数記憶される音色データ群72dとを含む。CPU71によってサーバ制御プログラム72aが実行されると、図8(c)のサーバメイン処理が実行される。
【0082】
ユーザDB72bには、登録されたユーザHのログインに関する情報とユーザ識別子とが記憶される。また、デバイスDB72cには、通信装置1のデバイス識別子および製品情報と通信装置1(電子楽器30)を利用するユーザHのユーザ識別子とが記憶される。図7を参照してユーザDB72b及びデバイスDB72cを説明する。
【0083】
図7(a)は、ユーザDB72bを模式的に表す図である。図7(a)に示す通り、ユーザDB72bには、登録されたユーザHのログインに関する情報であるアカウント(電子メールアドレス)と、パスワードと、ユーザHを登録する際に作成されたユーザ識別子とが対応付けられて記憶される。なお、ユーザDB72bに記憶されるアカウントは、電子メールアドレスに限られず、ユーザHの名称や、一意に設定された任意の文字列等でも良い。
【0084】
図7(b)は、デバイスDB72cを模式的に表す図である。図7(b)に示す通り、デバイスDB72cには、登録された通信装置1のデバイス識別子と、製品情報と、通信装置1(電子楽器30)を利用するユーザHのユーザ識別子とが対応付けられて記憶される。このうち、デバイス識別子は、通信装置1の工場出荷時にデバイスDB72cに登録され、製品情報およびユーザ識別子は上記したセットアップモードにおいてデバイスDB72cに登録される。
【0085】
図6に戻る。サーバ70では、通信装置1及び携帯端末50とHTTPSプロトコルを用いた通信とMQTTプロトコルを用いた通信との2種類の通信が行われる。このうち、MQTTプロトコルを用いた通信では、データを送受信する対象のユーザ識別子とデバイス識別子とを含んだ文字列である「トピック」をやり取りすることで、通信装置1及び携帯端末50との通信が行われる。「トピック」の一例としては、「topic/{ユーザ識別子}/{デバイス識別子}/#(#:データ要求等の任意のコマンド)」が挙げられる。
【0086】
また、MQTTプロトコルを用いた通信では「購読(サブスクライブ)」機能が設けられる。「購読(サブスクライブ)」機能では、予めサーバ70に通信装置1及び携帯端末50ごとに、ユーザ識別子およびデバイス識別子を登録(以下「サブスクライブ登録」という)することで、サーバ70は、トピックが送信された際に、通信装置1及び携帯端末50のうち、そのトピックのユーザ識別子およびデバイス識別子に該当する通信装置1及び携帯端末50に、そのトピックを送信する。
【0087】
よって、サーバ70に対するユーザHが使用する通信装置1(電子楽器30)と、携帯端末50とのそれぞれのサブスクライブ登録において、通信装置1のデバイス識別子とユーザHのユーザ識別子とを登録することで、通信装置1からサーバ70にトピックを送信した結果が通信装置1に送信されると共に携帯端末50にも送信され、携帯端末50からサーバ70にトピックを送信した結果が携帯端末50に送信されると共に通信装置1にも送信される。このようにすることで、通信装置1と携帯端末50とは、サーバ70を介して必要な情報をやり取りすることができるようになる。
【0088】
なお、通信装置1のサブスクライブ登録において、ユーザ識別子およびデバイス識別子に加えて「通信装置1向け」を示す文字列を登録し、携帯端末50のサブスクライブ登録においてもユーザ識別子等に加えて「携帯端末50向け」を示す文字列を登録するようにしても良い。あるトピックについてサーバ70による処理が行われた場合、その処理結果も併せて送信されるが、この場合、通信装置1及び携帯端末50のそれぞれが送信したトピックがそれぞれ自身にも送信(返信)され、また、そのトピックによる処理結果がいずれか一方に送信されれば良い場合にも、これら両方に送信されてしまう。これを避けるため、通信装置1のサブスクライブ登録においてユーザ識別子等に加え「通信装置1向け」を示す文字列を登録し、携帯端末50のサブスクライブ登録においてもユーザ識別子等に加え「携帯端末50向け」を示す文字列を登録する。
【0089】
そして、通信装置1は、「携帯端末50向け」を示す文字列を含むトピックを送信し、携帯端末50は、「通信装置1向け」を示す文字列を含むトピックを送信する。さらに、サーバ70は、通信装置1に対する処理結果には「通信装置1向け」の文字列を含むトピックを送信し、携帯端末50に対する処理結果には「携帯端末50向け」の文字列を含むトピックを送信する。こうすることで、通信装置1及び携帯端末50は、自身に向けられたトピック及びそのトピックによる処理結果のみを受信することができる。
【0090】
次に、図8~19を参照して通信装置1のCPU10、携帯端末50のCPU51、サーバ70のCPU71及び電子楽器30のCPU31で実行される処理を説明する。まず図8を参照して、通信装置1、携帯端末50及びサーバ70のメイン処理を説明する。図8(a)は、通信装置メイン処理のフローチャートであり、図8(b)は、携帯端末メイン処理のフローチャートであり、図8(c)は、サーバメイン処理のフローチャートである。
【0091】
通信装置メイン処理は、通信装置1の電源が投入された場合に実行される処理である。図8(a)に示す通り、通信装置メイン処理はまず、操作ボタン2への長押し操作によりセットアップモードが指示されたかを確認する(S1)。S1の処理において、セットアップモードが指示された場合は(S1:Yes)、BT通信部セットアップ処理(S2)を実行し、セットアップモードが指示されていない場合は(S1:No)、BT通信部セットアップ処理(S2)をスキップする。これらS1,S2の処理と並列にWi-Fiメイン処理(S3)を実行する。BT通信部セットアップ処理では、上記したセットアップモードにおけるBT通信部5に関する処理が行われ、詳細は図9で後述する。
【0092】
Wi-Fiメイン処理では、上記したセットアップモードにおけるWi-Fi通信部4に関する処理(具体的には図10で後述のWi-Fiセットアップ処理)と、セットアップモード後のWi-Fi通信部4に関する処理(具体的には図14で後述のWi-Fiワークフロー処理)とが行われる。これらの処理の詳細は後述する。
【0093】
S1~S3の処理の後、通信装置1に関するその他の処理(S4)を実行し、その後、S1~S3以下の処理を繰り返す。なお、S1,S2の処理と、S3の処理とは並列に実行されるものに限られず、S1,S2の処理の後にS3の処理を実行しても良いし、S3の処理の後にS1,S2の処理を実行しても良い。
【0094】
携帯端末メイン処理は、携帯端末50で通信システムS用のアプリケーションプログラムが起動された場合に、実行される処理である。図8(b)に示す通り、携帯端末メイン処理はまず、タッチパネル57を介してセットアップモードの指示があったかを確認する(S10)。S10の処理において、セットアップモードの指示があった場合は(S10:Yes)、携帯端末セットアップ処理(S11)を実行し、セットアップモードの指示がなかった場合は(S10:No)、携帯端末ワークフロー処理(S12)を実行する。
【0095】
S11の携帯端末セットアップ処理は、携帯端末50のセットアップモードにおける処理であり、詳細は図12で後述する。S12の携帯端末ワークフロー処理は、携帯端末50のセットアップモード後における処理であり、詳細は図16で後述する。これらS11,S12の処理の後、携帯端末50に関するその他の処理(S13)を実行し、その後、S10の処理を繰り返す。
【0096】
サーバメイン処理は、サーバ70の電源が投入された場合に、実行される処理である。図8(c)に示す通り、サーバメイン処理はまず、サーバセットアップ処理(S20)と、HTTPワークフロー処理(S21)と、MQTTワークフロー処理(S22)とを並列に実行する。
【0097】
S20のサーバセットアップ処理は、サーバ70のセットアップモードにおける処理であり、詳細は図13で後述する。S21のHTTPワークフロー処理は、サーバ70のセットアップモード後におけるHTTPプロトコルの通信に関する処理であり、詳細は図17で後述する。S22のMQTTワークフロー処理は、サーバ70のセットアップモード後におけるMQTTプロトコルの通信に関する処理であり、詳細は図18で後述する。これらS20~S22の処理の後、サーバ70に関するその他の処理(S23)を実行し、その後、S20~S22以下の処理を繰り返す。
【0098】
なお、S20~S22の処理の3つを並列に実行されるものに限られず、例えば、S20の処理、S21の処理、S22の処理の順のように、1つずつ順番に実行しても良い。また、S20の処理とS21の処理とを並列に実行した後に、S22の処理を実行するように、S20~S22の処理のうちの2つの処理を並列に実行した後に、残りの処理を実行しても良いし、S20の処理の後に、S21の処理とS22の処理とを並列に実行するように、S20~S22の処理のうちの1つの処理を実行した後に、残りの処理を並列に実行しても良い。
【0099】
まず、通信装置1のセットアップモードの処理を説明する。図9は、BT通信部セットアップ処理のフローチャートである。BT通信部セットアップ処理はまず、BT通信部5を待ち受け状態にする(S30)。S30の処理の後、携帯端末50とのペアリングが成立したかを確認する(S31)。S31の処理において、ペアリングが成立していない場合は(S31:No)、S30以下の処理を繰り返す。
【0100】
S31の処理において、携帯端末50とのペアリングが成立した場合は(S31:Yes)、携帯端末50からのデバイス登録データの要求をBT通信部5で受信したかを確認する(S32)。S32の処理において、デバイス登録データの要求を受信した場合は(S32:Yes)、自身のデバイス登録データ、即ちデバイス識別子11bのデバイス識別子と、製品情報11cの製品情報とをBT通信部5で携帯端末50に送信する(S33)。S33の処理の後、S32以下の処理を繰り返す。
【0101】
S32の処理において、デバイス登録データの要求を受信していない場合は(S32:No)、携帯端末50からAP90のリストの要求をBT通信部5で受信したか確認する(S34)。S34の処理において、AP90のリストの要求を受信した場合は(S34:Yes)、後述のWi-Fi通信部セットアップ処理(図11参照)のS51の処理によるAP90のリストの作成を待機する(S35)。S35の処理の後、携帯端末50に作成されたAP90のリストをBT通信部5から送信する(S36)。S36の処理の後、S32以下の処理を繰り返す。
【0102】
S34の処理において、AP90のリストの要求を受信していない場合は(S34:No)、携帯端末50からユーザHに選択されたAP90の情報(AP情報)とその入力PSW(APパスワード)とを受信したかを確認する(S37)。S37の処理において、AP90の情報と入力PSWとを受信した場合は(S37:Yes)、受信したAP90の情報と入力PSWとを取得する(S38)。
【0103】
このS38の処理で取得したAP90の情報と入力PSWとがそれぞれAP情報11dとAPパスワード11eとに保存される。セットアップモード後のAP90への接続は、AP情報11dとAPパスワード11eとに記憶されたAP90の情報と入力PSWとが用いられる。
【0104】
S37の処理において、AP90の情報と入力PSWとを受信していない場合は(S37:No)、S32以下の処理を繰り返す。S38の処理の後、BT通信部セットアップ処理を終了する。なお、S38の処理の後のBT通信部セットアップ処理の終了を、後述のS54,S55の処理でWi-Fi通信部4のAP90への接続が成功するまで待機しても良い。
【0105】
また、S38の処理の後、通信装置1は電子楽器30にAP90の情報と入力PSWとを取得したことを通知し、電子楽器30は、その通知を受けて通信装置1を再起動させ、再起動した通信装置1は、AP情報11dとAPパスワード11eとに記憶されたAP90の情報と入力PSWとに基づいてAP90に接続し、セットアップモード後の処理を実行しても良い。
【0106】
図10は、Wi-Fiメイン処理のフローチャートである。Wi-Fiメイン処理はまず、通信装置1の操作ボタン2が長押しされ、セットアップモードの指示があったかを確認する(S40)。S40の処理において、セットアップモードの指示があった場合は(S40:Yes)、Wi-Fi通信部セットアップ処理(S41)を実行する。ここで、図11を参照してWi-Fi通信部セットアップ処理を説明する。
【0107】
図11は、Wi-Fi通信部セットアップ処理のフローチャートである。Wi-Fi通信部セットアップ処理はまず、携帯端末50からAP90のリストの要求をBT通信部5で受信したか確認する(S50)。S50の処理において、AP90のリストの要求を受信した場合は(S50:Yes)、Wi-Fi通信部4で接続可能なAP90を検索し、検索されたAP90のリストを作成する(S51)。S51の処理の後、S50以下の処理を繰り返す。
【0108】
S50の処理において、AP90のリストの要求を受信していない場合は(S50:No)、携帯端末50からユーザHに選択されたAP90の情報(AP情報)とその入力PSW(APパスワード)とを受信したかを確認する(S52)。S52の処理において、AP90の情報と入力PSWとを受信した場合は(S52:Yes)、Wi-Fi通信部4を用いて、受信したAP90の情報に該当するAP90に、受信した入力PSWを用いて接続する(S53)。S52の処理において、AP90の情報と入力PSWとを受信していない場合は(S52:No)、S50以下の処理を繰り返す。
【0109】
S53の処理の後、Wi-Fi通信部4によるAP90への接続が成功したかを確認する(S54)。S54の処理において、AP90への接続が成功した場合は(S54:Yes)、接続が成功した旨(「接続成功」)をBT通信部5から携帯端末50に送信する(S55)。
【0110】
一方で、S54の処理において、AP90への接続が失敗した場合は(S54:No)、携帯端末50へ接続が失敗した旨(接続エラー)をBT通信部5から送信する(S56)。S56の処理の後、S50以下の処理を繰り返す。またS55の処理の後、Wi-Fi通信部セットアップ処理を終了する。
【0111】
次に、携帯端末50のセットアップモードの処理を説明する。図12は、携帯端末セットアップ処理のフローチャートである。携帯端末セットアップ処理はまず、サーバ70へのユーザHのユーザ登録が完了しているかを確認する(S60)。S60の処理において、サーバ70へのユーザHのユーザ登録が完了していない場合は(S60:No)、サーバ70へユーザHのアカウント(即ち電子メールアドレス)及びパスワードを送信することで、ユーザHのユーザ登録を行う(S61)。S61の処理の後、S60以下の処理を繰り返す。
【0112】
S60の処理において、サーバ70へのユーザHのユーザ登録が完了している場合は(S60:Yes)、HTTPSプロトコルを用いた通信でサーバ70にユーザHのアカウント及びパスワードを送信することで、サーバ70へのログインを行う(S62)。S62の処理の後、サーバ70からHTTPSプロトコルを用いた通信で受信した、ログインに対するレスポンスが「OK」であるかを確認する(S63)。
【0113】
S63の処理において、ログインに対するレスポンスが「OK」ではない場合は(S63:No)、LCD56にログインが失敗した旨の表示(エラー表示)を行う(S64)。S64の処理の後、S62以下の処理を繰り返す。
【0114】
S63の処理において、ログインに対するレスポンスが「OK」である場合は(S63:Yes)、通信装置1をBT通信部60で検索することで、通信装置1とのペアリングを行う(S65)。S65の処理の後、通信装置1とのペアリングが成立したかを確認する(S66)。S66の処理において、ペアリングが成立していない場合は(S66:No)、S65以下の処理を繰り返す。
【0115】
S66の処理において、ペアリングが成立した場合は(S66:Yes)、通信装置1にデバイス登録データをBT通信部60から要求する(S67)。S67の処理の後、通信装置1からデバイス登録データをBT通信部60で受信したかを確認する(S68)。S67の処理において、デバイス登録データを受信していない場合は(S68:No)、S68の処理を繰り返す。
【0116】
S68の処理において、デバイス登録データを受信した場合は(S68:Yes)、サーバ70に、受信したデバイス登録データをHTTPSプロトコルを用いた通信で基地通信部61から送信する(S69)。
【0117】
S69の処理の後、サーバ70からHTTPSプロトコルを用いた通信で受信した、デバイス登録データの送信に対するレスポンスが「OK」であるかを確認する(S70)。S70の処理において、デバイス登録データの送信に対するレスポンスが「OK」ではない場合は(S70:No)、LCD56に送信が失敗した旨の表示(エラー表示)を行う(S71)。S71の処理の後、S67以下の処理を繰り返す。一方で、S70の処理において、デバイス登録データの送信に対するレスポンスが「OK」である場合は(S70:Yes)、通信装置1にAP90のリストの要求をBT通信部60で行う(S72)。
【0118】
S72の処理の後、通信装置1からAP90のリストをBT通信部60で受信したかを確認する(S73)。S73の処理において、AP90のリストを受信していない場合は(S73:No)、S73の処理を繰り返す。一方で、S72の処理において、AP90のリストを受信した場合は(S73:Yes)、受信したAP90のリストをLCD56に表示する(S74)。
【0119】
S74の処理の後、タッチパネル57を介してLCD56に表示されたリストのうちのAP90が選択(特定)され、その入力PSW(APパスワード)が入力されたかを確認する(S75)。S75の処理において、AP90の選択および入力PSWの入力がされていない場合は(S75:No)、S75の処理を繰り返す。一方で、S75の処理において、AP90の選択および入力PSWの入力がされた場合は(S75:Yes)、そのAP90の情報と入力PSWとを通信装置1にBT通信部60で送信する(S76)。
【0120】
S76の処理の後、通信装置1からAP90への接続結果をBT通信部60で受信したかを確認する(S77)。S77の処理において、AP90への接続結果を受信していない場合は(S77:No)、S77の処理を繰り返す。一方で、S76の処理において、AP90への接続結果を受信した場合は(S77:Yes)、受信した接続結果が「接続成功」かを確認する(S78)。
【0121】
S78の処理において、受信した接続結果が「接続エラー」の場合は(S78:No)、LCD56に接続が失敗した旨の表示(エラー表示)を行い(S79)、S74以下の処理を繰り返す。一方で、S78の処理において、受信した接続結果が「接続成功」の場合は(S78:Yes)、携帯端末セットアップ処理を終了する。
【0122】
次に、サーバ70のセットアップモードの処理を説明する。図13は、サーバセットアップ処理のフローチャートである。サーバセットアップ処理はまず、HTTPSプロトコルを用いた通信がされるのを待機する(S80)。S80の処理の後、携帯端末50からHTTPSプロトコルを用いた通信でユーザ登録が要求されたかを確認する(S81)。
【0123】
S81の処理において、ユーザ登録が要求された場合は(S81:Yes)、携帯端末50から受信したアカウントがユーザDB72b(図7(b)参照)に未登録かを確認する(S82)。S82の処理において、携帯端末50から受信したアカウントがユーザDB72bに未登録の場合は(S82:Yes)、携帯端末50から受信したアカウント及びパスワードと、一意に作成されたユーザ識別子とをユーザDB72bに登録する(S83)。S83の処理の後、携帯端末50に受信したアカウントをユーザDB72bに登録した旨(「OK」)をHTTPSプロトコルを用いた通信で送信する(S84)。
【0124】
一方で、S82の処理において、携帯端末50から受信したアカウントがユーザDB72bに登録されている場合は(S82:No)、携帯端末50に受信したアカウントがユーザDB72bに既に登録されている旨(ERROR)をHTTPSプロトコルを用いた通信で送信する(S85)。S84,S85の処理の後、S80以下の処理を繰り返す。
【0125】
S81の処理において、ユーザ登録が要求されていない場合は(S81:No)、携帯端末50からHTTPSプロトコルを用いた通信でログインがされたかを確認する(S86)。S86の処理において、ログインされた場合は(S86:Yes)、ログインが成功したかを確認する(S87)。S87の処理において、ログインが成功した場合(S87:Yes)、ログインしたユーザHのHTTPS用アクセス認可情報を作成する(S88)。
【0126】
S88の処理の後、携帯端末50に作成したHTTPS用アクセス認可情報と、ログインが成功した旨(「OK」)とをHTTPSプロトコルを用いた通信で送信する(S89)。
【0127】
一方で、S87の処理において、ログインに失敗した場合は(S87:No)、その旨(ERROR)をHTTPSプロトコルを用いた通信で送信する(S90)。S89,S90の処理の後、S80以下の処理を繰り返す。
【0128】
S86の処理において、ログインの要求ではない場合は(S86:No)、携帯端末50からデバイス登録データをHTTPSプロトコルを用いた通信で受信したかを確認する(S91)。S91の処理において、デバイス登録データを受信した場合は(S91:Yes)、デバイスDB72cに、受信したデバイス登録データにおけるデバイス識別子が存在するかを確認する(S92)。
【0129】
S92の処理において、デバイスDB72cに、受信したデバイス登録データにおけるデバイス識別子が存在する場合は(S92:Yes)、デバイスDB72cにおける受信したデバイス登録データのデバイス識別子の領域に、受信したデバイス登録データの製品情報と、ユーザDB72bから取得したログインしているユーザHのユーザ識別子とを保存する(S93)。S93の処理の後、受信したデバイス登録データのデバイスDB72cへの登録が成功した旨(「OK」)をHTTPSプロトコルを用いた通信で送信する(S94)。
【0130】
一方で、S92の処理において、デバイスDB72cに受信したデバイス登録データにおけるデバイス識別子が存在しない場合は(S92:No)、当該デバイス登録データが正規の通信装置1のものでない旨(「ERROR」)をHTTPSプロトコルを用いた通信で送信する(S95)。S94,S95の処理の後、サーバセットアップ処理を終了する。
【0131】
次に、通信装置1、携帯端末50及びサーバ70セットアップモード後の処理を説明する。まず図10,14を参照して通信装置1のセットアップモード後の処理を説明する。
【0132】
図10のS40の処理において、セットアップモードの指示がなかった場合は(S40:No)、上記した図9の処理で取得したAP90の情報と入力PSWとを用いて、Wi-Fi通信部4でAP90に接続する(S42)。S42の処理の後、AP90に接続できたかを確認する(S43)。
【0133】
S43の処理において、AP90に接続できた場合は(S43:Yes)、Wi-Fi通信部ワークフロー処理(S44)を行う。Wi-Fi通信部ワークフロー処理の詳細は後述する。
【0134】
一方で、AP90に接続できなかった場合は(S43:No)、AP90への接続を試みた回数がリトライ回数(例えば10回)の上限に達したかを確認する(S45)。S45の処理において、AP90への接続を試みた回数がリトライ回数の上限に達していない場合は(S45:No)、S43以下の処理を繰り返し、リトライ回数の上限に達した場合は(S45:Yes)、LED3を点滅させることでエラー表示を行う(S46)。S41,S44,S46の処理の後、Wi-Fiメイン処理を終了する。
【0135】
ここで、図14を参照してS44のWi-Fi通信部ワークフロー処理を説明する。図14は、Wi-Fi通信部ワークフロー処理のフローチャートである。Wi-Fi通信部ワークフロー処理はまず、MQTTプロトコルを用いた通信を行うためにサーバ70に接続する(S100)。
【0136】
S100の処理の後、S100の処理によってサーバ70に接続できたかを確認する(S101)。S101の処理において、サーバ70に接続できなかった場合は(S101:No)、S100以下の処理を繰り返す。
【0137】
一方で、S101の処理においてサーバ70に接続できた場合は(S101:Yes)、サーバ70に認可情報(即ちユーザ識別子およびHTTPS用アクセス認可情報)の要求トピックをMQTTプロトコルによる通信を用いてWi-Fi通信部4で送信する(S102)。かかる要求トピックには、自身のデバイス識別子も含む。なお、S100,S102の処理は、通信装置1の判断によって実行されるものに限られず、例えば、通信装置1がサーバ70に接続されていることを電子楽器30が認識した場合に、電子楽器30から通信装置1に指示をすることで、S100,S102の処理を実行しても良い。
【0138】
S102の処理の後、サーバ70からユーザ識別子とHTTPS用アクセス認可情報とをMQTTプロトコルを用いた通信でWi-Fi通信部4から受信したかを確認する(S103)。S103の処理において、ユーザ識別子とHTTPS用アクセス認可情報とを受信していない場合は(S103:No)、S103の処理を繰り返す。
【0139】
一方で、S103の処理において、ユーザ識別子とHTTPS用アクセス認可情報とを受信した場合は(S103:Yes)、受信したユーザ識別子とHTTPS用アクセス認可情報とを外部IF15を介して電子楽器30に送信する(S104)。以下、Wi-Fi通信部ワークフロー処理における通信装置1と電子楽器30との通信は、外部IF15を介して行われるものとする。
【0140】
なお、HTTPS用アクセス認可情報は電子楽器30に送信するものに限られず、例えば、通信装置1に記憶するようにしても良い。その際、HTTPSプロトコルを用いた通信においてHTTPS用アクセス認可情報が必要な場合には、電子楽器30は通信装置1にHTTPS用アクセス認可情報を付加して送信するように指示をすれば良い。そうすることで、外部IF15,37からHTTPS用アクセス認可情報が漏洩するのを防止できるので、電子楽器30とサーバ70との通信におけるセキュリティを向上させることができる。
【0141】
電子楽器30においては、通信装置1から受信したユーザ識別子とHTTPS用アクセス認可情報と用いて、サーバ70へ音色データ等のリソースを利用するための指示を作成するが、詳細は図15で後述の電子楽器ワークフロー処理で説明する。
【0142】
S104の処理の後、サーバ70に対して、S103の処理で受信したユーザ識別子と、デバイス識別子11bのデバイス識別子とによるサブスクライブ登録を行う(S105)。これ以降、通信装置1は、トピック「topic/{ユーザ識別子}/{デバイス識別子}/#」を含むMQTTデータを受信できるようになる。
【0143】
携帯端末50からサーバ70に当該トピックを含むMQTTデータを送信することで、通信装置1はそのMQTTデータをサーバ70から受信する。また、通信装置1又は携帯端末50からのMQTTデータを受けてサーバ70によって処理された結果が、当該トピックを含むMQTTデータとして通信装置1に送信される。このようにして、通信装置1はサーバ70と、又は、サーバ70を介して携帯端末50とコマンドやデータのやり取りができるようになる。
【0144】
S105の処理の後、通信装置1における各種イベントを確認する(S106)。S106の処理において、サーバ70からMQTTデータ、即ちサーバ70からのトピックと、そのトピックと共に送信されるペイロードとを受信した場合(S106:サーバからMQTTデータを受信)、そのMQTTデータを外部IF15を介して電子楽器30に送信する(S107)。ここで、MQTTデータは、トピックと、そのトピックと共に送信されるペイロードとのことをいう。このペイロードには、電子楽器30やサーバ70に対する指示に付随する情報や、サーバ70に対して要求した音色データ等のリソースや、サーバ70で処理した結果等が含まれる。
【0145】
S106の処理において、電子楽器30からMQTTデータを受信した場合(S106:電子楽器からMQTTデータを受信)、そのMQTTデータをMQTTを用いた通信でサーバ70に送信する(S108)。
【0146】
S106の処理において、電子楽器30からHTTPSリクエストを受信した場合(S106:電子楽器からHTTPSリクエストを受信)、そのHTTPSリクエストをHTTPSプロトコルを用いた通信でサーバ70に送信する(S109)。
【0147】
S106の処理において、サーバ70からHTTPSレスポンスを受信した場合(S106:サーバからHTTPSレスポンスを受信)、そのHTTPSレスポンスを電子楽器30に送信する(S110)。一方で、S106の処理において、イベントを受信していない場合(S106:「イベントなし」)、または、S107~S110の処理の後、S106以下の処理を繰り返す。
【0148】
次に、図15を参照して電子楽器ワークフロー処理を説明する。図15は、電子楽器ワークフロー処理のフローチャートである。電子楽器ワークフロー処理は、電子楽器30の電源投入後に実行される処理である。
【0149】
電子楽器ワークフロー処理はまず、通信装置1から外部IF37を介してユーザ識別子とHTTPS用アクセス認可情報とを受信したかを確認する(S130)。以下、電子楽器ワークフロー処理において、電子楽器30と通信装置1との通信は、外部IF37を介して行われるものとする。
【0150】
S130の処理において、ユーザ識別子とHTTPS用アクセス認可情報とを受信した場合は(S130:Yes)、受信したユーザ識別子とHTTPS用アクセス認可情報とを取得する(S131)。一方で、S130の処理において、ユーザ識別子とHTTPS用アクセス認可情報とを受信していない場合は(S130:No)、S131の処理をスキップする。
【0151】
S130,S131の処理の後、電子楽器30の各種イベントを確認する(S132)。S132の処理において、電子楽器30の設定キー35を介して、ユーザHからサーバ70への指示が入力された場合は(S132:「サーバへの指示が入力」)、その指示に応じたMQTTデータ又はHTTPSリクエストを作成し、通信装置1へ送信する(S133)。この際、ユーザ識別子とHTTPS用アクセス認可情報とを含めて送信する。
【0152】
S132の処理において、通信装置1からMQTTデータを受信した場合は(S132:「通信装置からMQTTデータを受信」)、受信したMQTTデータを解析し(S134)、解析されたMQTTデータに応じた処理を行う(S135)。また、S132の処理において、通信装置1からHTTPSレスポンスを受信した場合は(S132:「通信装置からHTTPSレスポンスを受信」)、受信したHTTPSレスポンスに応じた処理を行う(S136)。
【0153】
これらS133~S136の処理として例えば、携帯端末50において、サーバ70から利用可能な音色データの一覧をMQTTプロトコルを用いた通信で取得する。その音色データの一覧を携帯端末50のLCD56に表示し、タッチパネル57を介してユーザHに選択させる。ユーザHによって選択された音色データを特定する情報をサーバ70に送信する。その音色データを特定する情報を通信装置1を介して電子楽器30が受信し、その情報により特定された音色データをサーバ70にHTTPSプロトコルを用いた通信で要求する。その要求に基づいてサーバ70からHTTPSプロトコルを用いた通信で受信した音色データを電子楽器30で利用する。
【0154】
S132の処理において、イベントを受信していない場合(S132:「イベントなし」)、または、S133,S135,S136の処理の後、S132以下の処理を繰り返す。
【0155】
次に、図16を参照して携帯端末50のセットアップモード後の処理を説明する。図16は、携帯端末ワークフロー処理(S12)のフローチャートである。携帯端末ワークフロー処理はまず、サーバ70へHTTPSプロトコルを用いた通信でユーザHによるログインを行う(S140)。
【0156】
S140の処理の後、サーバ70からHTTPSプロトコルを用いた通信で受信した、ログインに対するレスポンスが「OK」だったかを確認する(S141)。S141の処理において、ログインに対するレスポンスが「OK」ではない場合は(S141:No)、LCD56にログインが失敗した旨の表示(エラー表示)を行う(S142)。S142の処理の後、S141以下の処理を繰り返す。
【0157】
一方で、S141の処理において、ログインに対するレスポンスが「OK」である場合は(S141:Yes)、ログインに対するレスポンスと共にサーバ70から受信したHTTPS用アクセス認可情報を取得する(S143)。取得されたHTTPS用アクセス認可情報は、これ以降の携帯端末50からサーバ70へのHTTPSプロトコルによる通信で用いられる。S143の処理の後、サーバ70へHTTPSプロトコルを用いた通信でユーザHのユーザ識別子を要求する(S144)。S144の処理の後、ユーザ識別子の要求に対するレスポンスが「OK」だったかを確認する(S145)。
【0158】
S145の処理において、ユーザ識別子の要求に対するレスポンスが「OK」ではない場合は(S145:No)、LCD56にユーザ識別子の要求が失敗した旨の表示(エラー表示)を行う(S146)。S146の処理の後、S144以下の処理を繰り返す。S145の処理において、ユーザ識別子の要求に対するレスポンスが「OK」である場合は(S145:Yes)、サーバ70からユーザ識別子を取得する(S147)。
【0159】
S147の処理の後、サーバ70へHTTPSプロトコルを用いた通信で取得したユーザ識別子に対応するデバイス識別子を要求する(S148)。S148の処理の後、デバイス識別子の要求に対するレスポンスが「OK」だったかを確認する(S149)。S149の処理において、デバイス識別子の要求に対するレスポンスが「OK」ではない場合は(S149:No)、LCD56にデバイス識別子の要求が失敗した旨の表示(エラー表示)を行う(S150)。S150の処理の後、S148以下の処理を繰り返す。S149の処理において、デバイス識別子の要求に対するレスポンスが「OK」である場合は(S149:Yes)、サーバ70からデバイス識別子を取得する(S151)。
【0160】
S151の処理の後、MQTTプロトコルを用いた通信を行うためにサーバ70に接続する(S152)。S152の処理の後、S152の処理によってサーバ70に接続できたかを確認する(S153)。S153の処理において、サーバ70に接続できなかった場合は(S153:No)、S152以下の処理を繰り返す。
【0161】
S153の処理において、サーバ70に接続できた場合は(S153:Yes)、サーバ70に対して、S147の処理で受信したユーザ識別子と、S151の処理で受信したデバイス識別子とによるサブスクライブ登録を行う(S154)。これ以降、携帯端末50は、トピック「topic/{ユーザ識別子}/{デバイス識別子}/#(#:データ要求等の任意のコマンド又はデータ等)」を含むMQTTデータを受信することができるようになる。
【0162】
通信装置1からサーバ70に当該トピックを含むMQTTデータを送信することで、携帯端末50はそのMQTTデータをサーバ70から受信する。また、通信装置1又は携帯端末50からのMQTTデータを受けてサーバ70によって処理された結果が、当該トピックを含むMQTTデータとして携帯端末50に送信される。このようにして、携帯端末50はサーバ70と、又は、サーバ70を介して通信装置1とコマンドやデータのやり取りができるようになる。
【0163】
S154の処理の後、携帯端末50の各種イベントを確認する(S155)。S155の処理において、イベントがあった場合は(S155:「イベントあり」)、携帯端末イベント処理(S156)を実行する。携帯端末イベント処理としては、上記した図15のS133~S136の処理と同様に、携帯端末50に入力された指示に応じたMQTTデータ又はHTTPSリクエストを作成し、サーバ70に送信することや、携帯端末50で受信したMQTTデータを解析し、そのMQTTデータに応じた処理を行うことや、サーバ70のHTTPSレスポンスに応じた処理を行うことが挙げられる。
【0164】
S155の処理において、イベントがなかった場合(S155:「イベントなし」、又は、S156の処理の後、S155以下の処理を繰り返す。
【0165】
次に、図17,18を参照してサーバ70のセットアップモード後の処理を説明する。図17は、HTTPワークフロー処理(S22)のフローチャートである。HTTPワークフロー処理はまず、携帯端末50からHTTPSプロトコルを用いた通信でログインがされたかを確認する(S160)。
【0166】
S160の処理において、ログインが要求された場合は(S160:Yes)、そのログインが成功(OK)したかを確認する(S161)。S161の処理において、ログインが成功した場合は(S161:Yes)、ログインしたユーザHのHTTPS用アクセス認可情報を作成する(S162)。S162の処理の後、HTTPSプロトコルを用いた通信で、携帯端末50へ作成したHTTPS用アクセス認可情報と共に、ログインに対するレスポンス「OK」を送信する(S163)。
【0167】
一方で、S161の処理において、ログインが失敗した場合は(S161:No)、HTTPSプロトコルを用いた通信で、携帯端末50へログインに対するレスポンス「ERROR」を送信する(S164)。S163,S164の後、S160以下の処理を繰り返す。
【0168】
S160の処理において、ログインの要求ではない場合は(S160:No)、携帯端末50からHTTPSプロトコルを用いた通信でユーザ識別子の要求がされたかを確認する(S165)。S165の処理において、ユーザ識別子の要求がされた場合は(S165:Yes)、ユーザDB72bから要求された携帯端末50のユーザHのアカウントに対応するユーザ識別子を取得する(S166)。S166の処理の後、HTTPSプロトコルを用いた通信で、取得されたユーザ識別子と、ユーザ識別子の取得に対するレスポンス「OK」を携帯端末50に送信する(S167)。S167の処理の後、S160以下の処理を繰り返す。
【0169】
S165の処理において、ユーザ識別子の要求ではない場合は(S165:No)、携帯端末50からHTTPSプロトコルを用いた通信でデバイス識別子の要求がされたかを確認する(S168)。S168の処理において、デバイス識別子の要求がされた場合は(S168:Yes)、ユーザDB72bから要求された携帯端末50のユーザHのアカウントに該当するユーザ識別子を取得し、更にデバイスDB72cからそのユーザ識別子に対応するデバイス識別子を取得する(S169)。
【0170】
S169の処理の後、HTTPSプロトコルを用いた通信で、取得されたデバイス識別子と、デバイス識別子の取得に対するレスポンス「OK」を携帯端末50に送信する(S170)。S170の処理の後、S160以下の処理を繰り返す。
【0171】
S168の処理において、デバイス識別子の要求ではない場合は(S168:No)、サーバHTTPSイベント処理(S171)を実行し、S160以下の処理を繰り返す。サーバHTTPSイベント処理の一例として、通信装置1や携帯端末50から、HTTPSプロトコルを用いた通信で受信するHTTPSリクエストに対する処理を行い、その結果をHTTPSレスポンスとしてHTTPSプロトコルを用いた通信で送信する処理が挙げられる。この際、HTTPSリクエストに含まれるHTTPS用アクセス認可情報が正当なものである場合にHTTPSレスポンスを送信し、HTTPSリクエストに含まれるHTTPS用アクセス認可情報が不正なものである場合はHTTPSレスポンスの送信を省略しても良い。
【0172】
図18は、MQTTワークフロー処理のフローチャートである。MQTTワークフロー処理はまず、MQTTプロトコルを用いた通信の接続を待機する(S190)。S190の処理の後、MQTTプロトコルを用いた通信で接続されたかを確認する(S191)。S191の処理において、MQTTプロトコルを用いた通信で接続されていない場合は(S191:No)、S190の処理を繰り返す。
【0173】
一方で、S191の処理において、MQTTプロトコルを用いた通信で接続された場合は(S191:Yes)、更にMQTTデータを受信したかを確認する(S192)。
【0174】
S192の処理において、MQTTデータを受信した場合は(S192:Yes)、受信したMQTTデータのトピックを取得する(S193)。S193の処理の後、取得したトピックを購読(サブスクライブ)している端末(即ち通信装置1又は携帯端末50)に、S192の処理で受信したMQTTデータを送信する(S194)。
【0175】
これにより、通信装置1又は携帯端末50から受信したMQTTデータが、同一のユーザHが使用している携帯端末50又は通信装置1に送信されるので、通信装置1又は携帯端末50で送信されたMQTTデータをそれぞれの端末で利用および管理できる。
【0176】
S194の処理の後、S193の処理で取得したトピックに、サーバ70で処理が必要なコマンドが含まれているかを確認する(S195)。S195の処理において、取得したトピックに、サーバ70で処理が必要なコマンドが含まれている場合は(S195:Yes)、そのトピックのコマンドが通信装置1からの認可情報(即ちユーザ識別子およびHTTPS用アクセス認可情報)の要求に関するものかを確認する(S196)。
【0177】
S196の処理において、通信装置1からの認可情報の要求に関するものである場合は(S196:Yes)、デバイスDB72cから要求を受信した通信装置1のデバイス識別子に対応するユーザ識別子を取得し、取得したユーザ識別子からHTTPS用アクセス認可情報を作成する(S197)。S197の処理の後、S197の処理で取得したユーザ識別子と、作成したHTTPS用アクセス認可情報とをMQTTプロトコルを用いた通信で要求された通信装置1に送信する(S198)。
【0178】
なお、S197,S198の処理において、デバイスDB72cに受信した通信装置1のデバイス識別子に対応するユーザ識別子が記憶されている場合に、S197の処理によるHTTPS用アクセス認可情報の作成と、S198の処理によるユーザ識別子および作成したHTTPS用アクセス認可情報の送信とを行い、一方で、デバイスDB72cに受信した通信装置1のデバイス識別子に対応するユーザ識別子が記憶されていない場合は、S197の処理によるHTTPS用アクセス認可情報の作成と、S198の処理による送信とをスキップしても良い。
【0179】
一方で、S196の処理において、通信装置1からの認可情報の要求に関するものでない場合は(S196:No)、サーバMQTTイベント処理(S199)を実行する。サーバMQTTイベント処理としては、通信装置1又は携帯端末50からMQTTデータを用いて要求された処理に対するサーバ70による処理結果を、MQTTデータにして送信することが挙げられる。
【0180】
S192の処理においてMQTTデータを受信していない場合(S192:No)、S195の処理においてサーバ70で処理が必要なコマンドが含まれていない場合(S195:No)、又は、S198,S199の処理の後、S192以下の処理を繰り返す。
【0181】
以上、上記実施形態に基づき説明したが、種々の改良変更が可能であることは容易に推察できるものである。
【0182】
上記実施形態では、通信装置1が電子楽器30に装着される構成としたが、これに限られない。通信装置1を電子楽器30に内蔵させ、通信装置1に関する処理を電子楽器30で実行しても良い。
【0183】
上記実施形態では、通信装置1にAP情報11d及びAPパスワード11eを設け、これらに記憶されるAP90の情報および入力PSWでAP90に接続した。しかし、これに限られず、例えば、携帯端末50から受信したAP90の情報および入力PSWを外部IF15を介して電子楽器30に送信し、電子楽器30のフラッシュROM32等に記憶させ、通信装置1がAP90に接続する際に、電子楽器30から電子楽器30に記憶されたAP90の情報および入力PSWを取得し、取得したAP90の情報および入力PSWでAP90に接続しても良い。
【0184】
上記実施形態では、通信装置1に操作ボタン2及びLED3を設け、この操作ボタン2を長押しすることで、通信装置1をセットアップモードに移行させ、この際にLED3を点滅させた。しかし、これに限られず、例えば、電子楽器30の設定キー35の所定の操作により、通信装置1をセットアップモードに移行させ、LCD36に通信装置1がセットアップモードである旨を表示しても良い。この場合、通信装置1から操作ボタン2及びLED3を省略しても良い。
【0185】
上記実施形態では、サーバ70においてユーザHのユーザ識別子に基づくHTTPS用アクセス認可情報を作成して、通信装置1に送信し、通信装置1からHTTPS用アクセス認可情報によるHTTPSプロトコルを用いた通信で、リソースの受信等を行った。しかし、サーバ70で作成される認可情報は、HTTPS用アクセス認可情報に限られず、サーバ70で他の通信プロトコルにおける認可情報を作成し、通信装置1に送信し、通信装置1では、サーバ70から送信された認可情報を用いて、サーバ70からリソースを受信すれば良い。
【0186】
上記実施形態では、通信装置1でWi-Fiに接続するAP90を携帯端末50でユーザHに選択させ、入力PSWを携帯端末50でユーザHに入力させたが、これに限られない。例えば、通信装置1から受信したAP90のリストの中から携帯端末50で接続可能なAP90がユーザHによって選択された場合、携帯端末50でのユーザHによる入力PSWの入力を省略し、携帯端末50が当該AP90の接続に使用しているパスワードを入力PSWとして通信装置1に送信しても良い。更に、通信装置1から受信したAP90のリストの中に携帯端末50で接続可能なAP90が含まれている場合、携帯端末50でのユーザHによるAP90の選択を省略し、携帯端末50で接続可能なAP90を自動的に選択し、その携帯端末50で接続可能なAP90に関するAP90の情報と、当該AP90の接続に使用しているパスワードとを通信装置1に送信しても良い。
【0187】
上記実施形態では、通信システムSを通信装置1を接続した電子楽器30、携帯端末50及びサーバ70で構成したが、これに限られない。携帯端末50にサーバ70の機能を搭載し、通信システムSからサーバ70を省略しても良い。これとは逆に、サーバ70に携帯端末50の機能を搭載し、通信システムSから携帯端末50を省略しても良い。
【0188】
上記実施形態では、通信装置1はWi-FiによってAP90に接続し、AP90がインターネットNに接続することで、インターネットNを介したサーバ70との通信を行った。しかし、これに限られず、例えば、通信装置1を、携帯端末50と同様に基地局100に接続させ、基地局100を介してインターネットNに接続しても良い。この場合、通信装置1が接続している基地局100と、携帯端末50が接続している基地局100とは同一の基地局である必要はない。また、通信装置1をWi-Fi以外の他の無線通信規格によってAP90に接続しても良いし、有線通信によって通信装置1とインターネットNとを接続しても良い。
【0189】
また、携帯端末50は基地局100に接続し、基地局100がインターネットNに接続することで、インターネットNを介したサーバ70との通信を行った。しかし、これに限られず、例えば、携帯端末50をWi-FiによってAP90に接続させ、AP90を介してインターネットNと接続しても良い。この場合、通信装置1が接続しているAP90と、携帯端末50が接続しているAP90は同じアクセスポイントである必要はない。また、有線通信によって携帯端末50とインターネットNとを接続しても良い。
【0190】
上記実施形態では、通信装置1と携帯端末50とは、Bluetoothによって通信したが、これに限られない。例えば、ZigBee等の他の近距離無線通信規格によって通信装置1と携帯端末50とを通信させても良いし、通信装置1と携帯端末50とを有線接続して通信させても良い。
【0191】
上記実施形態では、ユーザHから指示が入力される端末(情報処理装置)として携帯端末50を例示したが、これに限られない。例えば、パーソナルコンピュータやタブレット端末等をユーザHから指示が入力される端末としても良い。
【0192】
上記実施形態では、通信装置1が接続される電子機器として電子楽器30を例示したがこれに限られない。通信装置1が接続される電子機器を、映像の処理を行う映像装置としても良い。この際サーバ70に、リソースとして、映像データや音声データ、更には場面切り替え等の編集に関するデータを記憶し、映像装置からの指示に応じたデータを通信装置1に送信すれば良い。
【符号の説明】
【0193】
S 通信システム
1 通信装置
2 操作ボタン(接続指示取得手段)
30 電子楽器(電子機器)
50 携帯端末(端末)
70 サーバ
72c デバイスDB(識別子記憶手段)
S106 サーバ受信手段、機器受信手段
S107,S110 機器送信手段
S108,S109 通信装置指示送信手段
S133 機器指示送信手段
S134~S136 機器実行手段
S140 ログイン手段、ログインステップ
S151 識別子受信手段
S156 端末指示送信手段、端末指示送信ステップ
S170 識別子送信手段、識別子送信ステップ
S171 第1サーバ指示受信手段、サーバ指示送信手段、第2サーバ指示受信手段、サーバ指示送信ステップ
S195~S199 サーバ実行手段
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18