Bluetooth Low Energyの3大特徴(その2)になります。
内容は、
【②無線のトポロジとNetworkのトポロジの合理的結合】と少々難しそうな話になりますが、誰でも理解できるように解説してみます。
まず、『トポロジ』という一見難しそうな言葉ですが、日本語にすると「繋がりの関係」という意味です。
『無線のトポロジ』は『無線の繋がりの関係』という意味です。
家庭用のコードレス電話機のイメージを持って下さい。小学生以下はスマホ世代なので分からないかもw
無線のトポロジとは、以下の絵の通りで、『親機と子機』の関係と考えて大丈夫です。
複数の『子機』を拡張する事もできますよね。その時の中心に在るのが『親機』です。

次にNetwrokのトポロジとは何か?です。
日本語にすると『Networkの繋がりの関係』という意味ですよね。
無線のトポロジの様に、2つの役割(『親機』と『子機』)でセットです。
それが、『Server(サーバー)』と『Client(クライアント)』の繋がりの関係という事になります。

実は、ネットワークに詳しいという方の中には『Server』を独立した存在のように言っている人が居ます。
しかし、それは根本的に間違いで、あくまでも『Server』と『Client(複数)』の2つの関係を合わせて1つです。
話をしていると、全く『Client』側の存在を無視したかのような、知らなくて良い様なベースで話をする人が居て、ホントに混乱します。
多分、http通信でServerを構築すると、Client側を無視したベースで作っても問題ないからなのでしょうが、それは間違いです。
ここはキッチリ行きます。

無線のイメージは先ず無くして下さい。Internet(インターネット)に有線ケーブルで繋がっているイメージです。
※無線に関しては後で結合しますので、先ず、有線ケーブル接続で考えます。
・Server(サーバー):データを持っている側(データを保存している側)
・Client(クライアント):データを求める側
コレだけです。成立してますよね。ここまでは難しく無いと思います。
これだけを理解すれば、『Networkトポロジの専門家』と言って良いですw

題目では、BLEの3大特徴【②無線のトポロジとNetworkのトポロジの合理的結合】と書きました。
実は、この合理的結合というのは無線技術業界では画期的な事なのです。
こう言うと、「イヤイヤ!Wi-Fiで先にやってるよ!」と言う方も居るんですが、それこそ全く根本的技術が分かってない人の意見なのですw

単なる「無線のトポロジとNetwrokのトポロジの結合」ではありません。「合理的結合」なのです。
これが、BLEで最も重要な理解です。
9割以上の方が知らないと思います。

では私からの質問です。

Q:「下の図を見て下さい。 BLEで繋がっている図です。 スマホ(アプリ)とBLE機器が繋がっています。 
     無線のトポロジでいうと『スマホ(アプリ)が親機』で『BLE機器が子機』ですね。
     では、
     Netwrokのトポロジで言うと『どちらがServerで、どちらがClient』ですか?」

ハイ!早速答え合わせです。これは、とても!とても重要な事です。

スマホ(アプリ)側が『Client(クライアント)』で、BLE機器側が『Server(サーバー)』なのです。

私は7年程前からBLEのセミナーでお話をさせて頂いてますが、ほぼ全員の方が、
「スマホ(アプリ)側がServer、BLE機器側がClient」と答えられますw

この思い込みというか、誤解というか、勘違いを整理しないと、BLEのファームウェア設計は失敗します。

因みに、BLEで良く耳にする『Central(セントラル)』と『Peripheral(ペリフェラル)』はどんなトポロジなのか?
無線屋の私からすると、無線のトポロジに近いように見えます。
Central=親機
Peripheral=子機
です。しかし、少し格好付けて言うと、『Interface(インターフェース)のトポロジ』と言ってもよいかと。
これまで書きませんでしたが、Interfaceのトポロジは『Master(マスター)』と『Slave(スレーブ)』の関係。
Central=Master=親機
Peripheral=Slave=子機
基本的にどっちでも構わないかと思います。

では、先程話題に上がったWiFiはというと、私はWi-Fiルーターを設計したことが無いので確信がありませんが、
恐らく、Wi-Fiではルーター側が『親機でServer』で、PC/スマホ側が『子機でClient』なのかな~と思っています。
 

では結論コーナーです。
BLE端末側がClient(クライアント)ではなく、Server(サーバー)だという事を理解して頂けたと思います。
図に書いてるように、「データを持ってる側」が保存している側なので、Server。
だから、センサーを乗せているBLE端末側が、「データを持ってる側。なので、Serverが最も合理的です。

「センサーのデータが欲しい」のはスマホ(アプリ)ですから、間違い無くClient(クライアント)ですよね。

最初に有線ケーブルで考えて頂いたと思います。
ここで、Networkの考え方を無線で繋がっているとイメージを変更してみてください。
BLE端末というServer(サーバー)に対して、スマホ(アプリ)が要求を送ってデータを貰うのがイメージできます。
ちゃんとNetworkとして働いています。
そして、ちゃんと無線として動いています。
これが、【②無線のトポロジとNetworkのトポロジの合理的結合】なのです。
他の無線規格はこのような合理的結合が出来ていないんです。BLEだけが完全に合理的に融合・結合しています。

この様な勘違いが広まったのは、世の中が「BLE_Beacon」で騒いで居たからだと思います。
Networkのトポロジというのは無線の世界では概念として存在してませんでした。
そこに、BLE端末が一方的に送りつけて、スマホが受け取る「Beacon騒ぎ」でした。
受け取ってる方がデータを貯めているので「Serverの様に見えてしまう」というのが原因かなと思います。

無線のトポロジとNetwrokのトポロジを合理的結合する考え方はエンジニアにとっても凄く難しいです。
『Networkが良く分からない無線屋さん』と『無線が分からないNetwork屋さん』の双方の勘違いw
【②無線のトポロジとNetworkのトポロジの合理的結合】を特徴としたのは、理解出来てない人が多いからです。
その位、画期的な考え方だと言う事に納得できれば、BLEを正しく理解されたと思います。
私は、このことを理解した時に、震えが来るほど感動しました。

そして、もう少し技術的に考察しますと、BLEの最初のお勉強ででてくる「GAPとGATT」の解説も混乱の原因です。
・GAP:通信を確立するまでの通信Profile ⇒Beaconばかりだと、GAPだけ理解すれば良い
・GATT:通信確立後の通信Profile ⇒Beacon止まりエンジニアはこれが難しい

BLEを使い倒すには、GATT通信を如何に使いこなすか?が重要になります。

更にハイレベルになると、GATTとGAPを巧く使いこなすレベルとなります。

【②無線のトポロジとNetworkのトポロジの合理的結合】はBLEだけが為し得た構成なのです。

BLEはホントにホントに良く考えられた規格なのです。

如何でしたか?

SNS SHARE