Archivo del Autor: jecrespom

Acerca de jecrespom

Twitter: @jecrespom

Servicios IoT

Las plataformas mismas nos pueden ofrecer diferentes clases de servicios para los datos como visualización de datos, descargas, API para obtener los datos, alertas, etc…

Algunos servicios que podemos encontrar:

  • Almacenamiento de datos
  • Gestión de dispositivos
  • Visualización de datos (Visual Analytics)
  • Descarga de datos
  • API REST para interactuar con la plataforma
  • Notificaciones
  • Alertas/Alarmas
  • Reglas
  • SDK
  • Interacción con otras plataformas
  • Análisis de datos (Machine Learning)
  • Open data

Una plataforma nos puede permitir:

  • Automatizar informes de trabajo, cuadros de mando, etc… Los datos recogidos y guardados genera informes automáticamente de forma periódica o en tiempo real (por ejemplo de la producción) y son enviados.
  • Monitorización en Tiempo real de flotas o del estado de una planta
  • Avisos precoces para mantenimientos predictivos.
  • Control remoto de instalaciones.
  • Eficiencia energética.
  • Automatización de procesos.
  • Análisis de datos (data mining, etc…) para aprendizaje automático.
  • Business intelligence (detectar problemas comunes, medir cuellos de botella, etc…) y ayudar en el mantenimiento predictivo.
  • Integrar con el software corporativo. ERP, CRM, GMAO (Gestión del Mantenimiento Asistido por Ordenador), CMMS.

Plataformas IoT

Las plataformas IoT son plataformas SW que reciben los datos datos recogidos por nuestros sensores y luego son enviados por los microcontroladores. Pueden ser plataformas de terceros o plataformas propias desarrolladas por nosotros.

Plataformas SW: tratar los datos recogidos por nuestros sensores, almacenarlos y ofrecer otros servicios.

Estas plataformas tienen un HW y el SW que pueden usar estas tecnologías:

Listado de plataformas IoT: http://www.monblocnotes.com/node/1979

Algunas plataformas destacables:

Y muchas más…

ThingSpeak

ThingSpeak es un plataforma de Internet of Things (IoT) que permite recoger y almacenar datos de sensores en la nube y desarrollar aplicaciones IoT. Thingspeak también ofrece aplicaciones que permiten analizar y visualizar tus datos en MATLAB y actuar sobre los datos. Los datos de los sensores pueden ser enviados desde Arduino, Raspberry Pi, BeagleBone Black y otro HW.

Thingspeak está en colaboración con Mathworks https://en.wikipedia.org/wiki/MathWorks que es la empresa de Matlab y Simulink entre otros.

Ejemplo para enviar datos a thinkspeak con Arduino: http://community.thingspeak.com/tutorials/arduino/send-data-to-thingspeak-with-arduino/

Documentación: https://thingspeak.com/docs

Repositorio: https://github.com/iobridge/thingspeak

Canal público de Thingspeak: https://thingspeak.com/channels/242341

Carriots

Carriots es una Plataforma como Servicio (PaaS en sus siglas en inglés) diseñada para proyectos del Internet de las Cosas (IoT) y de Máquina a Máquina (M2M)

Más información: https://www.carriots.com/que-es-carriots

Carriots es una plataforma IoT creada en España.

  • Cree potentes productos y servicios IoT.
  • Conecte fácilmente “sus cosas” al Internet de las Cosas.
  • Construya sus apps inteligentes con Carriots en 5 pasos.

Pasos:

  • Conectar Dispositivos
  • Recopilar Datos
  • Gestionar Dispositivos y Datos
  • Construir APPs

Casos de uso: https://www.carriots.com/casos-de-uso

Principales ventajas

  • Listo para empezar a desarrollar.
  • Minimizar tiempo de desarrollo.
  • Gestión simplificada de múltiples proyectos: Arquitectura de 7 niveles
  • Amplia variedad de APIs y potente SDK: REST API y SDK
  • Escalabilidad inmediata
  • Inicio gratuito y pago por uso.
  • Alojamiento simplificado: Oferta PaaS para escalabilidad fiable.

Ejemplos:

Temboo

Temboo es una plataforma de IoT que nos permite conectar fácilmente mediante una API un Arduino con y hacer de intermediario con aplicaciones de terceros. Es una plataforma colaboradora con Arduino.

La librería Temboo para arduino está incluida en el IDE de Arduino dentro del Arduino Library Manager.

Web: https://temboo.com

Tembo + Arduino:

Temboo funciona con choreos que son APIs de conexión con terceros como por ejemplo la API de weather de Yahoo: https://temboo.com/library/Library/Yahoo/Weather/

Temboo tiene un sistema de generación de código para Arduino, pero es limitado y en su lugar puede usarse la API REST. Solo vale para unos pocos modelos de Arduino.

Temboo no almacena solo ejecuta choreos que usa interconexión con terceros: https://temboo.com/restapi/reference

Temboo permite usar varios protocolos:

Adafruit IO

Otra plataforma IoT con muy buena integración con Arduino y su funcionalidad más potente es la fácil creación de dashboards. La usaremos en el taller para practicar con MQTT.

Web https://io.adafruit.com

Tutorial: https://learn.adafruit.com/adafruit-io/overview

API documentation: https://io.adafruit.com/api/docs/#!/v2

Plataformas privadas

Existen plataformas que puedes instalar en tu propio servidor físico, en un servidor en la nube o incluso en un hosting compartido y también en una raspberry Pi.

Y también es posible programar tu propia plataforma como http://www.aprendiendoarduino.com/servicios/ montada sobre un hosting compartido y hecho con HTML5, PHP y javascript.

Protocolos IoT

Protocolos de comunicación, con los que comunicar el HW con el SW

  • API REST/HTTP

  • REST + Websockets

  • MQTT (Message Queue Telemetry Transport).
    Está enfocado al envío de datos en aplicaciones donde se requiere muy poco ancho de banda. Además, sus características le permiten presumir de tener un consumo realmente bajo así como precisar de muy pocos recursos para su funcionamiento.
    Estas características han hecho que rápidamente se convierta en un protocolo muy empleado en la comunicación de sensores y, consecuentemente, dentro del Internet de las Cosas.

Comparativa de protocolos: https://www.slideshare.net/paolopat/mqtt-iot-protocols-comparison

IoT protocols: https://www.postscapes.com/internet-of-things-protocols/

Comunicaciones IoT

Una de las principales ventajas de Arduino es que podemos dotarlo de comunicación de una forma sencilla añadiendo un shield o una breakout board y dispondremos de casi cualquier tipo de comunicación tanto de acceso a Internet como para comunicar arduinos entre sí o con otros dispositivos en una red privada.

Conectividad, tecnologías para conectar el HW con Internet o una red

  • Ethernet
  • WiFi
  • Buses de campo industriales (Modbus, RS485, etc…)
  • Zigbee/XBee
  • LoWaRan, LPWAN, LoWPAN
  • Sigfox (se transmiten mensajes de 12 bytes, pudiendo enviar 140 mensajes al día)

Ultra Narrow Band:

  • Bluetooth/wifi/NFC/ANT+ y los beacons
  • nRF24L01 is a highly integrated, ultra low power (ULP) 2Mbps RF transceiver IC for the 2.4GHz ISM (Industrial, Scientific and Medical) band.
  • NB-IoT: es la solución propuesta por los fabricante de equipamiento LTE para dar cobertura a IoT desde la redes celulares ya existentes.
  • Satélite
  • LTE/3G
  • IEEE 802.11ah la wifi sub 1GHz

HW IoT

Dispositivos Hardware, son los dispositivos que van a medir y los que van a interactuar con el exterior.

El primer elemento, el que está más cerca de las “cosas” es el HW que se encarga de medir e interactuar con las “cosas” y procesar esos datos:

El elemento HW programable capaz de interactuar con estos dispositivos es el microcontrolador o el microprocesador.

El HW libre por excelencia es Arduino como microcontrolador y Raspberry Pi como microprocesador, con menor potencia física pero mayor potencia de cálculo.

Dentro del HW libre no solo debemos quedarnos con Arduino, sino que existen otros dispositivos compatibles que se programar igual que Arduino:

Y muchas más que aparecen cada día.

No solo para prototipos, PLC basado en Arduino: https://www.industrialshields.com/