メインコンテンツ

このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。

ThingHTTPアプリ

ThingHTTPすると、デバイス レベルでプロトコルを実装することなく、デバイス、Web サイト、Web サービス間の通信が可能になります。ThingHTTPでアクションを指定し、 TimeControl や React などの他の ThingSpeak™ アプリを使用してトリガーします。

ThingHTTP要求を作成する

  1. 新しいThingHTTP要求を作成します。AppsThingHTTP をクリックし、次に New ThingHTTP をクリックします。

  2. 設定を指定します。各要求タイプごとにすべての設定が必要なわけではありません。すべてのThingHTTP要求には次のパラメーターが必要です。

    必須パラメーター説明
    名前ThingHTTP要求の一意の名前を入力します。
    API KeyThingHTTP要求用に自動生成された API キー。
    URLデータの要求元となる Web サイトまたは Web サービスのアドレスを https:// で始まる形式で入力します。(http:// はサポートされていますが、強く推奨されません。)
    メソッド

    URL にアクセスするために必要な次の HTTP メソッドのいずれかを選択します。GET、POST、PUT、またはDELETE。

    HTTP Versionサーバーから特に指示がない限り、1.1 を指定します。

    行う要求の性質に応じて、追加のパラメーターを指定できます。たとえば、認証が必要なサーバーへのThingHTTP要求には、ユーザー名とパスワードが必要です。

    オプションパラメーター説明
    HTTP Auth UsernameURL に認証が必要な場合は、プライベートチャネルまたは Web サイトにアクセスするための認証用のユーザー名を入力します。
    HTTP Auth PasswordURL に認証が必要な場合は、プライベートチャネルまたは Web サイトにアクセスするための認証パスワードを入力します。
    Content Type要求コンテンツの MIME またはフォーム タイプを入力します。たとえば、application/x-www-form-urlencoded のようにします。
    HostThingHTTP要求にホスト アドレスが必要な場合は、ドメイン名を入力します。たとえば、api.thingspeak.com のようにします。
    ヘッダーThingHTTP要求にカスタム ヘッダーが必要な場合は、ヘッダーの名前と値を入力します。たとえば、Range: bytes=500-999 を使用してバイト範囲を指定します。
    Body

    要求に含めるメッセージを入力します。


    置換キーを使用して、 ThingHTTPアプリに送信するデータをbodyセクションに含めることもできます。例については、ThingHTTPトリガーでデータを渡すを参照してください。

    Parse String

    応答データで検索するラベルを入力します。
    一意の ID または XPATH を使用して、HTML から特定のデータを解析できます。返されるデータが JSON オブジェクトの場合、JSON ドット表記を使用して応答データを解析し、特定の値を取得できます。詳細については、文字列を解析するを参照してください。

  3. 要求を保存します。Apps をクリックして ThingHTTP を選択すると、 ThingHTTP を将来使用できるようになります。

トリガーシングThingHTTP

GETまたは POST HTTP要求、 TimeControl、または React を使用して ThingHTTP をトリガーします。データを含める場合、またはカスタム置換キーを使用する場合は、POST要求を使用します。POST、TimeControl、または React によってトリガーされた要求は、特定の変数を ThingHTTP に渡すことができます。詳細については、ThingHTTPトリガーでデータを渡すを参照してください。たとえば、 TimeControlを使用してThingHTTP をトリガーする場合、トリガーされた時刻を渡すことができます。この表は、HTTP要求を使用してThingHTTP をトリガーするための入力および出力パラメーターとサンプル呼び出しを示します。

メモ

1 秒あたり 1 回以上ThingHTTPをトリガーすると、HTTP 429 ステータス コードが返されます。レートを 1 秒あたり 1要求未満に下げるまで、ステータス コードは継続されます。

HTTP要求でThingHTTPをトリガーする

タイトルThingHTTPをトリガーする HTTP POST要求
URLhttps://api.thingspeak.com/apps/thinghttp/send_request
HTTP メソッド役職
HTTP ヘッダー Content-Type: application/x-www-form-urlencoded
X-THINGSPEAKAPIKEY = XXXXXXXXXXXXXXX

データパラメーターapi_key=XXXXXXXXXXXXXXX
成功レスポンス200 OK
and HTTP, JSON, or text, depending on the ThingHTTP
エラー応答400 Invalid API key
0 Minimum wait time not reached
-1 Request failed
メモThingHTTP API キーは、HTTP ヘッダーまたはbodyセクションのいずれかに表示される必要があります。または、両方に表示される場合もあります。
ThingHTTP にデータを渡さない場合は、 GET 要求を使用して ThingHTTP をトリガーできます:
GET https://api.thingspeak.com/apps/thinghttp/send_request?api_key=XXXXXXXXXXXXXXX

ThingHTTP はHTTP要求の結果を返します。

ThingHTTPトリガーでデータを渡す

2 パーセント記号で囲まれたキーを含む置換キーを使用して、 ThingHTTPにデータを送信できます。ThingHTTPの使用可能なセクションに置換キーを含めることができます。たとえば、 ThingHTTPbodyにタグを含め、 ThingHTTP要求をトリガーする POST を使用してデータを渡すことができます。この例では、 ThingHTTP要求を使用して ThingSpeakチャネルにメッセージを投稿する方法を示します。ThingHTTPを作成し、bodyでカスタム置換キー %%message%% を使用します。

ThingHTTP をトリガーするメッセージを POST に含めると、HTTP POST によってThingHTTPがトリガーされ、%%message%% が '1234' に置き換えられ、ThingSpeak のチャネルが更新されます。ThingHTTPのbodyパラメーターは、HTTP トリガー要求のbodyパラメーターとは異なります。HTTP トリガー要求パラメーターを次の表に示します。

タイトルThingHTTPをトリガーする HTTP POST要求
URLhttps://api.thingspeak.com/apps/thinghttp/send_request
HTTP メソッド役職
HTTP ヘッダー Content-Type: application/x-www-form-urlencoded
X-THINGSPEAKAPIKEY=XXXXXXXXXXXXXXX

データパラメーターapi_key=XXXXXXXXXXXXXXX
message=1234

成功レスポンス200 OK
と HTTP、JSON、またはテキスト( ThingHTTPによって異なります)
エラー応答400 Invalid API key
0 Minimum wait time not reached
-1 Request failed
メモThingHTTP API キーは、HTTP ヘッダーまたはbodyセクションのいずれかに表示される必要があります。または、両方に表示される場合もあります。

置換キーを使用したPOSTMAN要求

POSTMAN を使用すると、ThingSpeak の RESTful API を使用して HTTP要求を試すことができます。以下は、 POSTMANを使用して置換キーでThingHTTP をテスト方法を示しています。

  1. POST を選択し、要求URL を入力します。

  2. 認証セクションでBodyを選択します。

  3. x-www-form-urlencodedを選択してください。

  4. api_key と入力し、 ThingHTTP API キーを value セクションにコピーします。

  5. value セクションに message とメッセージ テキストを入力します。

交換用キー

置換キーを使用してアプリにデータを渡すことができます。次の表は、使用できる標準およびカスタムの置換キーをまとめたものです。最後の列に示されているように、一部のキーは特定のタイプの要求に固有です。

キー説明使用方法
%%YOUR_CUSTOM_LABEL%%ThingHTTP は、このカスタム置換値を、トリガー要求内のラベル「YOUR_CUSTOM_LABEL」を持つデータに置き換えます。field1=%%YOUR_CUSTOM_LABEL%%
POSTデータ: YOUR_CUSTOM_LABEL=1234.
RESULT: field1=1234.
要求があれば
%%channel_CHANNEL_ID_
field_FIELD_NUMBER%%
指定されたチャネルとフィールドの最後の値。ThingHTTP要求と同じユーザーが所有していないプライベートチャネルへの置換要求は、空白の値を返します。The latest value is %%channel_12_field_1%%.
RESULT:The latest value is 2.5
要求があれば
%%datetime%%TimeControl または React が実行された完全な日時。The date and time the event occurred is %%datetime%%.
RESULT:The date and time the event occurred is 2014年9月24日午後5時32分
TimeControl または React
%%day%%TimeControlが実行された曜日の名前。The day the event occurred is %%day%%.
RESULT:The day the event occurred is 水曜日
TimeControl
%%day_index%% 日曜日から始まる曜日のゼロベースのインデックス。The number of days used this week is %%day_index%%.
RESULT:The number of days used this week is 3
TimeControl
%%hour%%TimeControlが実行された時刻。The hour that the event occurred is %%時間%%.
結果:The hour that the event occurred is 5
TimeControl
%%minute%%TimeControlが実行された時刻の分。The minute the event occurred is %%分%%.
RESULT:The minute the event occurred is 30
TimeControl
%%trigger%%React をトリガーした値。It is way too hot in here at %%トリガー%% C.
結果:It is way too hot in here at 40 C
React
%%channel_id%%React をトリガーしたチャネル ID。The channel that triggers is %%channel_id%%.
RESULT:The channel that triggers is 1256
React

文字列を解析する

ThingHTTP は、要求によって生成された完全な HTTP 応答 (Web ページ、テキスト、JSON オブジェクトなど) を送信します。応答から単一のデータ要素を抽出するには、 ThingHTTP要求で Parse String を指定します。ThingHTTP は、一意のタグ ID または XPATH データを使用してデータを解析できます。JSON オブジェクトを解析してオブジェクトのコンポーネントを取得できます。

XPath

XML パス言語 (XPath) を使用して、Web ページ上の特定の値を指定できます。特定の項目を解析するには、Web ページ上の項目の XPath を指定します。一部のブラウザでは、ソース ビューでデータをクリックすると XPATH 情報が提供されます。たとえば、Web ページ www.localconditions.com/massachusetts/01750 は、XPATH
//*[@id="wrapper"]/div[3]/div/div[2]/div[1]/div[1]/div/div[2]/div[2]/p[5]/text() でマサチューセッツ州ネイティックの月相を提供します。

JSON

JSON (JavaScript Object Notation) は、Web データのフォーマットによく使用されます。要求がJSON オブジェクトを返す場合は、適切なドット表記を使用して目的の値を取得できます。ThingSpeakチャネル12397 は、ネイティックの MathWorks® にある駐車場からの天気情報を提供します。要求URL https://api.thingspeak.com/channels/12397/feeds.json?results=1 を使用すると、ここに示すものと同様の JSON オブジェクトが返されます。解析文字列feeds[0].field2 を使用して Wind Speed の最新の値を取得します。この場合、返される値は 5.0 です。

以下は、MathWorks ThingSpeak 気象ステーションチャネルから返された気象ステーション JSON オブジェクトのサンプルです。

{  "channel": {
    "id": 12397,
    "name": "WeatherStation",
    "description": "MathWorks Weather Station, ...",
    ...
    "field1": "Wind Direction ... ",
    "field2": "Wind Speed (mph)",
    ...  },
  "feeds": [
    {
      "created_at": "2017-03-13T14:33:21Z",
      "entry_id": 1272044,
      "field1": "21",
      "field2": "5.0",
     ...    }  ]}

参考

関数

外部の Web サイト