Abrir el ejemplo Thingspeak — ESP8266 — program board directly — WriteMultipleFiledsSecure de la librería thingspeak
Completar los datos del fichero secrets.h (segunda pestaña):
SSID – SSID de la Wifi que usemos
SECRET_PASS — Password de la Wifi
SECRET_CH_ID — ID del canal creado
SECRET_WRITE_APIKEY — API key de Thingspeak
Ejecutar el ejemplo y comprobar en el monitor serie que manda datos. Comprobar que se conecta y sale el mensaje “Channel update successful.” cada 2’ segundos
Crear una vista privada y visualizar los datos de los 4 campos creados.
Conectar el shield DS18B20 y oled al Wemos D1 mini.
Vamos a crear un sistema IoT sencillo utilizando una placa basada en ESP8266, la plataforma Thingspeak para registrar los datos y la APP Blynk para controlar y monitorizar desde el móvil.
El objetivo es:
Monitorizar la temperatura y humedad de una sala remotamente desde el móvil
Encender desde el móvil la iluminación de la sala
Registrar todos los datos históricos de temperatura y humedad
D3: pulsador/puerta, tiene una resistencia de pull up integrada: OJO, este pin va al GPIO0 que control el arranque, asegurarse de no estar a masa/pulsado al reiniciar o cargar un nuevo programa
D2: sonda DHT11
El pulsador simula la apertura de la puerta y el led simula la iluminación de la sala.
Blynk
Blynk es una plataforma que permite que cualquiera pueda controlar fácilmente su proyecto Arduino con un dispositivo con sistema iOS o Android. Los usuarios tendrán ahora la posibilidad de crear una interfaz gráfica de usuario de “arrastrar y soltar” para su proyecto en cuestión de minutos y sin ningún gasto extra.
Blynk vendría a ser como tener una protoboard en tu dispositivo móvil, tablet o teléfono, que cuenta con todo lo que necesites usar, desde deslizadores y pantallas a gráficos y otros widgets funcionales que se pueden organizar en la pantalla un Arduino. Además te da la opción de poder recopilar datos de los sensores que montes en un proyecto. Funciona nada más sacarlo de la caja y conectarlo a la placa por Internet.
Arquitectura de Blynk:
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.
Crear un nuevo proyecto llamado “IoT en 90 minutos”
Elegir Hardware, en este caso “Wemos D1 Mini”
Guardar el Auth Token. Auth Token es un identificador único que se necesita para conectar su hardware a su smartphone. Cada nuevo proyecto que cree tendrá su propio Auth Token. Obtendrá Auth Token automáticamente en su correo electrónico después de la creación del proyecto. También se puede copiar manualmente.
Añadir 3 widgets:
Un botón (Conectado al Pin D4)
Dos Gauge en los pines Virtuales V0 y V1 para temperatura y humedad
Configurar avisos en Thingspeak cuando la temperatura sea mayor de 24 grados y cuando se abra la puerta. Para ello usaremos estas utilidades de thingspeak.
Enviar un mensaje a Telegram mediante un bot al canal https://t.me/aprendiendoarduino. Para ello es necesario crear un bot, añadirlo al canal y usar su API KEY desde thingspeak con ThingHTTP
Mandar un tweet usando ThingTweet, para ello debemos enlazar nuestra cuenta de Twitter.
Mandar un email con mailgun https://www.mailgun.com/, para ello debemos darnos de alta en mailgun y usar la API Key para que dispare el webhook configurado en ThingHTTP y mande un email
Para cualquier otra interacción se puede usar IFTTT. Se crea un webhook que se usa desde ThingHTTP y desde IFTTT disparamos el servicio que queramos.
Y cualquier otra que disponga de un webhook o API
Primero debe configurarse ThingHTTP para que llame a una API o webhook que dispare la notificación que deseamos. Para ello deberemos darnos de alta en el servicio que deseemos.
Una vez creados los elementos ThingHTTP que dispara la notificación queda crear los react, que son las condiciones en la que se disparan las notificaciones, donde diremos en qué condiciones se mandan las notificaciones. En nuestro caso:
Temperatura > 24 grados solo la primera vez que pase (Run action only the first time the condition is met: Trigger the action if the condition was previously false and is currently true.)
El valor del canal es 1 (Puerta abierta) cada vez que pase.
Crear un nuevo react llamado “Alta Temperatura IoT 90 minutos” con los siguientes parámetros:
Crear un nuevo react llamado “Puerta Abierta IoT 90 minutos” con los siguientes parámetros:
Si quisiéramos mandar un tweet, simplemente seleccionar en Action “ThingTweet” y poner el texto del tweet.
Identificación Horizontales Demo
Las horizontales o Building Blocks usados en IoT:
Para la demo:
Devices: Wemos D1 mini + sensor temperatura + pulsador + led + relé
Infraestructura de comunicación: Wifi
Gateway: Punto de Acceso Wifi
Protocolo: API HTTP y MQTT (transparente al usar las librerías de Blynk y Thingspeak)
Plataforma: Thingspeak y Blynk
Servicios: Almacenamiento de datos, gráficas, disparo de eventos y análisis de datos por Thingspeak, monitorización móvil por Blynk, notificaciones por IFTTT o plataforma propia.
Limitaciones de la solución utilizada:
Máximo número de envíos a plataforma: 15 segundos
Datos almacenados solo hasta un año o 3 millones de registros
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.
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.
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.