Hauptinhalt

Diese Seite wurde mithilfe maschineller Übersetzung übersetzt. Klicken Sie hier, um das englische Original zu sehen.

ThingHTTP App

ThingHTTP ermöglicht die Kommunikation zwischen Geräten, Websites und Webdiensten, ohne dass das Protokoll auf Geräteebene implementiert werden muss. Sie geben Aktionen in ThingHTTP an, die Sie mithilfe anderer ThingSpeak™-Apps wie TimeControl und React auslösen.

Erstellen einer ThingHTTP-Anforderung

  1. Erstellen Sie eine neue ThingHTTP-Anfrage. Klicken Sie auf Apps > ThingHTTP und dann auf New ThingHTTP.

  2. Geben Sie die Einstellungen an. Nicht alle Einstellungen sind für jeden Anfragetyp erforderlich. Die folgenden Parameter sind für alle ThingHTTP-Anfragen erforderlich.

    Erforderlicher ParameterBeschreibung
    NameGeben Sie einen eindeutigen Namen für Ihre ThingHTTP-Anfrage ein.
    API KeyAutomatisch generierter API-Schlüssel für die ThingHTTP-Anfrage.
    URLGeben Sie die Adresse der Website oder des Webdienstes ein, von dem Sie Daten anfordern, beginnend mit https://. (Beachten Sie, dass http:// zwar unterstützt wird, aber dringend davon abgeraten wird.)
    Method

    Wählen Sie eine der folgenden HTTP-Methoden aus, die für den Zugriff auf die URL erforderlich sind: GET, POST, PUT oder DELETE.

    HTTP VersionGeben Sie 1.1 an, sofern Ihr Server nichts anderes angibt.

    Je nach Art Ihrer Anfrage können Sie zusätzliche Parameter angeben. Beispielsweise werden Benutzername und Passwort für eine ThingHTTP-Anfrage an einen Server benötigt, der eine Authentifizierung erfordert.

    Optionaler ParameterBeschreibung
    HTTP Auth UsernameWenn für Ihre URL eine Authentifizierung erforderlich ist, geben Sie den Benutzernamen zur Authentifizierung ein, um auf private Kanäle oder Websites zuzugreifen.
    HTTP Auth PasswordWenn für Ihre URL eine Authentifizierung erforderlich ist, geben Sie das Kennwort zur Authentifizierung ein, um auf private Kanäle oder Websites zuzugreifen.
    Content TypeGeben Sie den MIME- oder Formulartyp des Anforderungsinhalts ein. Beispiel: application/x-www-form-urlencoded.
    HostWenn Ihre ThingHTTP-Anfrage eine Hostadresse erfordert, geben Sie den Domänennamen ein. Beispiel: api.thingspeak.com.
    HeadersWenn Ihre ThingHTTP-Anforderung benutzerdefinierte Header erfordert, geben Sie den Namen des Headers und einen Wert ein. Geben Sie beispielsweise einen Bytebereich mit Range: bytes=500-999 an.
    Body

    Geben Sie eine Nachricht ein, die Sie in Ihre Anfrage aufnehmen möchten.


    Sie können im Body-Abschnitt auch Daten einfügen, die mithilfe von Ersatzschlüsseln an die ThingHTTP-App gesendet werden sollen. Ein Beispiel finden Sie unter Daten mit ThingHTTP-Trigger weitergeben.

    Parse String

    Geben Sie eine Bezeichnung ein, nach der in den Antwortdaten gesucht werden soll.
    Sie können eine eindeutige ID oder den XPATH verwenden, um bestimmte Daten aus HTML zu analysieren. Wenn es sich bei den zurückgegebenen Daten um ein JSON-Objekt handelt, können Sie die JSON-Punktnotation verwenden, um die Antwortdaten nach einem bestimmten Wert zu analysieren. Weitere Informationen finden Sie unter Zeichenfolge analysieren.

  3. Speichern Sie die Anfrage. Ihr ThingHTTP ist für die zukünftige Verwendung verfügbar, indem Sie auf Apps klicken und ThingHTTP auswählen.

Auslöser ThingHTTP

Lösen Sie Ihr ThingHTTP mit einer GET- oder POST-HTTP-Anfrage, TimeControl oder React aus. Verwenden Sie eine POST-Anfrage, wenn Sie Daten einschließen oder benutzerdefinierte Ersatzschlüssel verwenden. Durch POST, TimeControl oder React ausgelöste Anfragen können bestimmte Variablen an ThingHTTP übergeben. Weitere Informationen finden Sie unter Daten mit ThingHTTP-Trigger weitergeben. Wenn Sie beispielsweise TimeControl zum Auslösen Ihres ThingHTTP verwenden, können Sie die Zeit übergeben, zu der es ausgelöst wurde. Diese Tabelle enthält Eingabe- und Ausgabeparameter sowie einen Beispielaufruf für die Verwendung einer HTTP-Anforderung zum Auslösen eines ThingHTTP.

Hinweis

Wenn ThingHTTP mehr als einmal pro Sekunde ausgelöst wird, führt dies zu einem HTTP-Statuscode 429. Der Statuscode wird weiterhin angezeigt, bis Sie die Rate auf unter eine Anfrage pro Sekunde reduzieren.

ThingHTTP mit HTTP-Anforderung auslösen

TitelHTTP-POST-Anforderung zum Auslösen von ThingHTTP
URLhttps://api.thingspeak.com/apps/thinghttp/send_request
HTTP-MethodePOST
HTTP-Header Content-Type: application/x-www-form-urlencoded
X-THINGSPEAKAPIKEY = XXXXXXXXXXXXXXX

Datenparameterapi_key=XXXXXXXXXXXXXXX
Erfolgreiche Antwort200 OK
and HTTP, JSON, or text, depending on the ThingHTTP
Fehlerantworten400 Invalid API key
0 Minimum wait time not reached
-1 Request failed
HinweiseIhr ThingHTTP-API-Schlüssel muss entweder im HTTP-Header oder im Body-Abschnitt erscheinen, er kann aber auch in beiden erscheinen.
Wenn Sie keine Daten an ThingHTTP übergeben, können Sie eine GET-Anfrage verwenden, um ThingHTTP auszulösen:
GET https://api.thingspeak.com/apps/thinghttp/send_request?api_key=XXXXXXXXXXXXXXX.

ThingHTTP gibt das Ergebnis der HTTP-Anfrage zurück.

Daten mit ThingHTTP-Trigger weitergeben

Sie können Daten mithilfe von Ersatzschlüsseln an ThingHTTP senden, einschließlich Schlüsseln innerhalb von zwei Prozentzeichen. Sie können in jedem verfügbaren Abschnitt Ihres ThingHTTP einen Ersatzschlüssel einfügen. Sie können beispielsweise ein Tag in den ThingHTTP-Textkörper einfügen und die Daten mithilfe des POST übergeben, der Ihre ThingHTTP-Anfrage auslöst. Dieses Beispiel zeigt, wie Sie mithilfe einer ThingHTTP-Anfrage eine Nachricht an einen ThingSpeak-Kanal senden. Erstellen Sie Ihr ThingHTTP und verwenden Sie den benutzerdefinierten Ersatzschlüssel %%message%% im Text.

Wenn Sie eine Nachricht in einen POST einfügen, der Ihr ThingHTTP auslöst, löst der HTTP POST Ihr ThingHTTP aus, ersetzt %%message%% durch „1234“ und aktualisiert den Kanal auf ThingSpeak. Die Body-Parameter für Ihr ThingHTTP unterscheiden sich von den Body-Parametern für die HTTP-Trigger-Anforderung. Die Anforderungsparameter des HTTP-Triggers sind in der folgenden Tabelle aufgeführt.

TitelHTTP-POST-Anforderung zum Auslösen von ThingHTTP
URLhttps://api.thingspeak.com/apps/thinghttp/send_request
HTTP-MethodePOST
HTTP-Header Content-Type: application/x-www-form-urlencoded
X-THINGSPEAKAPIKEY=XXXXXXXXXXXXXXX

Datenparameterapi_key=XXXXXXXXXXXXXXX
message=1234

Erfolgreiche Antwort200 OK
und HTTP, JSON oder Text, abhängig von Ihrem ThingHTTP
Fehlerantworten400 Invalid API key
0 Minimum wait time not reached
-1 Request failed
HinweiseIhr ThingHTTP-API-Schlüssel muss entweder im HTTP-Header oder im Body-Abschnitt erscheinen, er kann aber auch in beiden erscheinen.

POSTMAN-Anforderung mit Ersatzschlüssel

Sie können POSTMAN verwenden, um Ihre HTTP-Anfragen mit der RESTful-API für ThingSpeak auszuprobieren. Im Folgenden wird gezeigt, wie Sie Ihr ThingHTTP mit Ersatzschlüsseln mithilfe von POSTMAN testen.

  1. Wählen Sie POST und geben Sie die Anforderungs-URL ein.

  2. Wählen Sie im Autorisierungsabschnitt Body aus.

  3. Wählen Sie x-www-form-urlencoded.

  4. Geben Sie api_key ein und kopieren Sie Ihren ThingHTTP-API-Schlüssel in den Abschnitt value.

  5. Geben Sie message und den Nachrichtentext im Abschnitt value ein.

Ersatzschlüssel

Mithilfe von Ersatzschlüsseln können Sie Daten an Ihre Apps weitergeben. In der folgenden Tabelle sind die Standard- und benutzerdefinierten Ersatzschlüssel zusammengefasst, die Sie verwenden können. Einige Schlüssel sind spezifisch für einen bestimmten Anfragetyp, wie in der letzten Spalte angegeben.

SchlüsselBeschreibungBeispielVerwenden mit
%%YOUR_CUSTOM_LABEL%%ThingHTTP ersetzt diesen benutzerdefinierten Ersetzungswert durch Daten in der Triggeranforderung, die die Bezeichnung „YOUR_CUSTOM_LABEL“ haben.field1=%%YOUR_CUSTOM_LABEL%%
POST-Daten: YOUR_CUSTOM_LABEL=1234.
ERGEBNIS: field1=1234.
Jede Anfrage
%%channel_CHANNEL_ID_
field_FIELD_NUMBER%%
Der letzte Wert des angegebenen Kanals und Felds. Ersetzungsanfragen an private Kanäle, die nicht demselben Benutzer wie die ThingHTTP-Anfrage gehören, geben leere Werte zurück.The latest value is %%channel_12_field_1%%.
ERGEBNIS: The latest value is 2,5.
Jede Anfrage
%%datetime%%Das vollständige Datum und die Uhrzeit, wann TimeControl oder React ausgeführt wurde.The date and time the event occurred is %%datetime%%.
ERGEBNIS: The date and time the event occurred is 24.09.2014 17:32 Uhr.
TimeControl oder React
%%day%%Der Name des Wochentags, an dem TimeControl ausgeführt wurde.The day the event occurred is %%day%%.
ERGEBNIS: The day the event occurred is Mittwoch.
TimeControl
%%day_index%% Der nullbasierte Index des Wochentags, beginnend am Sonntag.The number of days used this week is %%day_index%%.
ERGEBNIS: The number of days used this week is 3.
TimeControl
%%hour%%Die Stunde des Tages, zu der TimeControl ausgeführt wurde.The hour that the event occurred is %%Stunde%%.
ERGEBNIS: The hour that the event occurred is 5.
TimeControl
%%minute%%Die Minute der Stunde, in der TimeControl ausgeführt wurde.The minute the event occurred is %%minute%%.
ERGEBNIS: The minute the event occurred is 30.
TimeControl
%%trigger%%Der Wert, der React ausgelöst hat.It is way too hot in here at %%trigger%% C.
ERGEBNIS: It is way too hot in here at 40 C.
Reagieren
%%channel_id%%Die Kanal-ID, die React ausgelöst hat.The channel that triggers is %%channel_id%%.
ERGEBNIS: The channel that triggers is 1256.
Reagieren

Zeichenfolge analysieren

ThingHTTP sendet die vollständige, durch die Anfrage generierte HTTP-Antwort, die eine Webseite, ein Text oder ein JSON-Objekt sein kann. Um ein einzelnes Datenelement aus der Antwort zu extrahieren, geben Sie in Ihrer ThingHTTP-Anfrage Parse String an. ThingHTTP kann Daten mithilfe eindeutiger Tag-IDs oder XPATH-Daten analysieren. JSON-Objekte können analysiert werden, um Komponenten des Objekts abzurufen.

XPath

Sie können XML Path Language (XPath) verwenden, um einen bestimmten Wert auf einer Webseite anzugeben. Geben Sie den XPath eines Elements auf einer Webseite an, um nach diesem bestimmten Element zu suchen. Einige Browser stellen XPATH-Informationen bereit, wenn Sie in der Quellansicht auf die Daten klicken. Beispielsweise stellt die Webseite www.localconditions.com/massachusetts/01750 die Mondphase für Natick, MA im XPATH
//*[@id="wrapper"]/div[3]/div/div[2]/div[1]/div[1]/div/div[2]/div[2]/p[5]/text() bereit.

JSON

JSON (JavaScript Object Notation) wird häufig zum Formatieren von Webdaten verwendet. Wenn Ihre Anfrage ein JSON-Objekt zurückgibt, können Sie die entsprechende Punktnotation verwenden, um den gewünschten Wert abzurufen. ThingSpeak Kanal 12397 bietet Wetterinformationen aus dem Parkhaus bei MathWorks® in Natick. Mithilfe der Anforderungs-URL gibt https://api.thingspeak.com/channels/12397/feeds.json?results=1 ein JSON-Objekt zurück, ähnlich dem hier gezeigten. Verwenden Sie die Analysezeichenfolge feeds[0].field2, um den neuesten Wert von Wind Speed abzurufen. In diesem Fall ist der zurückgegebene Wert 5,0.

Hier ist ein Beispiel des JSON-Objekts der Wetterstation, das vom Wetterstationskanal MathWorks ThingSpeak zurückgegeben wurde.

{  "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",
     ...    }  ]}

Siehe auch

Funktionen

Externe Websites