Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

MQTT の基礎

MQTT はパブリッシュ/サブスクライブ アーキテクチャであり、主に帯域幅と電力の制限されたデバイスをワイヤレス ネットワーク経由で接続するために開発されています。これは、TCP/IP ソケットまたは WebSocket 上で実行されるシンプルで軽量なプロトコルです。WebSockets 上の MQTT は、SSL によってセキュリティで保護できます。パブリッシュ/サブスクライブ アーキテクチャを使用すると、クライアント デバイスにメッセージをプッシュでき、デバイスがサーバーに継続的なポーリングを行う必要はありません。

MQTT ブローカーは通信の中心点であり、送信者および適切な受信者の間ですべてのメッセージを送り出すことを担当しています。クライアントは、ブローカーに接続し、情報にアクセスするためのトピックをパブリッシュまたはサブスクライブできる任意のデバイスです。トピックにはブローカーのルーティング情報が含まれています。メッセージを送信する各クライアントは、それらを特定のトピックにパブリッシュし、メッセージを受信する各クライアントは特定のトピックをサブスクライブします。ブローカーは、トピックのマッチするすべてのメッセージを適切なクライアントに配信します。

ThingSpeak™ では、MQTT ブローカーが mqtt.thingspeak.com の URL にあり、ポートは 1883 です。ThingSpeak ブローカーは、図に示すとおり、MQTT パブリッシュと MQTT サブスクライブの両方をサポートしています。

MQTT パブリッシュ

この図はトピックの構造を説明しています。Write API キーはパブリッシュするために必要です。ブローカーは、CONNACK によって正しい CONNECT 要求に応答します。

MQTT サブスクライブ

この図はトピックの構造を説明しています。チャネルをサブスクライブするには、ユーザー名と、パスワードとしての MQTT API キーも接続時に提示しなければなりません。ブローカーは、SUBACK によって正しい SUBSCRIBE 要求に応答します。

MQTT API キー

MQTT サブスクライブを使用するには、一意のユーザー名と、パスワードとしての MQTT API キーを接続時に提示します。MQTT パブリッシュでは、この API キーは必要ありません。MQTT API キーを参照するには、[Account][MyProfile] を選択します。

接続に対するサーバーの応答

接続に成功すると、ThingSpeak の MQTT ブローカーは接続の肯定応答である CONNACK によって応答します。MQTT ブローカーは、正常なサブスクリプション要求に SUBACK メッセージで応答し、サブスクライブ対象のチャネルやフィールドにポストされた新しいデータをクライアントに中継します。これらのメッセージの詳細については、MQTT v 3.1.1 の仕様を参照してください。これにより、メッセージをPublish to a Channel FeedまたはPublish to a Channel Field Feedの形式を使用してトピックにパブリッシュできるようになります。

MQTT クライアントの構成

ThingSpeak の MQTT ブローカーは mqtt.thingspeak.com の URL にあります。次のいずれかのオプションに基づいて、ThingSpeak の MQTT ブローカーと通信するよう MQTT クライアントを構成します。

ポート

接続タイプ

暗号化

1883

TCP

なし

8883

TCP

TLS/SSL

80

WebSocket

なし

443

WebSocket

TLS/SSL

メモ

セキュリティで保護された SSL ソケット接続モードをハードウェアがサポートしている場合は、できるだけそのモードを使用して ThingSpeak の MQTT ブローカーと通信してください。

ThingSpeak は、QoS0 の MQTT のパブリッシュとサブスクライブの機能を実装します。この "ファイア アンド フォーゲット" プロトコルは、ThingSpeak チャネルへのパブリッシュに際してクライアントが肯定応答を受け取らないことを意味します。

参考

| | | | | | |

関連するトピック

外部の Web サイト