Main Content

Questa pagina è stata tradotta con la traduzione automatica. Fai clic qui per vedere l’originale in inglese.

Applicazione ThHTTP

ThingHTTP consente la comunicazione tra dispositivi, siti Web e servizi Web senza dover implementare il protocollo a livello di dispositivo. Puoi specificare le azioni in ThingHTTP, che attivi utilizzando altre app ThingSpeak™ come TweetControl, TimeControl e React.

Crea una richiesta ThingHTTP

  1. Crea una nuova richiesta ThingHTTP. Fare clic su Apps > ThingHTTP e quindi su New ThingHTTP.

  2. Specificare le impostazioni. Non tutte le impostazioni sono necessarie per ciascun tipo di richiesta. I seguenti parametri sono obbligatori per tutte le richieste ThingHTTP.

    Parametro obbligatorioDescrizione
    NameInserisci un nome univoco per la tua richiesta ThingHTTP.
    API KeyChiave API generata automaticamente per la richiesta ThingHTTP.
    URLInserisci l'indirizzo del sito o del servizio web a cui stai richiedendo i dati, iniziando con https://. (Nota che http:// è supportato, ma è fortemente sconsigliato.)
    Method

    Seleziona uno dei seguenti metodi HTTP richiesti per accedere all'URL: GET, POST, PUT, or DELETE.

    HTTP VersionSpecificare 1.1 se non diversamente indicato dal server.

    A seconda della natura della richiesta che stai effettuando, puoi specificare parametri aggiuntivi. Ad esempio, il nome utente e la password sono necessari per una richiesta ThingHTTP a un server che richiede l'autenticazione.

    Parametro facoltativoDescrizione
    HTTP Auth UsernameSe il tuo URL richiede l'autenticazione, inserisci il nome utente per l'autenticazione per accedere a canali o siti web privati.
    HTTP Auth PasswordSe il tuo URL richiede l'autenticazione, inserisci la password per l'autenticazione per accedere a canali o siti web privati.
    Content TypeInserisci il tipo MIME o modulo del contenuto della richiesta. Ad esempio, application/x-www-form-urlencoded.
    HostSe la tua richiesta ThingHTTP richiede un indirizzo host, inserisci il nome del dominio. Ad esempio, api.thingspeak.com.
    HeadersSe la tua richiesta ThingHTTP richiede intestazioni personalizzate, inserisci il nome dell'intestazione e un valore. Ad esempio, specificare un intervallo di byte utilizzando Range: bytes=500-999.
    Body

    Inserisci un messaggio che desideri includere nella tua richiesta.

    Puoi anche includere dati da inviare all'app ThingHTTP nella sezione body utilizzando le chiavi sostitutive. Per un esempio, vedere Passa i dati con il trigger ThingHTTP.

    Parse String

    Inserisci un'etichetta da cercare nei dati di risposta. Puoi utilizzare un ID univoco o XPATH per analizzare dati specifici da HTML. Se i dati restituiti sono un oggetto JSON, puoi utilizzare la notazione punto JSON per analizzare i dati di risposta per un valore specifico. Vedi Analizza stringa per ulteriori informazioni.

  3. Salva la richiesta. Il tuo ThingHTTP è disponibile per un uso futuro facendo clic su Apps e scegliendo ThingHTTP.

Attiva ThingHTTP

Attiva il tuo ThingHTTP utilizzando una richiesta GET o POST HTTP, TweetControl, TimeControl o React. Utilizza una richiesta POST se includi dati o utilizzi chiavi sostitutive personalizzate. Le richieste attivate da POST, TimeControl o React possono passare determinate variabili a ThingHTTP. Per ulteriori informazioni, vedere Passa i dati con il trigger ThingHTTP. Ad esempio, se usi TimeControl per attivare il tuo ThingHTTP, puoi passare il tempo in cui è stato attivato. Questa tabella fornisce parametri di input e output e una chiamata di esempio per l'utilizzo di una richiesta HTTP per attivare un ThingHTTP.

Nota

L'attivazione di ThingHTTP più di una volta al secondo genera un codice di stato HTTP 429. Il codice di stato continua finché non riduci la velocità al di sotto di una richiesta al secondo.

Attiva ThingHTTP con richiesta HTTP

TitoloRichiesta HTTP POST per attivare ThingHTTP
URLhttps://api.thingspeak.com/apps/thinghttp/send_request
Metodo HTTPPOST
Intestazione HTTPContent-Type: application/x-www-form-urlencodedX-THINGSPEAKAPIKEY = XXXXXXXXXXXXXXX
Parametri datiapi_key=XXXXXXXXXXXXXXX
Risposta di successo200 OK and HTTP, JSON, or text, depending on the ThingHTTP
Risposte agli errori400 Invalid API key0 Minimum wait time not reached-1 Request failed
Esempio di chiamata HTTPPOST /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
"Appunti"La chiave API ThingHTTP deve essere visualizzata nell'intestazione HTTP o nella sezione del corpo oppure può essere visualizzata in entrambe. Se non stai passando dati a ThingHTTP, puoi utilizzare una richiesta GET per attivare ThingHTTP: GET https://api.thingspeak.com/apps/thinghttp/send_request?api_key=XXXXXXXXXXXXXXX.

ThingHTTP restituisce il risultato della richiesta HTTP.

Passa i dati con il trigger ThingHTTP

È possibile inviare dati a ThingHTTP utilizzando chiavi sostitutive, incluse le chiavi entro i segni del due %. Puoi includere una chiave sostitutiva in qualsiasi sezione disponibile del tuo ThingHTTP. Ad esempio, puoi includere un tag nel corpo ThingHTTP e passare i dati utilizzando il POST che attiva la richiesta ThingHTTP. Questo esempio mostra come utilizzare una richiesta ThingHTTP per pubblicare un messaggio su un canale ThingSpeak . Crea il tuo ThingHTTP e utilizza la chiave sostitutiva personalizzata %%message%% nel corpo.

Quando includi un messaggio in un POST che attiva il tuo ThingHTTP, il POST HTTP attiva il tuo ThingHTTP, sostituisce %%message%% con '1234' e aggiorna il canale su ThingSpeak. I parametri del corpo per ThingHTTP sono diversi dai parametri del corpo per la richiesta di trigger HTTP. I parametri della richiesta trigger HTTP sono mostrati nella tabella seguente.

TitoloRichiesta HTTP POST per attivare ThingHTTP
URLhttps://api.thingspeak.com/apps/thinghttp/send_request
Metodo HTTPPOST
Intestazione HTTPContent-Type: application/x-www-form-urlencodedX-THINGSPEAKAPIKEY=XXXXXXXXXXXXXXX
Parametri datiapi_key=XXXXXXXXXXXXXXXmessage=1234
Risposta di successo200 OK e HTTP, JSON o testo, a seconda del ThingHTTP
Risposte agli errori400 Invalid API key0 Minimum wait time not reached-1 Request failed
Esempio di chiamata HTTPPOST /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
"Appunti"La chiave API ThingHTTP deve essere visualizzata nell'intestazione HTTP o nella sezione del corpo oppure può essere visualizzata in entrambe.

Richiesta POSTMAN usando la chiave sostitutiva

Puoi utilizzare POSTMAN per provare le tue richieste HTTP utilizzando l'API RESTful per ThingSpeak. Di seguito viene illustrato come testare ThingHTTP con chiavi sostitutive utilizzando POSTMAN.

  1. Seleziona POST e inserisci l'URL della richiesta.

  2. Seleziona Body nella sezione di autorizzazione.

  3. Scegli x-www-form-urlencoded.

  4. Inserisci api_key e copia la chiave API ThingHTTP nella sezione value .

  5. Inserisci message e il testo del messaggio nella sezione value .

Chiavi sostitutive

Puoi trasmettere dati alle tue app utilizzando chiavi sostitutive. La tabella seguente riepiloga le chiavi sostitutive standard e personalizzate che è possibile utilizzare. Alcune chiavi sono specifiche per un particolare tipo di richiesta, come indicato nell'ultima colonna.

ChiaveDescrizioneEsempioUsa con
%%YOUR_CUSTOM_LABEL%%ThingHTTP sostituisce questo valore di sostituzione personalizzato con i dati nella richiesta di trigger che hanno l'etichetta "YOUR_CUSTOM_LABEL".field1=%%YOUR_CUSTOM_LABEL%% Dati POST: YOUR_CUSTOM_LABEL=1234.RISULTATO: field1=1234.Qualunque richiesta
%%channel_CHANNEL_ID_field_FIELD_NUMBER%%L'ultimo valore del canale e del campo specificati. Le richieste di sostituzione verso canali privati ​​non di proprietà dello stesso utente della richiesta ThingHTTP restituiscono valori vuoti.The latest value is %%channel_12_field_1%%.RISULTATO: The latest value is 2.5.Qualunque richiesta
%%datetime%%La data e l'ora complete in cui è stato eseguito TimeControl o React.The date and time the event occurred is %%datetime%%.RISULTATO: The date and time the event occurred is 24-09-2014 17:32.TimeControl o React
%%day%%Il nome del giorno della settimana in cui è stato eseguito TimeControl.The day the event occurred is %%giorno%%.RISULTATO: The day the event occurred is Mercoledì.TimeControl
%%day_index%% L'indice in base zero del giorno feriale che inizia la domenica.The number of days used this week is %%day_index%%.RISULTATO: The number of days used this week is 3.TimeControl
%%hour%%L'ora del giorno in cui è stato eseguito TimeControl.The hour that the event occurred is %%ora%%.RISULTATO: The hour that the event occurred is 5.TimeControl
%%minute%%Il minuto dell'ora in cui è stato eseguito TimeControl.The minute the event occurred is %%minuto%%.RISULTATO: The minute the event occurred is 30.TimeControl
%%trigger%%Il valore che ha attivato React.It is way too hot in here at %%trigger%% C.RISULTATO: It is way too hot in here at 40 C.React
%%channel_id%%L'ID del canale che ha attivato React.The channel that tweets is %%channel_id%%.RISULTATO: The channel that tweets is 1256.React

Analizza stringa

ThingHTTP invia la risposta HTTP completa generata dalla richiesta, che può essere una pagina web, un testo o un oggetto JSON. Per estrarre un singolo elemento di dati dalla risposta, specifica Parse String nella tua richiesta ThingHTTP. ThingHTTP può analizzare i dati utilizzando l'ID tag univoco o i dati XPATH. Gli oggetti JSON possono essere analizzati per recuperare i componenti dell'oggetto.

XPath

È possibile utilizzare XML Path Language (XPath) per specificare un valore particolare su una pagina web. Specificare l'XPath di un elemento su una pagina Web da analizzare per quell'elemento specifico. Alcuni browser forniscono informazioni XPATH quando si fa clic sui dati nella vista di origine. Ad esempio, la pagina web www.localconditions.com/massachusetts/01750 fornisce la fase lunare per Natick, MA nell'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) è comunemente utilizzato per formattare i dati web. Se la tua richiesta restituisce un oggetto JSON, puoi utilizzare la notazione punto appropriata per recuperare il valore di interesse. ThingSpeak Channel 12397 fornisce informazioni meteorologiche dal parcheggio al MathWorks® a Natick. Utilizzando l'URL della richiesta https://api.thingspeak.com/channels/12397/feeds.json?results=1 restituisce un oggetto JSON, simile a quello mostrato qui. Utilizzare la stringa di analisi feeds[0].field2 per recuperare l'ultimo valore di Wind Speed, in questo caso il valore restituito è 5.0.

Ecco un esempio dell'oggetto JSON della stazione meteorologica restituito dal canale della stazione meteorologica MathWorks ThingSpeak .

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

Vedi anche

Funzioni

Siti web esterni