Main Content

Diese Seite wurde mithilfe maschineller Übersetzung übersetzt. Klicken Sie hier, um die neueste Version auf Englisch 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 mit anderen ThingSpeak™- Apps wie TweetControl, TimeControl und React auslösen.

Erstellen Sie eine ThingHTTP-Anfrage

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

  2. Geben Sie Einstellungen an. Nicht alle Einstellungen sind für jede Art von Anfrage 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 der Sie Daten anfordern, beginnend mit https://. (Beachten Sie, dass http:// 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.

    Abhängig von der Art der von Ihnen gestellten Anfrage können Sie zusätzliche Parameter angeben. Beispielsweise werden der Benutzername und das Passwort für eine ThingHTTP-Anfrage an einen Server benötigt, der eine Authentifizierung erfordert.

    Optionaler ParameterBeschreibung
    HTTP Auth UsernameWenn Ihre URL eine Authentifizierung erfordert, geben Sie den Benutzernamen zur Authentifizierung ein, um auf private Kanäle oder Websites zuzugreifen.
    HTTP Auth PasswordWenn Ihre URL eine Authentifizierung erfordert, geben Sie das Passwort 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-Anfrage 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 mithilfe von Ersatzschlüsseln auch Daten zum Senden an die ThingHTTP-App in den Textabschnitt einfügen. Ein Beispiel finden Sie unter Übergeben Sie Daten mit dem ThingHTTP-Trigger.

    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 auf einen bestimmten Wert zu analysieren. Weitere Informationen finden Sie 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.

Trigger ThingHTTP

Lösen Sie Ihr ThingHTTP mit einer GET- oder POST-HTTP-Anfrage, TweetControl, 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 Anforderungen können bestimmte Variablen an ThingHTTP übergeben. Weitere Informationen finden Sie Übergeben Sie Daten mit dem ThingHTTP-Trigger. Wenn Sie beispielsweise TimeControl zum Auslösen Ihres ThingHTTP verwenden, können Sie die Zeit, zu der es ausgelöst wurde, weitergeben. Diese Tabelle enthält Eingabe- und Ausgabeparameter sowie einen Beispielaufruf für die Verwendung einer HTTP-Anfrage zum Auslösen eines ThingHTTP.

Hinweis

Das Auslösen von ThingHTTP mehr als einmal pro Sekunde führt zu einem HTTP-429-Statuscode. Der Statuscode bleibt bestehen, bis Sie die Rate unter eine Anfrage pro Sekunde senken.

Lösen Sie ThingHTTP mit einer HTTP-Anfrage aus

TitelHTTP-POST-Anfrage zum Auslösen von ThingHTTP
URLhttps://api.thingspeak.com/apps/thinghttp/send_request
HTTP-MethodePOST
HTTP-HeaderContent-Type: application/x-www-form-urlencodedX-THINGSPEAKAPIKEY = XXXXXXXXXXXXXXX
Datenparameterapi_key=XXXXXXXXXXXXXXX
Erfolgsantwort200 OK and HTTP, JSON, or text, depending on the ThingHTTP
Fehlerantworten400 Invalid API key0 Minimum wait time not reached-1 Request failed
Beispiel-HTTP-AufrufPOST /apps/thingtweet/1/statuses/update HTTP/1.1 Host: api.thingspeak.com Content-Type: application/x-www-form-urlencoded Cache-Control: no-cacheapi_key=XXXXXXXXXXXXXXX
"Anmerkungen"Ihr ThingHTTP-API-Schlüssel muss entweder im HTTP-Header oder im Textabschnitt erscheinen, oder er kann 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.

Übergeben Sie Daten mit dem ThingHTTP-Trigger

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

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-Anfrage. Die HTTP-Trigger-Anforderungsparameter werden in der folgenden Tabelle angezeigt.

TitelHTTP-POST-Anfrage zum Auslösen von ThingHTTP
URLhttps://api.thingspeak.com/apps/thinghttp/send_request
HTTP-MethodePOST
HTTP-HeaderContent-Type: application/x-www-form-urlencodedX-THINGSPEAKAPIKEY=XXXXXXXXXXXXXXX
Datenparameterapi_key=XXXXXXXXXXXXXXXmessage=1234
Erfolgsantwort200 OK und HTTP, JSON oder Text, abhängig von Ihrem ThingHTTP
Fehlerantworten400 Invalid API key0 Minimum wait time not reached-1 Request failed
Beispiel-HTTP-AufrufPOST /apps/thingtweet/1/statuses/update HTTP/1.1 Host: api.thingspeak.com Content-Type: application/x-www-form-urlencoded Cache-Control: no-cacheapi_key=XXXXXXXXXXXXXXX&message=1234
"Anmerkungen"Ihr ThingHTTP-API-Schlüssel muss entweder im HTTP-Header oder im Textabschnitt erscheinen, oder er kann in beiden erscheinen.

POSTMAN-Anfrage mit Ersatzschlüssel

Sie können POSTMAN verwenden, um Ihre HTTP-Anfragen mithilfe der RESTful-API für ThingSpeak auszuprobieren. Im Folgenden wird gezeigt, wie Sie Ihr ThingHTTP mit Ersatzschlüsseln mit 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 übergeben. Die folgende Tabelle fasst die Standard- und benutzerdefinierten Ersatzschlüssel zusammen, die Sie verwenden können. Einige Schlüssel sind spezifisch für eine bestimmte Art von Anfrage, wie in der letzten Spalte angegeben.

SchlüsselBeschreibungBeispielBenutzen mit
%%YOUR_CUSTOM_LABEL%%ThingHTTP ersetzt diesen benutzerdefinierten Ersatzwert durch Daten in der Triggeranforderung mit der Bezeichnung „YOUR_CUSTOM_LABEL“.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 gehören wie die ThingHTTP-Anfrage, 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 vollständige Uhrzeit der Ausführung von TimeControl oder React.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, der am Sonntag beginnt.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 tweets is %%channel_id%%.ERGEBNIS: The channel that tweets is 1256.React

Zeichenfolge analysieren

ThingHTTP sendet die vollständige HTTP-Antwort, die von der Anfrage generiert wurde. Dabei kann es sich um eine Webseite, einen Text oder ein JSON-Objekt handeln. Um ein einzelnes Datenelement aus der Antwort zu extrahieren, geben Sie in Ihrer ThingHTTP-Anfrage „Parse String“ an. ThingHTTP kann Daten mithilfe einer eindeutigen Tag-ID 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, das für dieses bestimmte Element analysiert werden soll. 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 Channel 12397 bietet Wetterinformationen aus dem Parkhaus bei MathWorks® in Natick. Bei Verwendung der Anforderungs-URL https://api.thingspeak.com/channels/12397/feeds.json?results=1 wird ein JSON-Objekt zurückgegeben, ä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 ThingSpeak Wetterstationskanal MathWorks 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