
Este primer apartado es una toma de contacto con la tecnología IoT, desde un punto de vista divulgativo, para todos los públicos. Hablaremos de los antecedentes del IoT y de las bases de esta tecnología.
En este apartado entraremos en materia sobre la plataforma y los diferentes recursos que ofrece a los desarrolladores: El workspace, la documentación y el foro de la comunidad de usuarios.
Para evitar problemas a la hora de preparar el entorno de trabajo, en este video se explican todos los pasos necesarios para descargar Arduino IDE, los cores de las placas y las librerías imprescindibles.
El dispositivo para el que se prepara Arduino es un NodeMCU V1.0, una de las placas más comúnmente utilizadas en el entorno maker para proyectos IoT, dado que tiene un precio muy bajo (unos 4€) y ofrece muy buenas prestaciones.
También es posible utilizar Visual Studio con el pugging "Platformio", que ofrece un editor de texto más avanzado que Arduino IDE, es preferible para los programadores más avanzados y para todos los que vayan a realizar un proyecto con muchas líneas de código.
No es obligatorio reproducir todos los ejemplos, pero es muy interesante para que afiances los conocimientos explicados.
En caso de error de comunicación con la placa base, sigue este proceso de verificación paso a paso:
1) Conectar la placa al ordenador con un cable USB de datos. Comenzará a ejecutarse un sketch de comprobación de leds y sensores.
2) Localizar el puerto (COM) asociado a la placa
3) Comprobar la conexión y el buen funcionamiento de los sensores abriendo el puerto serie y seleccionando 115200 bauds. Debe visualizarse algún tipo de impresión al pulsar el botón RESET (en ocasiones son caracteres sin sentido).
4) Abrir un ejemplo básico de arduino (Archivo>Ejemplos>basics>blink).
5) Seleccionar la placa "nodeMCU 1.0" en el menú (Herramientas>Placa)
6) Asegurar que el "baud rate" de la programación es "115200" mediante la pestaña HErramientas>Baudrate
7) Pulsar el botón de reprogramación de la interfaz de Arduino IDE y esperar a la compilación y la reprogramación.
8) Si se produce un error de sincronización, forzar el modo Flash de la placa (manteniendo pulsado el botón USR al realizar un RESET) y tratar de reprogramar en este estado
Ahora si que entramos en materia! en este sketch mostramos cómo integrar un dispositivo con la plataforma para comenzar a ver datos en tiempo real y a controlar funciones de forma remota. Puedes ver toda la información relacionada con este apartado en : http://docs.thinger.io/console/#devices-create-device
Y si quieres ampliar tus conocimientos de programación en los recursos de Thinger.io, también puedes visitar: http://docs.thinger.io/arduino/#coding
Una de las funcionalidades más utilizadas de las plataformas IoT es la de almacenar datos de los dispositivos en una BBDD. En este apartado veremos lo sencillo que es configurar la plataforma para que realice esta función. Podéis ampliar los conocimientos de este apartado accediendo al apartado correspondiente de la documentación de la plataforma en el siguiente enlace: http://docs.thinger.io/console/#data-buckets
Existen multitud de herramientas que premiten visualizar los datos almacenados: Excell, Keen.io analytics, Initial State Events, pero para poder utilizarlas debemos descargar los datos o integrar el proyecto con estas plataformas, algo que no resulta muy ágil. Por este motivo, Thinger.io ofrece un conjunto de herramientas para la visualización y el análisis gráfico de datos, que permite mostrar directamente los datos recuperados de los dispositivos y los datos almacenados en los buckets de la plataforma.
Puedes ampliar toda la información relacionada con los Dashboards y los diferentes Widgets que ofrecen en este enlace: http://docs.thinger.io/console/#dashboards
Los Endpoints o webhooks son la interfaz de interacción con servicios on-line por excelencia. En este apartado haremos una breve introducción al funcionamiento de esta tecnología para facilitar la comprensión de los siguientes vídeos.
En éste capitulo hablamos del sistema de gestión de Endpoints de la plataforma Thinger.io y explicamos un ejemplo fundamental para muchos proyectos: Cómo solicitar el envío de un correo electrónico desde el dispositivo. Esto permite crear sistemas de notificación o alertas ante eventos que registren los sensores.
Nota: Actualmente el sistema de gestión de Endpoints de la plataforma no permite enviar una solicitud a un servicio y recuperar los datos de la respuesta en el dispositivo. Esta funcionalidad está en desarrollo actualmente, podremos hacer uso de ella a principios del año 2019.
Para terminar el apartado de los Endpoints, explicamos cómo hacer uso de este sistema para integrar un proyecto con otros servicios web por medio de la famosa plataforma IFTTT.
En la sección anterior vimos a hacer uso de Endpoints para solicitar servicios de otros sistemas. En este apartado aprenderemos el proceso contrario: cómo crear un servicio web haciendo uso de los recursos de un dispositivo conectado, haciendo posible su integración en otros proyectos como interfaces personalizadas, programas de gestión, etc.
Comunicar dos dispositivos es una funcionalidad muy útil para crear pequeños proyectos de automatización. En éste apartado explicamos cómo hacerlo de forma muy sencilla utilizando el servidor de Thinger.io como canal de comunicación.
Por último, vamos a ver una funcionalidad de la plataforma que permite crear autorizaciones personalizadas para el acceso a determinados servicios. Es útil para realizar integraciones con otros servicios o bien para compartir recursos de la plataforma con otras personas, limitando su acceso a los que nosotros deseemos.
En esta sección presentamos una tecnología que complementa perfectamente el IoT: Los motores de reglas, que permiten crear y ejecutar procesos sobre los datos de los dispositivos en tiempo real y de una forma muy escalable.
IMPORTANTE: El sistema de plugins sólo está disponible para los servidores premium de Thinger.io, que puedes desplegar en la página "pricing" de la plataforma desde 30€/mes. No obstante, vamos a crear un cupón con un importante descuento para nuestros alumnos de Udemy, para que podáis probar el sistema sin mucho coste. Si te interesa, escríbenos a info@thinger.io y te lo enviaremos lo antes posible.
Por otro lado, puedes instalar el servidor gratuito de la plataforma "Thinger Maker Server" sobre cualquier Ubuntu y desplegar nuestra versión de NodeRED en paralelo. Esta opción es más compleja pero completamente gratuita, encontrarás estos recursos en nuestro repositorio público de github.
Este curso ofrece una visión muy páctica de las diferentes técnicas que permiten crear productos conectados en un tiempo récord por medio de la tecnología de Internet of Things de la plataforma Thinger .io.
Para seguir el aprendizaje adecuadamente será necesario contar con un dispositivo IoT como el thinger .io ClimaStick, o bien una PCB arduino con conectividad, un nodeMCU, ESP8266 o similar, con un sensor que permita realizar lecturas reales.
A lo largo del temario analizaremos cómo conectar estos dispositivos con un servidor de internet, como almacenar datos de sus sensores, visualizarlos en tiempo real o crear históricos mediante diferentes tipos de widgets.
En los últimos apartados veremos cómo actuar sobre los dispositivos, comunicándolos entre ellos o bien con plataformas de terceros.
En resumen, todo lo necesario para aprender a interactuar con esta plataforma y validarse como desarrollador IoT.