Main Content

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

Subscribe to a Channel Feed

チャネル フィードの更新のサブスクライブ

ThingSpeak MQTT では、チャネルの更新をサブスクライブするために MQTT API キーが必要です。接続に際して、一意のユーザー名と MQTT API キーをパスワード パラメーターとして ThingSpeak MQTT ブローカーに提示します。MQTT API キーを参照するには、[Account][MyProfile] を選択します。ThingSpeak™ MQTT では、QoS 0 のみがサポートされています。詳細については、接続に対するサーバーの応答を参照してください。

説明

channels/<channelID>/subscribe/<format> は、チャネル フィードへの更新をサブスクライブします。<channelID> をチャネル ID に、<format> を返信メッセージの形式に置き換えます。チャネル フィードをサブスクライブすることで自動的に、チャネルの最新エントリがサブスクリプションに返されます。API キー、チャネル番号、MQTT ユーザー API キーなど、サブスクリプションの無効な詳細情報は、クライアントの接続が切断される原因になります。

channels/<channelID>/subscribe/<format>/<apiKey> は、プライベート チャネルのチャネル フィードの更新をサブスクライブします。<apikey> をチャネルの Read API キーに置き換えます。

入力引数

すべて展開する

サブスクリプション対象のチャネル ID。数値として指定します。

データ型: uint16 | int16 | int8 | uint8

チャネルの Read API キー。プライベート チャネルをサブスクライブするために必要です。この値は、接続に使用する MQTT API キーとは異なります。

データ型: char

返信メッセージの出力形式。JSON、XML、または CSV として指定します。有効になっていないフィールドは、出力には表示されません。

メモ

latitude、longitude、および elevation はチャネルの設定用ではなく、フィードの更新用です。

例: JSON

JSON 出力を <format> として指定します。チャネル更新メッセージは、次に示される形式の JSON オブジェクトです。たとえば、channels/1417/subscribe/json のようになります。

{"channel_id":739,"created_at":"2017-09-05T07:40:09-04:00","entry_id":931,"field1":null,"field2":"pink","field3":null,"field4":null,
"field5":null,"field6":null,"field7":null,"field8":null,"latitude":null,"longitude":null,"elevation":null,"status":null}

例: XML

メッセージを XML 形式で受信するには、XML 出力を <format> として指定します。たとえば、channels/1417/subscribe/xml のようになります。

<?xml version="1.0" encoding="UTF-8"?>
<feed><channel-id type="integer">3</channel-id>
<field1>73</field1><field2 nil="true"/><field3 nil="true"/>
<field4 nil="true"/><field5 nil="true"/><field6 nil="true"/>
<field7 nil="true"/><field8 nil="true"/>
<created-at type="dateTime">2014-02-25T14:15:42-05:00</created-at>
<entry-id type="integer">321</entry-id><status nil="true"/>
<latitude type="decimal" nil="true"/><longitude type="decimal" nil="true"/>
<elevation nil="true"/></feed>

例: CSV

メッセージをコンマ区切り変数テキストとして受信するには、CSV 出力を <format> として指定します。たとえば、channels/1417/subscribe/csv のようになります。

channel_id,field1,field2,field3,field4,field5,field6,field7,field8,created_at,entry_id,status,latitude,longitude,elevation

81,89,,,,,,,,2017-06-19T18:15:57Z,2,,,,

応答

接続に成功した場合、サーバーはサブスクライブされたチャネルの最新値で応答します。トピックのサブスクリプションで使用される <format> が、応答の形式を決定します。

制限

ThingSpeak の各ライセンス タイプでは、許容される MQTT サブスクリプションの数が異なり、配信されるメッセージ数の制限も異なります。詳細については、How to Buy および Frequently Asked Questions を参照してください。

MQTT.fx を構成して、MathWorks® 気象計のチャネルの更新をサブスクライブします。mqtt.thingspeak.com とポート 1883 を使用します。MQTT API キーをパスワードとして入力します。

サブスクライブ トピックの形式 channels/12397/subscribe/json を使用します。MathWorks 気象計は公開されてるため、/<apikey> を含める必要はありません。

ここで、チャネルを更新し、クライアントでのメッセージを確認します。

R2017b で導入