Main Content

Esta página se ha traducido mediante traducción automática. Haga clic aquí para ver la versión original en inglés.

Aplicación ThingHTTP

ThingHTTP permite la comunicación entre dispositivos, sitios web y servicios web sin tener que implementar el protocolo a nivel de dispositivo. Usted especifica acciones en ThingHTTP, que activa usando otros ThingSpeak™ aplicaciones como TweetControl, TimeControl y React.

Crear una solicitud ThingHTTP

  1. Cree una nueva solicitud ThingHTTP. Hacer clic Apps > ThingHTTP y luego haga clic en New ThingHTTP.

  2. Especifique la configuración. No todos los ajustes son necesarios para cada tipo de solicitud. Los siguientes parámetros son necesarios para todas las solicitudes de ThingHTTP.

    Parámetro requeridoDescripción
    NameIngrese un nombre único para su solicitud ThingHTTP.
    API KeyClave API generada automáticamente para la solicitud ThingHTTP.
    URLIngrese la dirección del sitio web o del servicio web del que está solicitando datos, comenzando con https://. (Tenga en cuenta que http:// se admite, pero se desaconseja enfáticamente).
    Method

    Seleccione uno de los siguientes métodos HTTP necesarios para acceder a la URL: GET, POST, PUT o DELETE.

    HTTP VersionEspecifique 1.1 a menos que su servidor indique lo contrario.

    Dependiendo de la naturaleza de la solicitud que esté realizando, puede especificar parámetros adicionales. Por ejemplo, el nombre de usuario y la contraseña son necesarios para una solicitud de ThingHTTP a un servidor que requiere autenticación.

    Parámetro opcionalDescripción
    HTTP Auth UsernameSi su URL requiere autenticación, ingrese el nombre de usuario para la autenticación para acceder a canales o sitios web privados.
    HTTP Auth PasswordSi su URL requiere autenticación, ingrese la contraseña de autenticación para acceder a canales o sitios web privados.
    Content TypeIngrese el MIME o el tipo de formulario del contenido de la solicitud. Por ejemplo, application/x-www-form-urlencoded.
    HostSi su solicitud ThingHTTP requiere una dirección de host, ingrese el nombre de dominio. Por ejemplo, api.thingspeak.com.
    HeadersSi su solicitud ThingHTTP requiere encabezados personalizados, ingrese el nombre del encabezado y un valor. Por ejemplo, especifique un rango de bytes usando Range: bytes=500-999.
    Body

    Introduzca un mensaje que desee incluir en su solicitud.


    También puede incluir datos para enviar a la aplicación ThingHTTP en la sección del cuerpo usando claves de reemplazo. Para ver un ejemplo, véase Pasar datos con ThingHTTP Trigger.

    Parse String

    Introduzca una etiqueta para buscar en los datos de respuesta.
    Puede usar una ID única o XPATH para analizar datos específicos de HTML. Si los datos devueltos son un objeto JSON, puede usar la notación de puntos JSON para analizar los datos de respuesta en busca de un valor específico. Ver Analizar cadena para más información.

  3. Guarde la solicitud. Su ThingHTTP está disponible para uso futuro haciendo clic en Apps y eligiendo ThingHTTP.

Trigger ThingHTTP

Active su ThingHTTP mediante una solicitud GET o POST HTTP, TweetControl, TimeControl o React. Use una solicitud POST si incluye datos o usa claves de reemplazo personalizadas. Las solicitudes activadas por POST, TimeControl o React pueden pasar ciertas variables a ThingHTTP. Para obtener más información, consulte Pasar datos con ThingHTTP Trigger. Por ejemplo, si usa TimeControl para activar su ThingHTTP, puede pasar el tiempo en que se activó. Esta tabla proporciona parámetros de entrada y salida y una llamada de muestra para usar una solicitud HTTP para activar un ThingHTTP.

Nota

Activar ThingHTTP más de una vez por segundo da como resultado un código de estado HTTP 429. El código de estado continúa hasta que reduce la tasa por debajo de una solicitud por segundo.

Activar ThingHTTP con solicitud HTTP

TítuloSolicitud HTTP POST para activar ThingHTTP
URLhttps://api.thingspeak.com/apps/thinghttp/send_request
Método HTTPCORREO
Encabezado HTTP Content-Type: application/x-www-form-urlencoded
X-THINGSPEAKAPIKEY = XXXXXXXXXXXXXXX

Parámetros de datosapi_key=XXXXXXXXXXXXXXX
Respuesta de éxito200 OK
and HTTP, JSON, or text, depending on the ThingHTTP
Respuestas de error400 Invalid API key
0 Minimum wait time not reached
-1 Request failed
Ejemplo de llamada HTTPPOST /apps/thingtweet/1/statuses/update HTTP/1.1
Host: api.thingspeak.com
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

api_key=XXXXXXXXXXXXXXX
notasSu clave API ThingHTTP debe aparecer en el encabezado HTTP o en la sección del cuerpo, o puede aparecer en ambos.
Si no está pasando datos a ThingHTTP, puede usar una solicitud GET para activar ThingHTTP:
GET https://api.thingspeak.com/apps/thinghttp/send_request?api_key=XXXXXXXXXXXXXXX.

ThingHTTP devuelve el resultado de la solicitud HTTP.

Pasar datos con ThingHTTP Trigger

Puede enviar datos a ThingHTTP usando claves de reemplazo, incluidas las claves dentro de los signos del dos por ciento. Puede incluir una clave de reemplazo en cualquier sección disponible de su ThingHTTP. Por ejemplo, puede incluir una etiqueta en el cuerpo de ThingHTTP y pasar los datos mediante el POST que desencadena su solicitud de ThingHTTP. Este ejemplo muestra cómo utilizar una solicitud ThingHTTP para publicar un mensaje en un ThingSpeak Canal. Cree su ThingHTTP y use la clave de reemplazo personalizada %%message%% en el cuerpo.

Cuando incluye un mensaje en un POST que activa su ThingHTTP, HTTP POST activa su ThingHTTP, reemplaza %%message%% con '1234' y actualiza el canal en ThingSpeak. Los parámetros del cuerpo de su ThingHTTP son diferentes de los parámetros del cuerpo de la solicitud de activación HTTP. Los parámetros de la solicitud del disparador HTTP se muestran en la siguiente tabla.

TítuloSolicitud HTTP POST para activar ThingHTTP
URLhttps://api.thingspeak.com/apps/thinghttp/send_request
Método HTTPCORREO
Encabezado HTTP Content-Type: application/x-www-form-urlencoded
X-THINGSPEAKAPIKEY=XXXXXXXXXXXXXXX

Parámetros de datosapi_key=XXXXXXXXXXXXXXX
message=1234

Respuesta de éxito200 OK
y HTTP, JSON o texto, según su ThingHTTP
Respuestas de error400 Invalid API key
0 Minimum wait time not reached
-1 Request failed
Ejemplo de llamada HTTPPOST /apps/thingtweet/1/statuses/update HTTP/1.1
Host: api.thingspeak.com
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

api_key=XXXXXXXXXXXXXXX&message=1234
notasSu clave API ThingHTTP debe aparecer en el encabezado HTTP o en la sección del cuerpo, o puede aparecer en ambos.

Solicitud de POSTMAN utilizando la clave de reemplazo

Puedes usar POSTMAN para probar sus solicitudes HTTP utilizando la API RESTful para ThingSpeak. A continuación, se muestra cómo probar su ThingHTTP con claves de reemplazo mediante POSTMAN.

  1. Seleccione POST e ingrese la URL de la solicitud.

  2. Seleccione Body en la sección de autorización.

  3. Elegir x-www-form-urlencoded.

  4. Ingresar api_key y copie su clave de API ThingHTTP en el value sección.

  5. Ingresar message y el texto del mensaje en el value sección.

Llaves de reemplazo

Puede pasar datos a sus aplicaciones usando claves de reemplazo. La siguiente tabla resume las llaves de reemplazo estándar y personalizadas que puede usar. Algunas claves son específicas para un tipo particular de solicitud, como se indica en la última columna.

LlaveDescripciónEjemploUsar con
%%YOUR_CUSTOM_LABEL%%ThingHTTP reemplaza este valor de reemplazo personalizado con datos en la solicitud de activación que tiene la etiqueta "YOUR_CUSTOM_LABEL".field1=%%YOUR_CUSTOM_LABEL%%
Datos POST: YOUR_CUSTOM_LABEL=1234.
RESULTADO: field1=1234.
Cualquier solicitud
%%channel_CHANNEL_ID_
field_FIELD_NUMBER%%
El último valor del canal y el campo especificados. Las solicitudes de reemplazo a canales privados que no pertenecen al mismo usuario que la solicitud ThingHTTP devuelven valores en blanco.The latest value is %%canal_12_campo_1%%.
RESULTADO: The latest value is 2.5.
Cualquier solicitud
%%datetime%%La fecha y hora completas en que se ejecutó TimeControl o React.The date and time the event occurred is %%fecha y hora%%.
RESULTADO: The date and time the event occurred is 2014-09-24 17:32.
Control de tiempo o reaccionar
%%day%%El nombre del día de la semana cuando se ejecutó TimeControl.The day the event occurred is %%día%%.
RESULTADO: The day the event occurred is miércoles.
Control del tiempo
%%day_index%% El índice de base cero del día de la semana que comienza el domingo.The number of days used this week is %%día_índice%%.
RESULTADO: The number of days used this week is 3.
Control del tiempo
%%hour%%La hora del día en que se ejecutó TimeControl.The hour that the event occurred is %%hora%%.
RESULTADO: The hour that the event occurred is 5.
Control del tiempo
%%minute%%El minuto de la hora en que se ejecutó TimeControl.The minute the event occurred is %%minuto%%.
RESULTADO: The minute the event occurred is 30.
Control del tiempo
%%trigger%%El valor que activó React.It is way too hot in here at %%generar%% C.
RESULTADO: It is way too hot in here at 40 C.
Reaccionar
%%channel_id%%El ID del canal que activó React.The channel that tweets is %%Canal ID%%.
RESULTADO: The channel that tweets is 1256.
Reaccionar

Analizar cadena

ThingHTTP envía la respuesta HTTP completa generada por la solicitud, que puede ser una página web, texto u objeto JSON. Para extraer un único elemento de datos de la respuesta, especifique Analizar cadena en su solicitud ThingHTTP. ThingHTTP puede analizar datos usando ID de etiqueta única o datos XPATH. Los objetos JSON se pueden analizar para recuperar componentes del objeto.

XPath

Puede usar XML Path Language (XPath) para especificar un valor particular en una página web. Especifique el XPath de un elemento en una página web para analizar ese elemento específico. Algunos navegadores proporcionan información XPATH cuando hace clic en los datos en la vista de origen. Por ejemplo, la página web www.localconditions.com/massachusetts/01750 proporciona la fase lunar para Natick, MA en el XPATH
//*[@id="wrapper"]/div[3]/div/div[2]/div[1]/div[1]/div/div[2]/div[2]/p[5]/text().

JSON

JSON (Notación de objetos de JavaScript) se usa comúnmente para formatear datos web. Si su solicitud devuelve un objeto JSON, puede usar la notación de puntos adecuada para recuperar el valor de interés. ThingSpeak Channel 12397 brinda información meteorológica desde el estacionamiento en MathWorks® en Natick. Uso de la URL de solicitud https://api.thingspeak.com/channels/12397/feeds.json?results=1 devuelve un objeto JSON, similar al que se muestra aquí. Usar la cadena de análisis feeds[0].field2 para recuperar el último valor de la Wind Speed , en este caso el valor devuelto es 5.0.

Aquí hay una muestra del objeto JSON de la estación meteorológica que devolvió el MathWorks Canal de la estación meteorológica 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",
     ...    }  ]}

Consulte también

Funciones

Sitios web externos