- ¿Qué es una API y para qué sirve?
- 1. API REST de OpenHAB
- 2. API de Mozilla Web Things
- 3. OpenWeatherMap
- 4. API de EmonCMS
- 6. API de Adafruit IO
- 7. API de Home Assistant
- 8. Las API de Things Network
- 9. API REST de ThingSpeak.io
- 10. Fundición EdgeX
En el mundo conectado de hoy, Internet of Thins (IoT) ya no es una palabra de moda que usan los expertos. ¡¡Es real!! Y se puede encontrar a nuestro alrededor, cambiando vidas, facilitando mejores servicios, mejorando procesos, brindando nuevas oportunidades y aumentando los ingresos.
Con miles de millones de nuevos dispositivos que aún no se han conectado a Internet, el impacto de IoT definitivamente se verá impulsado más allá de los propios dispositivos de IoT a otras aplicaciones al aprovechar los datos proporcionados por estos dispositivos para lograr crecimientos sociales y comerciales. Esto ya está sucediendo, ya que la mayoría de las organizaciones de hoy que no tienen implementadas soluciones de IoT, aún pueden aprovechar los beneficios al obtener acceso a los datos generados por los dispositivos implementados por otras personas mediante el uso de sus API.
¿Qué es una API y para qué sirve?
El acrónimo API significa Interfaz de programación de aplicaciones, estas no son nuevas y se limitan a IoT, se han utilizado en el desarrollo de software durante mucho tiempo. Las API facilitan la integración fácil de diferentes servicios en productos, lo que permite que las aplicaciones escritas en un idioma sean utilizadas por software escrito en otro idioma, lo que ayuda a reducir la infraestructura general y los requisitos de tiempo para el desarrollo de productos. Estas mismas ventajas se están transfiriendo actualmente a aplicaciones de IoT con API que se utilizan en diversas aplicaciones para exponer datos que permiten combinar y conectar múltiples dispositivos para resolver flujos de trabajo nuevos e interesantes, revelando posibilidades invisibles en torno a IoT.
Al suscribirse a nuevos servicios (por ejemplo, Spotify), normalmente nos habríamos encontrado con opciones como "Iniciar sesión con Gmail" o "Iniciar sesión con Facebook". Estas no son más que API proporcionadas por Google / Facebook a Spotify para facilitar el proceso de registro. Aquí, la API compartirá detalles básicos del usuario como nombre, ID de correo electrónico, número de teléfono, etc. con Spotify y lo ayudará a ahorrar tiempo con el procedimiento de registro. Asimismo, hay diferentes API disponibles para diferentes necesidades de aplicaciones.
Al igual que con el software, hay varias API de IoT disponibles para diferentes tareas, pero la mayoría de ellas generalmente no son gratuitas. Para el tutorial de hoy, analizaremos las 10 API principales de IoT de código abierto, muy útiles (en nuestra opinión) para ayudarlo a reducir el costo y el tiempo de desarrollo. Estas API son abiertas, gratuitas (o tienen paquetes gratuitos) y pueden ser utilizadas no solo por profesionales, sino también por creadores, aficionados y prácticamente cualquier persona que las encuentre útiles y esté de acuerdo con los términos de uso. Estas API se enumeran sin ningún orden en particular, se seleccionaron al azar entre verticales y probablemente no sean comparables ya que realizan diferentes tareas.
1. API REST de OpenHAB
Open Home Automation Bus (openHAB) es una plataforma de automatización del hogar de código abierto, agnóstica en tecnología, que ayuda a conectar y controlar dispositivos inteligentes y dispositivos domésticos “no tan inteligentes” en un solo lugar. Permite la realización de acciones definidas por el usuario por dispositivos, utilizando información definida por el usuario y herramientas definidas por el usuario. Para lograr esto, openHAB segmenta y compartimenta ciertas funciones y operaciones a las cuales se puede acceder a través de la API REST de openHAB.
A través de la API REST de openHAB, los usuarios pueden acceder a los datos de todos los dispositivos asociados con la plataforma, los propios dispositivos (cosas) y Bindings, así como emitir comandos y acciones para cambiar el estado, comportamiento o propiedades de los dispositivos conectados a openHAB.. La interacción con la API se basa en el protocolo; como tal, es importante garantizar conexiones seguras y seguras al trabajar con él. Según el sitio web de openHAB, algunas de las posibles interacciones a través de la API REST de openHAB incluyen;
- Recuperar datos de openHAB de aplicaciones externas
- Inyecte datos y active eventos en openHAB desde aplicaciones externas (por ejemplo, algunos detectores de movimiento o cámaras de vigilancia)
- Inspeccione enlaces / cosas o elementos de openHAB, aprenda sobre estados, parámetros o problemas actuales
- Interactuar con openHAB desde otros programas; muchos lenguajes de programación y herramientas de automatización pueden hacer uso fácilmente de la API REST
- Usar software de terceros en teléfonos celulares, como Tasker, para abrir la puerta de su garaje
Puede encontrar documentación, más ejemplos e instrucciones detalladas sobre el uso de la API en el sitio web de OpenHAB.
Las aplicaciones de terceros como Tasker que se utilizan con openHAB son un gran indicador de cómo las API están abriendo la economía de IoT, brindando oportunidades para la creación de valor adicional a lo largo de la cadena.
2. API de Mozilla Web Things
Mozilla es una organización sin fines de lucro con la misión de defender la web libre y abierta y la API de cosas web representa sus esfuerzos para extender su participación en la web a IoT. Según el sitio web de Web Things, la API de Web Things permite a los usuarios proporcionar URL únicas a todos los dispositivos conectados en la World Wide Web, lo que permite que se utilice como una capa de aplicación unificadora para todos los dispositivos de IoT.
La API de Web Things, como la mayoría de las demás API de IoT, se basa en REST y permite a los usuarios; acceder a las propiedades de los dispositivos, determinar el estado actual de cada dispositivo y emitir comandos para cambiar el estado del dispositivo o realizar acciones. La API de WebThings facilita el acceso a los recursos, que representan cada aspecto de un dispositivo, ya que se hace referencia a cada recurso de forma independiente mediante una URL. Puede encontrar más información en el sitio web de Mozilla IoT.
3. OpenWeatherMap
OpenWeatherMap es un servicio web que brinda acceso a datos relacionados con el clima (temperatura, humedad, lluvia, etc.), incluido el clima actual, pronósticos y datos históricos a los desarrolladores de servicios web, aplicaciones móviles y, más recientemente, de IoT. Los datos disponibles a través de OpenWeatherMap provienen de fuentes que van desde estaciones meteorológicas de bricolaje hasta servicios de transmisión meteorológica, estaciones meteorológicas de aeropuertos y varias otras fuentes. Ya hemos discutido cómo usar Openweather Map con Arduino para leer datos meteorológicos de Internet usando ESP8266.
Los datos se procesan y clasifican de tal manera que a través de la API de OpenWeatherMap, se pueden construir soluciones de IoT que aprovechan estos datos para informar y automatizar tareas. Por ejemplo, los datos de pronóstico a través de la API pueden introducirse en un sistema / dispositivo de alarma para advertir a los agricultores de posibles lluvias torrenciales, entre otras posibilidades.
Si bien la mayoría de las características de OpenWeatherMap se pagan, el paquete gratuito tiene características inmensamente útiles que pueden servir bastante bien a la mayoría de los proyectos de IoT. La documentación y otros detalles sobre la API se pueden encontrar en el sitio web de openWeatherMap.
4. API de EmonCMS
EmonCMS es una poderosa aplicación web de código abierto para procesar, registrar y visualizar datos. Es un producto de los esfuerzos del grupo OpenEnergyMonitor para, como su nombre lo indica, facilitar los dispositivos de monitoreo de energía de código abierto mediante el análisis de datos ambientales. Es esencialmente una herramienta de visualización de datos donde los datos de varios monitoreos de energíalos sensores se pueden ver. Para facilitar a los desarrolladores el acceso a la plataforma, se creó una API de conectividad para permitir la interacción con la plataforma cuando se ejecuta en localhost (LAN) o a través de Internet. La API de EmonCMS permite a los usuarios actualizar el estado de los dispositivos de energía en la plataforma, obtener lecturas y otros parámetros que indican el estado de los dispositivos (si el dispositivo es compatible) de la plataforma junto con varias otras características.
¿Desea agregar algo de visualización de datos a su próxima solución de IoT basada en energía? El EmonCMS puede ser justo lo que necesita. Puede encontrar más información sobre la plataforma y la API en su sitio web.
5. API de partículas
Particle API es la interfaz de programación de aplicaciones desarrollada por Particle para permitir a los desarrolladores trabajar fácilmente con su plataforma. Particle.IO es uno de los verdaderos proveedores de soluciones de IoT de extremo a extremo de la industria, que proporciona hardware de dispositivo, comunicación celular, nube de dispositivos e interfaces de aplicaciones. Anteriormente, hemos utilizado Particle Cloud con Raspberry Pi para fines de automatización del hogar.
La API de Particle facilita a los desarrolladores el acceso e integración de la funcionalidad completa de Particle con otras aplicaciones y dispositivos. Según la partícula, la API permite a los desarrolladores escribir funciones en el firmware de su dispositivo y luego llamarlas para usarlas en el lado de la aplicación en tiempo real. Algunos métodos de API de ejemplo incluyen apagar y encender el wifi, conectar dispositivos, alternar el estado de los dispositivos, obtener datos y, en general, administrar los dispositivos.
La documentación y otros detalles sobre la API se pueden encontrar en el sitio web de ParticleIO.
6. API de Adafruit IO
Adafruit es una de las marcas más populares en el mundo de la electrónica de bricolaje y su decisión de lanzar la plataforma Adafruit IO para soluciones de IoT fue bien recibida por la comunidad de fabricantes y aficionados a la electrónica. La plataforma ha seguido creciendo desde entonces y ha servido a un buen número de fabricantes, incluido yo. La plataforma Adafruit IO es esencialmente una nube de dispositivos con funciones de visualización de datos, entre otras, impulsadas por la API Adafruit IO. Ya hemos utilizado Adafruit IO con PIC y también otras plataformas de desarrollo como ESP y Raspberry Pi.
Según Adafruit, la API HTTP de Adafruit IO proporciona a los usuarios acceso a sus datos de IO de Adafruit desde cualquier lenguaje de programación o entorno de hardware que pueda hablar HTTP. A través de esto, pueden diseñar sistemas que actúen en función de los datos y realicen cambios en el dispositivo enviando información a los dispositivos.
La plataforma Adafruit IO es una de las plataformas más fáciles de trabajar y es una de mis favoritas para proyectos de IoT de bricolaje. La documentación y más detalles se pueden encontrar en el sitio web de Adafruit IO.
7. API de Home Assistant
Home Assistant es un sistema domótico de código abierto dirigido por la comunidad similar a openHAB. Al igual que otras plataformas, Home Assistant funciona con la API REST de Python de Home Assistant, que proporciona acceso a métodos de datos para el servicio de control de Home Assistant.
Permite a los usuarios editar la configuración, devolver información básica sobre la instancia de Home Assistant, devolver todos los datos necesarios para arrancar, devolver una serie de objetos de eventos y más. La API acepta y devuelve solo objetos codificados en JSON que contienen el nombre del evento, el número de oyentes y más. Está basado en Python 3 y ayuda a rastrear y controlar sin esfuerzo todos los dispositivos domésticos registrados, independientemente de si el registro se realizó a través de la web o la aplicación móvil. Puede encontrar documentación y más detalles sobre la API en el sitio web de Home Assistant.
8. Las API de Things Network
LoRa se está convirtiendo en uno de los canales de comunicación de elección debido a su largo alcance, bajo consumo de energía, entre otras características. The Things Network (TTN) es un esfuerzo de código abierto impulsado por la comunidad para construir una red LoRaWAN abierta global para crear una infraestructura abierta que facilite el desarrollo de soluciones IoT basadas en LoRa. Como tal, TTN proporciona un conjunto de herramientas abiertas y una red abierta global que ofrece máxima seguridad y escalabilidad. Si es nuevo en Lora, lea el artículo detallado sobre Introducción a LoRa y LoRaWAN.
La interacción con la plataforma TTN está impulsada por dos API principales; TTN Data API y TTN Application Manager API. La API de datos le permite recibir eventos y mensajes de dispositivos, así como enviar mensajes a dispositivos, generalmente, intercambiar información con dispositivos. La API de Application Manager, por otro lado, se utiliza para administrar aplicaciones, puertas de enlace y dispositivos. La API de datos se basa en el protocolo MQTT y se puede utilizar para el desarrollo a través del SDK o directamente con MQTT, mientras que la API del administrador de aplicaciones se basa en el protocolo HTTP. Puede encontrar más información sobre estas API en el sitio web de The Things Network.
9. API REST de ThingSpeak.io
ThingSpeak está considerado como una de las plataformas en la nube de código abierto más importantes para dispositivos IoT. Es una de las mejores plataformas para procesar datos de dispositivos, especialmente debido a su integración con MATLAB después de haber sido adquirida por Mathworks hace algunos años. Permite a los usuarios cargar, agregar, analizar y visualizar datos usando MATLABsin la necesidad de adquirir el software MATLAB por separado. Todo lo anterior se facilita mediante el uso de la API ThingSpeak. Al igual que la mayoría de las otras API mencionadas anteriormente, la API ThingSpeak permite a los usuarios; recopila y almacena datos de sensores, recupera datos y el estado actual de los dispositivos conectados, automatiza eventos basados en datos, configura los activadores basados en el estado de los dispositivos IoT e integra plataformas de redes sociales como Twitter, entre otras funciones. Para obtener más información sobre ThingSpeak, consulte proyectos anteriores de IoT en los que ThingSpeak se ha utilizado con muchos microcontroladores diferentes como Arduino, Raspberry PI, ESP, etc.
- Monitoreo de temperatura y humedad en vivo a través de Internet usando Arduino y ThingSpeak
- Monitoreo de latidos del corazón a través de Internet usando Arduino y ThingSpeak
- Estación meteorológica Raspberry Pi: monitoreo de humedad, temperatura y presión a través de Internet
- Sistema de monitoreo de pacientes basado en IoT usando ESP8266 y Arduino
Algunas de las características de ThingSpeak que se traducen automáticamente en beneficios de usar su API son;
- Configuración sencilla del dispositivo para transmitir datos a la plataforma ThingSpeak utilizando plataformas IoT estándar.
- Visualización en tiempo real de datos de sensores y agregación de datos utilizando fuentes de terceros.
- La analítica de IoT se ejecuta en función de horarios o eventos.
- Análisis de MATLAB, API RESTful y MQTT.
- Permite la creación de prototipos y la construcción de sistemas de IoT sin ninguna configuración de servidor ni instalación de software web.
- Compatibilidad con plataformas de desarrollo populares como Arduino y Raspberry Pi
- Actúa automáticamente sobre los datos y automatiza las tareas.
- Integración con servicios de terceros como Twitter. Un buen ejemplo de una situación en la que esto es útil es una solución de IoT que tuitea automáticamente el nivel del agua.
Además de la API alojada gratuita, la API ThingSpeak es de código abierto y está disponible en GitHub para descargar en servidores privados.
10. Fundición EdgeX
EdgeX Foundry es un ecosistema de código abierto de plataformas de IoT basado en configuraciones de código abierto. La API de EdgeX Foundry ofrece varios puntos finales para servicios, incluido el registro, la programación y el registro de clientes. La API tiene una arquitectura REST y usa OAuth 2.0 para la autenticación. Edgex tiene una serie de microservicios que se adjuntan a cada dispositivo conectado a la red.
Cada microservicio tiene varias llamadas API importantes que se pueden utilizar;
- Registrar un servicio de dispositivo
- Aprovisionar un dispositivo
- Envíe datos desde el dispositivo a la plataforma Edgex,
- Leer los datos de la plataforma Edgex para usarlos en otras aplicaciones
- Exportación de datos, entre otros.
Puede encontrar documentación y más detalles sobre la API en el sitio web de EdgeX Foundry.
¡Esa es mi lista! Sin embargo, esta lista no es de ninguna manera exhaustiva, ya que me vienen a la mente algunas otras API como IoT-Plotter y otras que podría haber agregado a la lista. No dude en dejar comentarios sobre las API de Open IoT con las que ha trabajado. Sus comentarios pueden ayudar mucho a otros a seleccionar una API o plataforma para usar en sus proyectos.
Hasta la próxima.