APIs para el Internet de las Cosas: ThingSpeak, Pachube y Fitbit
Cuando Marc Andreessen, uno de los grandes gurús de las inversiones de capital riesgo en startups, escribió ‘Why Software is Eating The World’ en The Wall Street Journal allá por agosto de 2011, seguramente ya tenía en mente lo que supondrían las APIs (interfaces de programación de aplicaciones) para el desarrollo del software y los nuevos modelos de negocio. Se puede decir que las APIs se están comiendo el mundo y un ejemplo es su influencia en el Internet de las Cosas (IoT en sus siglas en inglés).
Son estas APIs las que permiten a los desarrolladores conectarnos al mundo de los objetos y relacionar entre sí los dispositivos que nos rodean: ‘enchufar’ nuestro cuerpo a medidores de constantes vitales, domotizar nuestra casa, convertir nuestro vehículo casi en un ser vivo… Las APIs se han convertido en la sangre del softwarey el llamado Internet de las Cosas no existiría sin ellas. Las APIs incorporan y trabajan con los datos que facilitan la conexión entre objetos.
Hoy en día la mayoría de soluciones del Internet de las Cosas se mueve alrededor de cuatro pilares básicos que son movilidad, economía social, análisis de grandes volúmenes de datos y la nube. Según un estudio de Cisco, el mercado global estimado en torno al IoT se elevará hasta los 14,4 trillones de dólares en 2022, una cifra que no ha dejado de crecer en los últimos años. Por tanto, hay negocio para los desarrolladores y las APIs son una de las grandes claves.
Aquí vamos a tratar de analizar tres APIs del Internet de las Cosas entre todo un listado enorme de interfaces que ya operan en este mercado en expansión:
La API de ThingSpeak siempre trabaja con datos, esa es su gran especialidad. Es una API abierta para el Internet de las Cosas que permite recopilar, almacenar, analizar, visualizar y actuar sobre la información recogida en sensores y dispositivos como aplicaciones web y móviles, redes sociales como Twitter, soluciones de mensajería, VoIP y nube como Twilio, hardware de código abierto como Arduino, Raspberry Pi o BeagleBone (los reyes del Internet de las Cosas y la robótica) o con lenguajes de cálculo computacional como MATLAB… ThingSpeak es una API conocida entre los desarrolladores y dispone ya de una gran comunidad.
Al final, la ruta del proyecto con la API será parecida a lo siguiente, sustituyendo los campos CHANNEL_ID y FIELD_ID por los datos del canal recién abierto.
La API de Pachube permite almacenar, compartir y analizar en tiempo real los datos de energía o medioambientales recogidos por sensores en edificios y otros dispositivos. Toda la funcionalidad del sistema de Pachube viene dada por la API, que es la que facilita que la información generada por edificios, contadores de energía o dispositivos móviles con sensores sea recogida y analizada y que todos esos objetos estén conectados entre sí. Es el verdadero Internet de las Cosas.
La API de Pachube funciona en el entorno EEML (Extended Markup Language Environments), un protocolo para el intercambio de datos de sensores en ambientes a distancia, ya sean físicos o también virtuales (un ejemplo típico es la conexión con objetos de Second Life). Que exista un protocolo universal es lo que posibilita que las personas puedan compartir con la comunidad millones de datos en tiempo real de objetos, dispositivos o espacios de todo el mundo.
Los pasos a seguir para comenzar a trabajar con Pachube son bastante sencillos:
● Agregar un dispositivo: el desarrollador da un nombre, una descripción y permisos de privacidad al dispositivo que quiere agregar y automáticamente se le asigna un ID y la clave de la API necesaria para conectar ese terminal.
● Conectar el dispositivo: es necesario copiar el ID y la clave de la API en el código del objeto para establecer una relación bidireccional entre ambos. Se pueden conectar dispositivos, pero también apps o servicios. Para realizar esa conexión, aquí hay todo tipo de librerías para dispositivos Android, objetos programados en Java, C, Objective-C, Python, PHP, Ruby y JavaScript, y tutoriales para hardware abierto como Arduino o Raspberry Pi.
● Prueba de funcionamiento: una vez agregado y conectado, el desarrollador puede empezar a ver valores de datos actualizados en tiempo real en su canal y depurar las alteraciones irregulares que vea en esa información.
La API de Fitbit facilita a los desarrolladores el trabajo de interacción con los datos que son recogidos por cualquiera de los productos de Fitbit, ya sea una aplicación, un dispositivo o un servicio. Hoy en día, la API de Fitbit soporta la mayoría de lenguajes de lectura y escritura de información, pero ellos ofrecen una comunidad para desarrolladores donde es posible hacer sugerencias y evolucionar la API.
La API de Fitbit lo que permite en última instancia es que cualquier persona pueda desarrollar una aplicación para acceder y manipular datos recogidos por un dispositivo Fitbit, siempre y cuando cumpla dos requisitos obvios: deben ser datos relacionados con un usuario que sea él y no otra persona y cumplir con las condiciones de uso que establece la documentación de la propia API.
¿Cómo se puede empezar a probar y trabajar con la API de Fitbit?
● Registro de la aplicación: el registro de la app permite obtener credenciales de cliente de la API. Para hacerlo es necesario disponer primero de una cuenta en el servicio de Fitbit (su apertura es totalmente gratuita).
● El acceso a los datos de usuario se hace a través de autenticación OAuth. Las solicitudes a la API de Fitbit para leer y escribir datos de usuarios se hacen a través de este explorador de la API. Es posible también suscribirse a la API para tener la actualización de los datos en tiempo real (se hace así).
● El desarrollador debe escoger alguna librería OAuth 2.0 que opere con el lenguaje de programación y marco de desarrollo utilizado para el flujo de datos. Sin esa librería no se puede crear el protocolo de autorización.
● Las peticiones a la API necesitan de credenciales de usuario autorizado.
Si te interesa el mundo de las APIs, puedes descubrir más sobre las APIs de BBVA aquí.
Banco Bilbao Vizcaya Argentaria, S.A. titular de este portal utiliza cookies y/o tecnologías similares propias y de terceros para fines técnicos, de personalización, analíticos, de publicidad comportamental o publicidad relacionada con tus preferencias sobre la base de un perfil elaborado a partir de tus hábitos de navegación (por ejemplo, páginas visitadas). Si deseas obtener información más detallada, consulta nuestra Política de Cookies.
Panel de configuración de cookies
Este es el configurador avanzado de cookies propias y de terceros. Aquí puedes modificar parámetros que afectarán directamente a tu experiencia de navegación en esta web.
Cookies técnicas (necesarias)
Estas cookies son importantes para darte acceso seguro a zonas con información personal o para reconocerte cuando inicias sesión.
Denominación
Titular
Duración
Finalidad
gobp.lang
BBVA
1 mes
Preferencia de idioma
aceptarCookies
BBVA
1 año
Configuración Cookies aceptadas
_abck
BBVA
1 año
Ayuda a protegerse contra los ataques de sitios web maliciosos
bm_sz
BBVA
4 horas
Ayuda a protegerse contra los ataques de sitios web maliciosos
ADRUM_BTs
Salesforce Marketing Cloud
Sesión
Requerido para la supervisión del servicio, inherente al SFMC
ADRUM_BT1
Salesforce Marketing Cloud
Sesión
Requerido para la supervisión del servicio, inherente al SFMC
ADRUM_BTa
Salesforce Marketing Cloud
Sesión
Requerido para la supervisión del servicio, inherente al SFMC
ADRUM_BT
Salesforce Marketing Cloud
Sesión
Requerido para la supervisión del servicio, inherente al SFMC
xt_0d95e
Salesforce Marketing Cloud
Sesión
Recordar las preferencias del usuario (si las hay)
__s9744cdb192d044faa1bf201d29fafd1e
Salesforce Marketing Cloud
Sesión
Recordar las preferencias del usuario (si las hay)
wpml_browser_redirect_test
WPML
Sesión
Traducción de textos del portal
wp-wpml_current_language
WPML
24 horas
Traducción de textos del portal
Cookies de Analítica
Permiten medir, de forma anónima, el número de visitas o la actividad. Gracias a ellas podemos mejorar constantemente tu experiencia de navegación.
Dispones de una mejora continua en la experiencia de navegación.
Con tu selección no podemos ofrecerte una mejora continua en la experiencia de navegación.
Denominación
Titular
Duración
Finalidad
AMCV_***
Adobe Analytics
Sesión
ID de visitante único que se usan en las soluciones de Marketing Cloud
AMCVS_***
Adobe Analytics
2 años
ID de visitante único que se usan en las soluciones de Marketing Cloud
demdex (safari)
Adobe Analytics
180 días
Crear y almacenar identificadores únicos y persistentes
sessionID
Adobe Analytics
Sesión
Cookie interna de Launch usada para identificar al usuario
gpv_URL
Adobe Analytics
Sesión
plugin Adobe Analytics: getPreviousValue Capturar el valor de una determinada variable en la siguiente vista de página, en este caso la prop1
gpv_level1
Adobe Analytics
Sesión
Cookie utilizada para almacenar el levl1 del DataLayer de la página anterior.
gpv_pageIntent
Adobe Analytics
Sesión
Cookie utilizada para almacenar el pageIntent de la página anterior.
gpv_pageName
Adobe Analytics
Sesión
Cookie utilizada para almacenar el pagename de la página anterior.
aocs
Adobe Analytics
Sesión
Cookie que almacena los primeros valores recogidos al inicio de un proceso.
TTC
Adobe Analytics
Sesión
Cookie usada para almacenar el tiempo transcurrido entre el evento App Page Visit y App Completed.
TTCL
Adobe Analytics
Sesión
Cookie usada para almacenar el tiempo transcurrido entre el evento LogIn y App Completed.
s_cc
Adobe Analytics
Sesión
Determinar si las cookies están activas
s_hc
Adobe Analytics
Sesión
Cookie usada por Adobe con propositos de analítica.
s_ht
Adobe Analytics
Sesión
Cookie usada por Adobe con propositos de analítica.
s_nr
Adobe Analytics
2 años
Determinar el número de visitas de usuario
s_ppv
Adobe Analytics
Persistente
plugin Adobe Analytics: getPercentPageViewed Determinar el procentaje de página que visualiza un usuario
s_sq
Adobe Analytics
Sesión
Funcionalidades ClickMap/ActivityMap
s_tp
Adobe Analytics
Sesión
Cookie usada por Adobe con propositos de analítica.
s_visit
Adobe Analytics
2 años
Cookie usada por Adobe para saber cunado una sesión se ha iniciado.
Cookies de Publicidad
Permiten que la publicidad que te mostramos sea personalizada y relevante para ti. Gracias a estas cookies no verás anuncios que no te interesen.
Dispones de una publicidad adaptada a ti y a tus preferencias.
Con tu selección pierdes la personalización de la publicidad, solo verás anuncios genéricos.
Denominación
Titular
Duración
Finalidad
OT2
VersaTag
90 días
Cookie de VersaTag usada para almacenar un id de usuario y el numero de visitas del usuario.
u2
VersaTag
90 días
Cookie de VersaTag en la que se almacena el ID del usuario
TargetingInfo 2
MediaMind
1 año
Cookie que sirve para asignar un número unico random que genera MediaMind.
Cookies de Personalización
Estas cookies están relacionadas con características generales como, por ejemplo, el navegador que utilizas.
Dispones de una experiencia y contenidos personalizados.
Con tu selección no podemos ofrecerte una navegación y contenidos personalizados.
Denominación
Titular
Duración
Finalidad
mbox
Adobe Target
9 días
Cookie usada por Adobe Target para hacer test de personalizacion de experencia del usuario.
Parece que estás navegando desde MéxicoEspañaArgentinaPerúColombiaBélgicaChileEEUUFranciaHong KongItaliaPortugalReino UnidoTurquíaUruguayVenezuelaAlemania, así que vamos a mostrarte el contenido personalizado para tu localización. Cambiar
Selecciona el país
Para poder acceder al área privada y sandbox correspondiente, selecciona el país de las APIs que quieres utilizar.
Preferencias de Navegación
Elige el país del que quieres que te mostremos su contenido por defecto.