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 otras aplicaciones ThingSpeak™ como TweetControl, TimeControl y React.

Crear una solicitud ThTP de cosa

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

  2. Especifique la configuración. No se requieren todas las configuraciones 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.
    URLIngresa la dirección del sitio web o servicio web del cual estás solicitando datos, comenzando con https://. (Tenga en cuenta que se admite http:// , pero no se recomienda).
    Method

    Seleccione uno de los siguientes métodos HTTP necesarios para acceder a la URL: OBTENER, PUBLICAR, PONER o ELIMINAR.

    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 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 tipo MIME o 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

    Ingrese el 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, consulte Pasar datos con ThingHTTP Trigger.

    Parse String

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

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

Desencadenar cosaHTTP

Active su ThingHTTP mediante una solicitud HTTP GET o POST, TweetControl, TimeControl o React. Utilice una solicitud POST si incluye datos o utiliza 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 la hora en que se activó. Esta tabla proporciona parámetros de entrada y salida y una llamada de ejemplo para usar una solicitud HTTP para activar 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 reduzca 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 HTTPContent-Type: application/x-www-form-urlencodedX-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 key0 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-cacheapi_key=XXXXXXXXXXXXXXX
NotasSu clave API de 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 utilizar 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 utilizando claves de reemplazo, incluidas claves con signos de 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 la POST que activa su solicitud de ThingHTTP. Este ejemplo muestra cómo utilizar una solicitud ThingHTTP para publicar un mensaje en un canal ThingSpeak . Cree su ThingHTTP y use la clave de reemplazo personalizada %%message%% en el cuerpo.

Cuando incluye un mensaje en una POST que activa su ThingHTTP, la POST HTTP 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 solicitud de activación 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 HTTPContent-Type: application/x-www-form-urlencodedX-THINGSPEAKAPIKEY=XXXXXXXXXXXXXXX
Parámetros de datosapi_key=XXXXXXXXXXXXXXXmessage=1234
Respuesta de éxito200 OK y HTTP, JSON o texto, según su ThingHTTP
Respuestas de error400 Invalid API key0 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-cacheapi_key=XXXXXXXXXXXXXXX&message=1234
NotasSu clave API de ThingHTTP debe aparecer en el encabezado HTTP o en la sección del cuerpo, o puede aparecer en ambos.

Solicitud de CARTERO usando clave de reemplazo

Puede utilizar 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 usando POSTMAN.

  1. Seleccione POST e ingrese la URL de solicitud.

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

  3. Elija x-www-form-urlencoded.

  4. Ingrese api_key y copie su clave API ThingHTTP en la sección value .

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

Llaves de repuesto

Puede pasar datos a sus aplicaciones utilizando claves de reemplazo. La siguiente tabla resume las claves de reemplazo estándar y personalizadas que puede utilizar. 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 postales: YOUR_CUSTOM_LABEL=1234.RESULTADO: field1=1234.Cualquier solicitud
%%channel_CHANNEL_ID_field_FIELD_NUMBER%%El último valor del canal y 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 %%channel_12_field_1%%.RESULTADO: The latest value is 2.5.Cualquier solicitud
%%datetime%%La fecha y hora completas en las que se ejecutó TimeControl o React.The date and time the event occurred is %%fechahora%%.RESULTADO: The date and time the event occurred is 24-09-2014 17:32.Controlar el tiempo o reaccionar
%%day%%El nombre del día de la semana en el que 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 laborable que comienza el domingo.The number of days used this week is %%day_index%%.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 desencadenó React.It is way too hot in here at %%trigger%% 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 %%channel_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 Parse String en su solicitud ThingHTTP. ThingHTTP puede analizar datos utilizando una ID de etiqueta única o datos XPATH. Los objetos JSON se pueden analizar para recuperar componentes del objeto.

XPath

Puede utilizar 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 de 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 JavaScript) se usa comúnmente para formatear datos web. Si su solicitud devuelve un objeto JSON, puede utilizar la notación de puntos adecuada para recuperar el valor de interés. ThingSpeak Channel 12397 proporciona información meteorológica desde el estacionamiento en MathWorks® en Natick. Usando la URL de solicitud https://api.thingspeak.com/channels/12397/feeds.json?results=1 se devuelve un objeto JSON, similar al que se muestra aquí. Utilice la cadena de análisis feeds[0].field2 para recuperar el último valor de Wind Speed, en este caso el valor devuelto es 5,0.

A continuación se muestra una muestra del objeto JSON de la estación meteorológica devuelto por el canal de la estación meteorológica 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",
     ...    }  ]}

Consulte también

Funciones

Sitios web externos