記事検索

検索ワードを入力してください。
Sky Tech Blog
いまさら​聞けない​MQTT通信の​仕組み

いまさら​聞けない​MQTT通信の​仕組み

本記事では、IoTやスマートホームの発展に伴い、再注目される通信プロトコル「MQTT」の仕組みや特徴、HTTPとの比較、利用メリット、実用例について解説しています。MQTTの特徴を活かした具体的な活用事例も紹介しています。

はじめに

近年、「IoT」や「スマートホーム」の発展とともに、MQTTという通信プロトコルに再度注目が集まっています。
今回は、このMQTTの仕組みをご紹介いたします。

MQTTとは

MQTTは、Message Queuing Telemetry Transport の略称で、1999年にIBMの技術者により、考案された通信プロトコルです。
2014年には、OASISにより正式な標準規格とされました。

よくHTTPと比較されるのですが、MQTTはHTTPよりも軽量で、消費電力が少なく、非同期な双方向通信が可能な特徴があります。

また、限られた帯域幅でも動作するため、特にリソースが限られているIoT(モノのインターネット)やM2M(機械間通信)に最適とされています。

シンプルな設計と高い互換性により、さまざまなデバイスとシステム間でのシームレスなデータ交換が可能なため、その利用範囲は広がりを見せています。

MQTTの​通信構成

MQTTは、publish/subscribe型のメッセージングモデルを採用しています。

publish/subscribeモデルでは、メッセージの送信側をpublisher(発行元)、メッセージの受信側をsubscriber(購読者)と呼び、brokerと呼ばれるMQTTサーバーが間に入ってメッセージを扱います。publisherとsubscriberは直接繋がらないのが特徴です。

この通信では、クライアント(publisher/subscriber)はEメールのようなアドレスを持たず、「topic」を通じてMQTTサーバーを中継してやりとりされます。

MQTTと​HTTPの​比較

MQTT HTTP
同期有無 非同期 同期
送受信対象 多対多 1対1
データ量 軽い(小さい) 重い(大きい)
通信不安定な時 再接続時に再度送受信が可能 送受信できない

MQTTは通信のオーバーヘッドが小さく、トラフィックがHTTPと比べて10分の1程度であるため、実質的な処理能力も約10倍となります。
また、最小のヘッダサイズは2byteと軽量なため、バッテリー消費も10分の1以下に抑えることができます。

通信方法も異なります。

HTTPは同期プロトコルのため、クライアントがリクエストを送信し、サーバーがそれに応答する1対1の通信を行います。

一方、MQTTは非同期プロトコルで双方向やグループでの通信が可能です。ネットワークが不安定な場合でも再度送受信でき、必ずしもsubscriberがリアルタイムで待機する必要もありません。

そのため、M2MやIoTでは、HTTPよりもMQTTが最適とされています。

MQTTを​利用する​メリット

MQTTは、データ量を抑えた多数のメッセージ通信に適しています。
特に、センサー遠隔監視では、機器は正常に動作していることを知らせるために定期的に短いデータを送信し、外部から監視が可能です。
この軽量でシンプルなデータ通信は、主にIoT分野で活用されており、Google、Microsoft、AWSなど、大手クラウドベンダーもMQTTをサポートしています。

メリット1:不安定な​ネットワークや、​性能が​低いデバイスでも​有効

通信が切れることを想定した機能に有効で、モバイルネットワークやWi-Fiなどのネットワークが不安定で通信接続ができない場合、そのタイミングではデータは送受信されませんが、再接続時にデータの送受信が可能です。

メリット2:狭い帯域幅でも​利用しやすい

軽量なメッセージプロトコルのため、狭い帯域幅でも利用が可能です。

メリット3:通信量や​CPU負荷、​電力消費量を​大幅に​削減

MQTTはヘッダーが最小2byteと軽量です。特にデータ量の少ないメッセージを頻繁に送受信する際に、CPU負荷や消費電力を抑えることができます。

MQTTの​実用例

MQTTは、その特徴を生かし、自動車、製造、テレコミュニケーション、油田、ガスなどの幅広い産業で使用されています。

実用例1:油田パイプライン監視

油田パイプラインセンサーでは、衛星に接続するためにMQTTが使われています。
このセンサーには通信速度やデータ容量に厳しい条件はありませんが、衛星が通信範囲外になる可能性があるため、通信が失敗しても柔軟に対応できるプロトコルが必要でした。そのため、安定した接続基盤を提供するHTTPではなく、MQTTが採用されました。

実用例2:スマートシティ

MQTTはスマートシティのシステムで採用され、効率的なデータ通信を実現しています。
例えば、街中のIoTセンサーから得られる環境情報から、空気の質や騒音データを継続的に収集し、都市環境の改善に活用しています。
街路灯の自動調光やゴミ収集の最適化など、エネルギー効率の向上や運用コストの削減にも役立てています。

実用例3:スマート農家

MQTTはスマート農業の分野で活用されています。温度、湿度、二酸化炭素濃度、土壌水分量などの環境データをセンサーで測定し、作物に必要な環境を効率的に維持します。
ハウス栽培では収集したデータに基づき、換気装置や加湿装置、灌漑システムを自動制御することで生産性を向上させます。
また、篤農家のデータと比較することで、より高精度な栽培管理が可能となり、ノウハウの共有や技術の向上にも寄与します。

実用例4:車載システムの​データ通信

自動車業界では、MQTTがコネクテッドカーや車載システムのデータ通信に利用されています。
車両の位置情報、エンジンの状態、燃料消費量などのデータをリアルタイムで送信し、遠隔診断や予防保全に活用されています。
また、車載インフォテインメントシステムにおいても、MQTTを使用してニュースや天気情報などのコンテンツを効率的に配信しています。

最後に

今回は、MQTTをご紹介させていただきました。
もともとは1999年に考案されたプロトコルながら、時代の流れで再度注目を浴びているという背景もあり、新しい技術に目をやるだけでなく、用途や目的に応じて、適切なIT技術の選択が重要と感じました。

さまざまなIT技術に対する知識を増やし、選択の幅を広げてまいります。


\シェアをお願いします!/
  • X
  • Facebook
  • LINE
キャリア採用募集中!

入社後にスキルアップを目指す若手の方も、ご自身の経験を幅広いフィールドで生かしたいベテランの方も、お一人おひとりの経験に応じたキャリア採用を行っています。

Sky株式会社のソフトウェア開発や製品、採用に関するお問い合わせについては、下記のリンクをご確認ください。
お問い合わせ
ホーム