見出し画像

Day11. IoTの中核部分「通信技術」の奥深さと可能性に迫る

※ひとりでIoTまるっとチュートリアル Advent Calendar 2018
11日目の記事です。まだ登録していない方はこの機会によろしくおねがいします!

Day1で話したとおり、IoTが流行している大きな要因の一つが「通信技術」の発達です。しかし、このあたり、非常に奥が深く、また非常にややこしい

あちらを立てればこちらが立たず、、、

基本的にマニアック(だと思われる)領域で、あまりガッツリとまとまっているものもない。そこで、今回は通信方式に関して、最近の例を交えながらまとめていきたいと思います!

【目次】
・プロトコルスタック
・NW : ネットワークの比較
・NW : 超省電力・短距離通信
・NW : LPWAN(Low Power Wide Area Network)
・APP : 通信プロトコルの比較
・次世代通信技術5Gの可能性

TCP/IP 4階層モデルとプロトコルスタック

ひとくちに通信と言っても、プログラム間の通信、インターネット上でのルート割り当て、物理的な電波など、考えることが様々です。それをわかりやすく階層にしてくれているのがTCP/IP 4階層モデルというものです。下図のように、どのレベルの話なのかを層別に区切ってくれています。

そして、各層では通信の合言葉的なのを定めます。これをプロトコルといい、ネットワークインターフェースからアプリケーション層まで各層のプロトコルを組み合わせることをプロトコル・スタックといいます。こうしておくことで、各階層のプロトコルを(ほぼ)独立して扱うことが出来、自由度が拡がります!

今回はその中でもネットワーク層アプリケーション層のお話になります。実際の物理的な通信と、アプリケーションを作るときの通信の選択肢増やしておくと、サービスの幅が広がりますよ!

NW : ネットワークの際に考慮すること

まずはネットワーク・インターフェース層の話です。

サービスを構築時、ネットワークを選定する際、様々な項目を考慮しながら最適(だと思われる)電波を選びます。ここでは 、私が考えている項目をいくつか。

考慮項目
到達範囲 : 短距離か、中距離か
☑ 消費電力 : 電池駆動でいけるか、どのくらい長持ちするか
通信安定性 : 頻繁に途切れないか。送信失敗時の対応はどうか。
☑ 帯域幅 : どのくらいの量のデータを一度に送れるか、何台同時接続可能か
☑ 周波数帯 : 他の電波と干渉しないか
価格 : ランニングコストはどのくらいかかるか
☑ セキュリティー : 外部からの対策はできるか
海外対応 : 国際規格かどうか 

特に、到達範囲帯域幅に関しては、特に用途が大きく変わるので、かなり大事です。ここでは、有名な無線通信がどういうポジションなのか、ざっくりとまとめてみました。

世の中はより早く、より大容量にという方向に流れがちですが、案外IoTの種は低通信速度のところにもあります。通信速度と消費電力、コストは大きな相関関係があり、「必要な箇所に必要な電波帯を」設計できることが重要なわけです。

そういうわけで、図でも切り出している通り、まずは下記3つの電波帯にフォーカスしていきましょう!

☑ 近距離省電力
☑ LPWA(セルラー)
☑ LPWA(ノンセルラー)

NW : 近距離省電力

短距離通信だけど、転送速度もそれなりにあって、省電力・低コストな電波がIoTでよく使われます。使い方としては、一度ゲートウェイ端末で受けて挟んでから、WiFi等でクラウドに上げる構成が多いかなと思います。

ゲートウェイでためて処理をした後、クラウドに上げることも可能なので、エッジコンピューティングなどと相性が良いです。ここでは、NFC, Zigbee, BLE, EnOceanを例に取り上げてみます。

RFID

RF-IDタグなどに使われる。通信距離が本当に短い(~1m)ので、ゲートウェイを構築も難しいがタグが安価なので、ばらまくことができる。1個のリーダに対して複数のタグがあり、リーダに近づけることで読み取るということが多い。ユニクロのタグにはRF-IDが全て埋め込まれていて、リーダのあるレジの上に服を置くと、一瞬で会計が完了する。

BLE

言わずとしれた無線通信の王道。距離は数m~数十mが主戦場。多くのスマホ・タブレット・PCに送受信部が内蔵されていて、通信フレームワークが公開されているので、色々な連携ができる。最近は内蔵型の小型センサがあり、ゲートウェイ端末をかませる(スマホなどでも可)ことで様々な利用用途が考えられる。

Zigbee

IoTにおける主役のひとつで、近距離通信手段では、コストパフォーマンスが最もすぐれているとも言われている。省電力・省コストにもかかわらず、最大1kmも通信が可能である。

モノワイヤレス社でzigbee通信用マイコンを販売しており、開発の仕方のドキュメントも充実しているため、なにかゲートウェイ型通信機器を作ってみたい方はいいかもしれない

EnOcean

少し珍しい通信方式。距離は数十~数百m。電池交換が不要の技術。消費電力はZigbeeの1/10ともいわれ、振動・光・熱などの微小なエネルギーを電力に変換するエナジーハーベスティング技術により、電力を賄う。転送レートは低いが、極力に電池交換したくない場所に用いられる。例えば、橋など大型建造物の振動等のセンシングをするときなどに用いられる。

LPWA(Low Power Wide Area)

最近IoT界隈を賑わしているのが、この領域!その名の通り、低消費電力で長距離通信を実現するもので、場合によってはゲートウェイが必要なく、データをクラウド上に上げることも可能です。

 今後IoTの文脈で用途が広がる可能性が高く、総務省もお熱の領域です。
(参考 : LPWAに関する無線システムの動向について(総務省))


さて、LPWAですが、大別すると、ライセンス型(セルラー)LPWAと、ノンライセンス型(ノンセルラー)LPWAがあります。それぞれの特徴を簡単にまとめてみました。

一般的には

現在セルラーLPWAはノンセルラーをLPWAに遅れを取っているものの、本気を出してきたらすでに高カバー率を達成しているセルラーLPWAがIoT用LPWAの本流になるだろう

という意見が多いです。ノンセルラーLPWAも、完全敗北というわけではなく、長距離のプライベートネットワーク(たとえば、自治体全体でのプライベートネットワーク)などに使えるだろうと言われています。

ノンセルラー型LPWAは、Sigfox. LoRaWANなどが有名です。両者の違いは下記記事によくまとまっています。

コレ1枚で分かる「LPWA主要3方式の比較」

また、最近ではSONYが新しいLPWAの規格「ELTRES」を作ったとして話題になっています。

100 km以上の長距離通信、時速100 km以上の高速移動体でも通信可能、GNSS搭載で低消費電力(コイン電池1個で動作可能)という特徴を持っていて、用途が広がりそうです。

セルラー型LPWAにはCat.1, Cat.M1, NB-IoTがあります。それぞれデータ転送レートや省電力性でカテゴリ分けがされているものです。

ちなみに、SORACOMボタンでは、Cat.M1の電波帯を使っています
ソラコムもNTTドコモもサービス開始、セルラーLPWA「LTE-M」とは 

APP通信プロトコル

今までの話は、どういう電波をどういう通信プロトコルで使うかという物理的な話でしたが、ここでは、もうちょっと上位レイヤーのお話です。アプリケーション同士が、個々のプログラムの間で、どのような形式や手順でデータをやり取りするかを定めます。

よくわからない人でも、https://などの文字列は見たことがあると思います。この"://"より手前が、通信プロトコルを決定しているもので、送り手と受け取り手が合わせないといけません。

http:// : HTTP通信
ws:// : websocket通信
mqtt:// : MQTT(Message Queueing Telemetry Transport)通信

通信プロトコルは、下記の要素を考えながら選びます

セキュリティ: 暗号化されているか。盗聴リスクはあるか
通信サイズ : データペイロード以外で余分なデータはどのくらいあるか
安定性 : 通信は失敗しないか。失敗したら再送するか

ここでは、IoTを賑わす下記4種類の通信プロトコルについて触れてみます。

☑ HTTP/HTTPS
☑ MQTT/MQTTS
☑ MTConnect
☑ OPC-UA

よくHTTPとMQTTの比較をされることが多いです。結構仕組みから違っていて、下図のような通信体型の違いがあります。

WEBアプリケーション、ブラウザについては、汎用性があり、通常のWEB APIの整備がなされているHTTPが扱いやすいと思います。我々が普段使っているページの多くは、HTTP通信でなされていますし。

一方で、モノとモノの通信ではMQTTがいいのではないかという見方が強いです。

双方向通信
多対多通信
1回の通信のヘッダ(本データ以外のモノ)が軽い

などの特徴があるので、IoTには向いている通信プロトコルと言えるでしょう!(リアルタイム通信のプロトコルだと、websocketなどのプロトコルもありますが、割愛します。)

【参考になるリンク http/mqtt/ws編】
☑ HTTPからMQTTへ - IBMが提唱するモノとモノがつながる時代に最適化したプロトコル&アプライアンス
☑ MQTTバージョン5の概要 第5回 考察 MQTTはIoTにおいてHTTP/RESTを完全に駆逐する
☑ YAPC::Asia2014 - O2O/IoT/Wearable時代におけるWeb以外のネットワーク技術入門
☑ IoT時代のプログラミング(主にMQTTについて)
☑ リアルタイムなwebアプリを実現する方法(ポーリング、Comet、Server Sent Events、WebSocket)

OPC-UA/MTConnectについては正直私も勉強中でして、はっきりとしたことはまだわかっておりません(この辺詳しい人、ご教授願いたいです!!)。両者とも、標準化を目指して動いているということです。

・両者ともオープンプロトコルで、セキュリティも強化されている
OPC-UAは、トランスポート層と完全に分離アプリケーション層だけのプロトコルとなっている。つまり、トランスポート層が変わればその上にアプリケーション層としてOPC-UAを乗っけるだけで良いので、高い汎用性を持ち産業用機器の相互接続などに向いている。
MTConnectは、工作機械から取得する各種データ(主軸負荷、軸速度、アラームなど)について、 データ種類毎にデータ構造が決められていますので、データのパースなどに悩む必要がない。

また、それぞれが独立というわけではなく、相互協力しながら標準化に向けて進んでいるようです(参考 : 進むドイツのスマート工場、「インダストリー4.0基準」とは何か?なぜ)

その他に、参考になったページを紹介します。

☑ OPC-UAとは?製造業とITの橋渡し役」として最適なのか
☑ MTconnect Users Potal 
☑ 工作機械のためのオープンプロトコル“MTConnect”

この辺りは、自分で使ってみて違いを把握しないといけないですね。
今後詳しく書いていきたいです。

NW:5Gの可能性

最後に、NWの話題に戻ります。最近世間を賑わせている5G通信。大手キャリアも2020年東京オリンピックまでに商用化すると、ガンガン宣伝している最中です。
「高速大容量」「低遅延・高信頼性」「低コスト/省電力」「多接続」と、現状の通信から大幅アップデートがなされるようです。

Huaweiのレポートでも、自動運転や遠隔医療など、今の社会構造をガラリと変わるような展開が期待されています。

しかし、「高速大容量」「低遅延・高信頼性」「低コスト/省電力」「多接続」の要件を、必ずしもすべて満たさなければいけない状況はほぼ無いはずです。自動運転だと低遅延・高信頼性が最重要だし、IoTにおいては他接続&低コストがメインになってくるでしょう。

こうした、各要件に対してピタットハマるようなネットワークを提供してくれる技術が、ネットワークスライシングです。上記のネットワークを仮想的に分割(スライス)することで、用途に合わせた回線提供が可能になるだろうと言われています。

(IoT NEWS : 5Gにおけるネットワークスライシングの魅力 より引用)

5Gができることにより、大容量・高速なネットワークが可能になるだけではなく、用途に合わせて適切なネットワークの選択が可能になるということです。IoTという文脈でも、これはとても嬉しいことですね!

まとめ

しょうしょう詰め込みすぎた感もありますが、無線・ネットワーク周りをできる限り濃くまとめてみました。

奥が深く、まだまだ勉強不足なところもありますが、IoTの中核部分でもあると思うので、今後もしっかり動向を追いたいところです。

さて、明日から2日間はセキュリティのお話です。IoTで何かと対策が遅れがちなこの領域、基礎的なところから抑えていくことで、しっかりと備えたいものです。ではではっ

前の日:Day10. IoTプロトタイプに最適!『M5Stack』で温度警報器を作る
次の日:Day12. セキュリティエンジニアに聞く、『セキュリティの勘所 』


サポートいただけると励みになります! よろしくおねがいします!!