COLUMN誰でもわかる!お役立ちコラム

AWS活用支援コラム

MQTT・LPWA・LoRaWANなど、IoT通信を深掘り解説

本記事ではIoT(Internet of things)における通信技術について詳細に記載します。別記事において、IoTでサービスを構築するにあたってのIoT通信のことは書いていますが、取り上げたプロトコルなどのIoTの技術面においては、いわゆるネットワークスペシャリストにとっても特殊な話題が多く、とまどうことが多いかと思います。ここでは、IoTによるサービス構築を実施する際のプロジェクトリーダーやエンジニア向けに、通信やプロトコルに関する話題を取り上げます。

IoT向けの通信プロトコルの標準MQTTとは

MQTTとは 『Message Queue Telemetry Transport』の略で、パブリッシュ/サブスクライブ型の非常にシンプルで軽量なメッセージングプロトコルです。

パブリッシュ/サブスクライブ型とは?

メッセージの送信者(パブリッシュ側)が、特定の受信者(サブスクライブ側)を想定せずにメッセージを送るように設計されたプロトコルのことです。このパブリッシュ/サブスクライブ型のプロトコルを利用することで、データのやり取りを非同期処理することができます。

非同期処理とは、データの受け手となる相手方の都合に関わらずに続行できる処理のことです。
例えば、電話とメールを考えてみます。電話は、相手が同時に応答しないと”メッセージを送る”が成立しません。

一方でメールは、相手が同時にメールを見ていなくても、”メッセージを送る”ことが可能です。電話のように、相手の応答を待つような処理のことを”同期処理”、相手の都合を考えなくてもいい処理を、”非同期処理”といいます。IoTにおいては、大量のデータを扱うだけでなく、大量のセンサーを扱うことがあるため、データの受け手のサーバーが故障していてもデータがロストしない非同期処理のほうがメリットがあります。

またMQTTプロトコルはブローカーと呼ばれる中継サーバーを利用してデータを一時的に中継サーバーに保管することができるため、ネットワーク帯域幅とデバイスリソースを最小限に抑えることが可能となっています。

MQTT以外のプロトコルではだめなのか?

MQTT以外のプロトコルとして、HTTPなどが挙げられると思います。なぜHTTPなどの従来のプロトコルはIoTに向かないのでしょうか。HTTP は同期プロトコルです。したがって、デバイスはサーバーからのレスポンスを待機します。 Web ブラウザーならば問題ありませんが、そのためにスケーラビリティーが犠牲になります。

IoT の世界では、デバイスの数が非常に多く、ネットワーク帯域が細く信頼性がないケースもあり、同期通信を採用することには向いていません。 また、HTTP は片方向の通信ですから、クライアントが接続を開始しなければなりません。 IoT アプリケーションで通常クライアントとなるのはデバイスやセンサーです。

つまり、デバイがネットワークから受動的にコマンドを受信することはできません。さらにHTTPは1対1のプロトコルです。 クライアントがリクエストを送信し、サーバーがそれに応答します。 したがって、ネットワーク上のすべてのデバイスにメッセージをブロードキャストするのは困難です。

けれど、IoTシステムでは、このようにメッセージをブロードキャストすることが必要なケースもあります。さらにHTTP は多くのヘッダーとルールを伴う重いプロトコルです。 帯域幅が限られたネットワークには適していません。

IoT開発はAWSなら素早く実現可能、スタイルズのAWSによるIoTシステム構築サービスはこちら→

MQTTのメリットとは?

まとめると、MQTTのメリットは下記のようなものになり、IoTの通信に向いているプロトコルであると言えるでしょう。

  • 送信データの量(コスト)
    HTTPなどと比較して少量のデータをやり取りします。帯域を圧迫することはありません。
  • 消費電力
    同期処理を行うプロトコルと比較して消費電力を抑えることができます。
  • 信頼性
    非同期処理のため、データの欠損が同期処理のプロトコルよりも起きにくく、信頼性が高いです。
  • スケーラビリティ
    サーバーを利用するため、処理の遅延等が起きればサーバーを増やすことで対応が可能です。そのため、スケーラビリティが高いです。

LPWAとは?

MQTTに続いてLPWAについてご紹介します。LPWAとは、「Low Power Wide Area」の略語で、少ない電力で、長距離かつ広範囲の通信を可能とする技術を指します。少ない電力による無線通信というとZigbeeやBluetoothなどが挙げられますが、ZigbeeやBluetoothは短距離における通信が可能となっている一方、LPWAは長距離の通信が可能になっています。LPWAの特徴について記載していきます。

LPWAの特徴

LPWAの特徴として、代表的なものを3点あげます。

  • 長距離通信が可能
    LPWAは低速なナローバンド(狭帯域)を利用するため、10kmを上回る長距離のデータ通信が可能です。4G回線などの長距離無線通信技術はブロードバンド(広帯域)を利用しており、デバイス間の高速なデータ通信が可能となっています。ナローバンドとブロードバンドは、水道管の幅が広い、または狭いと考えてください。水道管の幅が広いと大量かつ高速に水を送水できますが、細い水道管を使ったほうが長距離に送水ができます。

    このように、ナローバンドを使ったLPWAはブロードバンドを使った通信と比較して長距離の通信ができ、郊外や僻地でもデバイスをネットワークに接続することが可能になっています。

  • 非常に消費電力が少ない
    ナローバンドは先述の通り低速な通信規格であるため、その分通信にかかる電力を少なくすることができます。特に、ナローバンドの中でもLPWAはIoTデバイス間のデータ通信を目的として開発されているため、特に低消費電流でデータの通信を行うことが可能になっています。
  • 同時接続が可能
    高速な通信速度の機器では、データ受信の際にデバイス側で高負荷になってしまうため、同時接続数を少なくする必要があります。一方でLPWAの通信速度は一般的に250kbps程度であるため、低速ではあるものの、大量のデバイスを同時接続してもデバイス側で通信処理が可能となっています。

LPWAの種類

  • LTE-M
    LPWAの中でも最大の通信速度をもっています。また、LTE回線が使用可能なエリアであれば利用することが可能です。
  • NB-IoT
    こちらもLTE回線が使用可能なエリアであれば利用することが可能ですが、LTE-Mよりは容量の小さなデータ送受信に使われます。
  • Sigfox
    2009年ごろからフランスで実用化されたLPWAで、単一デバイスあたりに発生するコストが安価という特徴があります。日本では京セラコミュニケーションシステム(KCCS)が提供しています。
  • LoRaWAN
    通信距離は約10〜20kmとなっており、低速ながら他の電波による干渉を受けづらいという特徴があります。そのためIoTに適した、安定したデータ通信を行えます。

IoT開発はAWSなら素早く実現可能、スタイルズのAWSによるIoTシステム構築サービスはこちら→

LoRaWANについて

LoRaWANもLPWAの1種ですが、IoTに非常に向いている通信規格であるため、詳細に解説します。
LoRaWANは、周波数変調方式であるLoRaと広域通信の方式であるWANを組み合わせてできた規格です。LoRaWANはデバイスからゲートウェイまでの通信方式に関する通信規格であるため、利用の際には主にセンサー、ゲートウェイ、サーバの3段構成となり、センサーから直接通信をするIoTの構成には向いていません。

LoRaWANの最大の特徴は、使用にあたってライセンスが不要であるだけでなく、オープンソースとして仕様が公開されているということです。仕様に準拠した製品であれば、異なるベンダーのデバイス同士でも相互通信が可能となっているだけでなく、基地局の仕様も公開されています。

そのため、自前で基地局を建設し、広域なネットワーク網を構築することが可能となります。ただし、実際に基地局を立てるには総務省に電気通信事業者として登録する必要があるため、日本においては大手通信キャリアなどと協業をして進めていく必要があります。

LoRaWANとプライベートLoRa

プライベートLoRaは、ゲートウェイや基地局を自社内などに自身で設置したLoRaWANです。公共の場に基地局を立てるには総務省に電気通信事業者登録が必要ですが、自社内で設置している場合は登録が不要です。プライベートLoRa用ゲートウェイは軽量かつ小型の製品が多く、設置が簡単であるほか、自社内のネットワークなので、大手通信キャリアと協業をする必要性が薄く、通信回線料がかかりません。IoTシステムの導入・運用において、通信料を大幅に下げることができるため、非常に高いメリットがあります。

まとめ

MQTTやLPWAなどの通信規格について詳細に解説しました。IoTにおいては技術的な要素が数多く登場し、上司などへの説明も苦労することが予想されますが、メリットとデメリットを理解することで効率的に案件を進めると良いでしょう。また、構築フェーズやPoCにおいては専業ベンダーと協力するもの有効な手段です。