Archivo de la categoría: Plataformas IoT

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. Thinkspeak 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.

Web: https://thingspeak.com/

Thingspeak es parte de Mathworks https://en.wikipedia.org/wiki/MathWorks que es la empresa de entre otros Matlab y Simulink.

Uso comercial: https://thingspeak.com/pages/commercial_learn_more

Precios: https://thingspeak.com/prices

Features Thingspeak:

También puede acceder a los recursos de MATLAB y Simulink con una cuenta gratuita de MathWorks.

Apps de Thingspeak, son los servicios de la plataforma IoT: https://thingspeak.com/apps

Librería Thingspeak para Arduino, ESP8266 y ESP32: https://github.com/mathworks/thingspeak-arduino

La estructura de Thingspeak es:

  • Canales (Channels): los datos que recogemos en los dispositivos se guardan en canales.
  • En cada canal se disponen de una serie de campos para guardar datos, así como otra información adicional
  • Los canales pueden ser públicos o privados.
  • Dentro de cada canal podemos añadir visualizaciones o Widgets
  • Los datos del canal se pueden importar o exportar
  • En la pestaña de API keys está la información con las contraseñas (API Keys) para usar con las APIs.

Tutoriales Thingspeak: https://community.thingspeak.com/tutorials/

Tutoriales Arduino:

Tutoriales ESP8266:

Tutoriales Raspberry Pi.

Documentación: https://www.mathworks.com/help/thingspeak/

Getting started con Thingspeak: https://www.mathworks.com/help/thingspeak/getting-started-with-thingspeak.html

Ejemplos: https://www.mathworks.com/help/thingspeak/examples.html

Restful y MQTT APIs: https://www.mathworks.com/help/thingspeak/channels-and-charts-api.html

Alertas: https://www.mathworks.com/help/thingspeak/monitor-channel-inactivity-using-multiple-thingSpeak-apps.html

Más información:

Cliente MQTT Thingspeak

ThingSpeak ahora es compatible con la publicación MQTT, que le permite enviar datos a ThingSpeak desde cualquier dispositivo o servicio compatible con el estándar MQTT.

Puede seguir enviando hasta 3 millones de mensajes al año de forma gratuita. Para determinar cuántos mensajes utiliza, puede iniciar sesión y ver el uso de su cuenta.

Tutoriales para usar MQTT con Arduino:

Ejemplo con Thingspeak

Instalar con el gestor de librerías la librería thinkspeak o manualmente desde https://github.com/mathworks/thingspeak-arduino

Crear un nuevo canal: temperatura casa

Los canales guardan todos los datos que una aplicación Thingspeak recoge. Cada canal incluye 8 campos que pueden almacenar cualquier tipo de dato, además de tres campos para localización del dispositivo y uno para el estado de los datos. Una vez los datos son recogidos en un canal, es posible usarlos con las apps de Thingspeak para analizarlos y visualizarlos.

API: https://es.mathworks.com/help/thingspeak/channels-and-charts.html

Thingspeak apps: https://thingspeak.com/apps

Tutorial: https://es.mathworks.com/help/thingspeak/getting-started-with-thingspeak.html

Analizar datos: https://es.mathworks.com/help/thingspeak/analyze-your-data.html

Actuar con tus datos: https://es.mathworks.com/help/thingspeak/act-on-your-data.html

Código con IP fija y sin librería: https://github.com/jecrespo/Aprendiendo-Arduino/tree/master/Ejercicio65-Thingspeak

Código con IP fija y librerías: https://github.com/jecrespo/aprendiendoarduino-iot/tree/master/01-Thingspeak/Temp-y-Hum

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

Usar MQTT con Thingspeak: http://blogs.mathworks.com/iot/2017/01/20/use-mqtt-to-send-iot-data-to-thingspeak/

Repositorio: https://github.com/jecrespo/aprendiendoarduino-iot/tree/master/01-Thingspeak

Analizar

Ejemplos: https://es.mathworks.com/help/thingspeak/examples.html

Tutorial: https://es.mathworks.com/help/thingspeak/analyze-your-data.html  

Actuar

Con webhooks http, thinghttp: https://thingspeak.com/apps/thinghttp

React: https://thingspeak.com/apps/reacts

React app: https://es.mathworks.com/help/thingspeak/react-app.html

Manual Thinghttp APP: https://es.mathworks.com/help/thingspeak/thinghttp-app.html

Tutorial: http://community.thingspeak.com/tutorials/arduino/cheerlights-with-arduino-and-the-fastled-library/

Restduino: https://github.com/sirleech/RestduinoThingspeak

Time control:

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

Plataformas Cloud Públicas

Las plataformas de IoT son plataformas SW que reciben los datos datos recogidos por nuestros sensores y luego son enviados por los microcontroladores y que se alamacenan, además de dar otros servicios. Pueden ser plataformas de terceros o plataformas propias desarrolladas por nosotros.

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

  • Virtualización, las plataformas SW pueden estar virtualizadas generalmente por motivos de escaliabilidd.
  • Bases de Datos, principalmente nosql como Mongo DB, RavenDB, cassandra y otras muchas. Big Data.
  • Tratamiento de big data con Hadoop o spark
  • Plataformas propias como Amazon AWS que tiene para IoT https://aws.amazon.com/es/iot/
  • Google cloud platform: https://cloud.google.com/solutions/iot/
  • Google Weave, es una plataforma de comunicaciones para IoT
  • IBM blue Mix http://www.ibm.com/cloud-computing/bluemix/
  • Desarrollo con Microsoft Azure
  • Desarrollo de software de plataformas webs con .NET, php, javascript, python, django, node.js
  • Scadas industriales, scadas en la nube o scada as a service

Por el contrario se pueden instalar plataformas privadas en nuestras propias instalaciones sin acceso desde Internet, algunos ejemplos:

Plataformas IoT para makers: https://www.sparkfun.com/news/2413

Guía de plataformas IoT: https://www.ibm.com/developerworks/library/iot-lp101-why-use-iot-platform/index.html

Elegir plataforma IoT: https://ricveal.com/blog/plataformas-iot/

Arquitectura de una plataforma IoT:

Listado de algunas plataformas IoT:

HW y Plataformas IoT

Hay empresas que fabrican el HW para IoT con comunicación integrada, pero también su propia plataforma específica, pero generalmente pueden intercambiarse con otras.

Particle

Web https://www.particle.io/. Particle es HW + Software + Conectividad

Hardware: https://store.particle.io/

IDE: https://docs.particle.io/tutorials/developer-tools/dev/

Device OS es el sistema operativo para el HW: https://www.particle.io/device-os/

Device Cloud es la plataforma: https://www.particle.io/device-cloud/

Serverless IoT with Particle and AWS: https://mike.lapidak.is/thoughts/serverless-iot-with-particle-and-aws

Pycom

Pycom es un fabricante de HW IoT programable en Python que también ofrece su propia plataforma.

Pycom tiene HW + plataforma + IDE y se programa en Python y lleva un ESP32 con micropython. Hay versiones con wifi o LoRa o Sigfox.

Hardware:

Software: https://pycom.io/solutions/software/

Red: https://pycom.io/solutions/network/

Pybites es la plataforma: https://pycom.io/solutions/software/pybytes/

LoPy (LoRa) con TTN: https://www.thethingsnetwork.org/docs/devices/lopy/

LoPy4 placa basada en ESP32 con comunicación LoRa, Sigfox, WiFi, Bluetooth: https://pycom.io/product/lopy4/

Los SiPy disponen de conectividad Sigfox que además incluyen WiFi y BLE para desarrollo con micropython:

Campaña Kickstarter: https://www.kickstarter.com/projects/pycom/pylife?ref=582489&token=8c77e87b

Mysensors.org

Web https://www.mysensors.org/

MySensors es una comunidad de hardware y software de código abierto centrada en la domótica y la Internet de los objetos.

Estamos aquí para ayudar a las personas que desean crear sensores y actuadores originales y asequibles basados en componentes como Arduino, ESP8266, Raspberry Pi, NRF24L01+ y RFM69.

Proporcionamos instrucciones de construcción fáciles de seguir, ejemplos de código listo para usar y diseños de hardware de código abierto adaptables. Todo esto se ejecuta en la biblioteca de software MySensors para una comunicación segura que ha sido probada en batalla con más de 20 de los controladores de automatización del hogar líderes en el mercado.

Hardware: https://www.mysensors.org/hardware

Controladores/plataformas: https://www.mysensors.org/controller

PHPoC

PHPoC: https://www.phpoc.com/index.php

PHP on Chip: https://www.phpoc.com/what_is_phpoc.php

Productos: https://www.phpoc.com/products.php

Comprar: https://www.3dsoma.com/es/96-phpoc

Más sobre el lenguaje de programación: https://www.phpoc.com/support/manual/phpoc_vs_php/contents.php?id=overview

Artik

Samsung Artic, la plataforma de IoT de Samsung: https://www.artik.io/

Módulos HW: https://www.artik.io/modules/

Artik Cloud: https://artik.cloud/

Más información:

Uso de plataforma artik:

Libelium

Empresa IoT afincada en Zaragoza

Web: http://www.libelium.com/

HW

Plataforma: http://www.libelium.com/cloud-services/services-cloud-manager/

Waspmote: es el arduino con muchos sensores y conectividades:

Plug and sense: ya integrado el waspmote: http://www.libelium.com/products/plug-sense/technical-overview/

Meshlium es el gateway que conecta a la red pública la red privada de sensores que tengo

Se integra con plataforma de terceros como bluemix, iotsens, etc…

Y luego la parte de aficionados https://www.cooking-hacks.com/

Empresas en IoT

Google Android Things. Android Things es la nueva plataforma para el Internet de las Cosas de Google. El Internet de las cosas consiste en aquellos dispositivos que se encuentran conectados a Internet pero que no son ordenadores al uso, sino dispositivos inteligentes que podemos controlar con nuestro móvil: https://developer.android.com/things/

Apple en IoT. Homekit un framework especializado en comunicarse y controlar accesorios en la casa del usuario, con añadidos como que los usuarios puedan agrupar acciones y activarlas utilizando Siri: https://developer.apple.com/homekit/

Actores importantes en el cloud IoT:

Algunas empresas y proyectos interesantes de IoT

Tecnologías IoT

Pensando en los actores que participan en el ecosistema IoT se pueden identificar las siguientes tecnologías

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

  • Arduino
  • ESP8266, HW low cost con wifi
  • Otras plataformas HW para IoT: https://www.postscapes.com/internet-of-things-hardware/
  • HW y conectividades de http://www.libelium.com/ son de Zaragoza y tienen buenas formaciones.
  • Diseño de HW como Eagle o KiCad, es el siguiente paso de Arduino a una personalización del HW
  • Android Things es una adaptación del Sistema Operativo Android para dispositivos que los desarrolladores quieran convertir en Inteligentes. Android Things, sistema operativo y development kit para HW de IoT https://developer.android.com/things/
  • RTOS sistemas operativos en Tiempo real para sistemas embebidos, generalmente basados en linux.
  • Autómatas o PLCs para la parte industrial y SoftPLCs

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

  • Zigbee
  • Sigfox
  • LoWaRan, LPWA
  • Bluetooth/wifi/NFC/ANT+ y beacons
  • Seguridad en la comunicaciones, es un de los retos de IoT
  • nRF24L01 is a highly integrated, ultra low power (ULP) 2Mbps RF transceiver IC for the 2.4GHz ISM (Industrial, Scientific and Medical) band.

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

  • Fiware
  • MQTT
  • API REST/HTTP
  • SNMP
  • Buses de campo industriales, modbus, etc…

Plataformas IoT,  para tratar los datos recogidos por nuestros sensores y almacenarlos. Estas plataformas tienen un HW y el SW que usan:

Encuesta: https://blogs.eclipse.org/post/benjamin-cab%C3%A9/key-trends-iot-developer-survey-2018

Servicios IoT, son los servicios que ofrecen las plataformas

  • Machine learning, inteligencia artificial en los dispositivos
  • Smart Metering
  • Open Data
  • Dashboards/Cuadros de mando
  • Almacenamiento de datos
  • Análisis de Datos
  • Visualización de Datos

Ejemplos de empresas en el ecosistema IoT:

Áreas involucradas en IoT

  • Electrónica
  • Desarrollo de HW embebido
  • Desarrollo de SW
  • Redes informáticas y de telecomunicaciones
  • Administración de sistemas
  • Sistemas de información, BDDs
  • Desarrollo web, cloud computing
  • Seguridad informática
  • Big data: dashboards, análisis de datos, procesamiento de datos, etc.
  • Dominio del campo aplicado: electricidad, electrónica de control, mecánica, física, mecatrónica, medicina, agronomía, etc.
  • Desarrollo de producto
  • etc…

Recursos open source IoT: