Chisme 180 del Lince: los datos de la EducaCont, en ThingSpeak

Crea tu canal, configura los bloques con TUS datos y mira los cinco gráficos en internet

Logo de MonteSTEAMLogo de AIDARACLogo de IES Monterroso

Qué vamos a hacer

En el Chisme 179 leímos los cinco sensores de la estación EducaCont por la consola serie. Hoy los mandamos a internet: crearemos un canal en ThingSpeak, daremos de alta un dispositivo MQTT, configuraremos los bloques de STEAMakersBlocks con tus datos y comprobaremos que llegan los cinco valores.

🔐 Tus datos son solo tuyos. En esta página no escribas nunca tus claves: donde ves [TU_…] pones tus valores solo dentro de STEAMakersBlocks. No los copies en el cuaderno, en un chat, en una captura ni en un repositorio. Si haces una captura, tapa esos datos o pon «xxxx».
MarcadorQué esDe dónde sale
[TU_CHANNEL_ID]El número de tu canalPaso 1
[TU_CLIENT_ID]Nombre con el que tu placa se presentaPaso 2
[TU_USERNAME]Usuario MQTTPaso 2
[TU_PASSWORD]Clave MQTTPaso 2
[TU_WIFI]Nombre de tu red Wi-Fi (2,4 GHz)Tu red
[TU_CLAVE_WIFI]Clave de esa red Wi-FiTu red

Material

Estación EducaCont 986 (Easy Plug) con los cinco sensores y el módulo Wi-Fi ESP-01 en el puerto COM; placa Keyestudio Easy Plug Control Board V2.0 (Arduino UNO); ordenador con Windows, STEAMakersBlocks Connector 6.0 y cuenta en steamakersblocks.com; cuenta en ThingSpeak y una red Wi-Fi de 2,4 GHz.

Antes de empezar: cinco ideas

1. La nube y el IoT

El Internet de las Cosas (IoT) son objetos con sensores que mandan sus datos por internet. La nube son ordenadores de otra gente (servidores) que guardan esos datos para que los veas desde cualquier sitio.

2. ThingSpeak, canal y campos

ThingSpeak (de MathWorks) es un servicio que recibe, guarda y dibuja datos. Un canal es tu cuaderno de datos; cada campo (field) es una columna del cuaderno. Nuestra estación manda cinco datos, así que usa cinco campos.

El orden importa: el campo 1 del canal tiene que recibir lo que los bloques mandan al «field1», y así con los cinco. Si no coinciden, la humedad saldrá dibujada como temperatura.

3. MQTT: broker, cliente, publicar

MQTT es la forma de hablar entre la placa y ThingSpeak. Piensa en un tablón de anuncios: el broker es el tablón (en ThingSpeak, mqtt3.thingspeak.com), tu placa es un cliente que se acerca al tablón, y publicar es pegar un papelito con un dato en el sitio que toca (tu canal y su campo).

4. Credenciales: por qué no se comparten

Cliente, usuario y clave son como la llave de tu casa: quien las tenga puede escribir en tu canal y ensuciar tus datos. Por eso las guardas tú, no las publicas y no las pegas en capturas.

5. La espera entre envíos

ThingSpeak, en la cuenta gratuita, solo admite una actualización de canal cada 15 segundos y un máximo de 3 millones de mensajes al año (preguntas de licencia de ThingSpeak). Por eso los bloques esperan entre publicaciones y entre mediciones.

Cómo quieres hacerlo: 0 / 11

En las dos formas están las mismas instrucciones. En A, cada paso se abre al marcar «He terminado» en el anterior. En B ves los 11 pasos a la vez y el programa completo ya relleno (solo faltan tus datos).

El programa completo (modo B)

Todo lo que no es personal ya está puesto. Rellena solo lo marcado [TU_…].

1 Crea el canal en ThingSpeak

🔒 Marca «He terminado» en el paso anterior para abrir este.

Haz esto:
  1. Entra en thingspeak.mathworks.com e inicia sesión con tu cuenta de MathWorks (si no tienes, créala; la licencia gratuita es para uso no comercial).
  2. Pulsa Channels → My Channels → New Channel.
  3. En Name pon el nombre de tu estación.
  4. Activa y rellena los campos en este orden exacto: Field 1 = humedad, Field 2 = temperatura, Field 3 = no2, Field 4 = particulas, Field 5 = co.
  5. Baja y pulsa Save Channel.
  6. Arriba, junto al nombre, verás el Channel ID (un número). Apúntalo como [TU_CHANNEL_ID].
CampoDatoUnidad
field1humedad%
field2temperatura°C
field3no2µg/m³
field4particulasµg/m³
field5comg/m³

2 Da de alta el dispositivo MQTT

🔒 Marca «He terminado» en el paso anterior para abrir este.

Haz esto:
  1. En ThingSpeak pulsa Devices → MQTT.
  2. Pulsa Add a new device.
  3. Ponle un nombre (por ejemplo, estacion-educacont).
  4. En Authorize channels to access elige tu canal y pulsa Add Channel.
  5. Deja marcado Allow Publish (publicar). No hace falta suscribirse.
  6. Pulsa Add Device.
  7. Aparecen tres datos: Client ID, Username y Password. Cópialos ahora (o descarga el archivo de credenciales si te lo ofrece): son [TU_CLIENT_ID], [TU_USERNAME] y [TU_PASSWORD].
  8. Guárdalos en un sitio seguro (gestor de contraseñas o un archivo tuyo que no se comparta).
🔐 No los pegues aquí ni en ninguna captura. Para la captura de este paso, tapa los tres datos o sustitúyelos por «xxxx».

3 Abre el proyecto de Easy Plug en STEAMakersBlocks

🔒 Marca «He terminado» en el paso anterior para abrir este.

Haz esto:
  1. Abre el proyecto público: steamakersblocks.com/web/project/3005861 e inicia sesión con tu cuenta.
  2. Guarda una copia en tu cuenta para poder cambiarla (así el original no se toca). Si tu profesor te da el archivo .abp del proyecto, también puedes importarlo.
  3. Comprueba que cada bloque Publicar de ThingSpeak lleva solo Channel ID y Field. No lleva «Write API Key».

ThingSpeak ya no pide la «Write API Key» para publicar por MQTT: ahora basta con las credenciales del dispositivo. Si ves ese campo, tienes una versión antigua: vuelve a abrir el enlace.

4 Rellena el bloque Inicializar

🔒 Marca «He terminado» en el paso anterior para abrir este.

Haz esto:
  1. En el bloque Inicializar → Iniciar (ESP-01 WiFi) pon los valores de la tabla, uno por uno.
  2. Lo marcado [TU_…] lo escribes tú con tus datos; lo demás es igual para todos.
CasillaValor
Rx / TxCOM-TX / COM-RX
Baudios115200
WiFi red[TU_WIFI]
clave (Wi-Fi)[TU_CLAVE_WIFI]
Brokermqtt3.thingspeak.com
Puerto1883
Cliente Id[TU_CLIENT_ID]
Usuario[TU_USERNAME]
Clave (MQTT)[TU_PASSWORD]
Ojo: hay dos «clave» distintas. La de WiFi red / clave es la de tu Wi-Fi; la última, Clave, es la Password del dispositivo MQTT. El Wi-Fi tiene que ser de 2,4 GHz y sin portal de acceso (sin usuario y contraseña en una página web). En nuestra prueba, el Client ID y el Username salieron iguales: copia cada uno de su casilla de todos modos.

5 Rellena los cinco bloques de publicar

🔒 Marca «He terminado» en el paso anterior para abrir este.

Haz esto:
  1. Busca el bloque para subir datos a la nube. Tiene cinco bloques Publicar, cada uno seguido de Esperar 2000 milisegundos.
  2. En los cinco, Channel ID = [TU_CHANNEL_ID].
  3. Comprueba el campo de cada uno en orden: field1 a field5, con la variable de la tabla.
BloqueFieldValor (variable)
1.ºfield1humedad
2.ºfield2temperatura
3.ºfield3no2_ug_m3
4.ºfield4particulas_ug_m3
5.ºfield5co_mg_m3
El orden tiene que coincidir con el canal del paso 1: field1 humedad, field2 temperatura, field3 NO2, field4 partículas, field5 CO. Las pausas de 2 segundos son necesarias: en las pruebas, con 2 s llegaron los cinco campos.

6 Acorta la espera para las pruebas

🔒 Marca «He terminado» en el paso anterior para abrir este.

El bloque detener medición hace una espera larga entre una medición y la siguiente: por defecto, 15 minutos (repetir 15 veces esperar 60000 ms). Para probar sería un aburrimiento, así que lo acortamos.

Haz esto:
  1. En detener medición, cambia repetir de 15 a 1 (esperará 1 minuto).
  2. Deja esperar 60000 ms como está.
  3. Cuando todo funcione (paso 11), lo volverás a poner en 15.

Prueba el cambio:

7 Abre el STEAMakersBlocks Connector 6.0

🔒 Marca «He terminado» en el paso anterior para abrir este.

Sin el Connector, la web no ve la placa. Es lo primero que hay que mirar si la web no encuentra la placa o no carga el programa.
Haz esto:
  1. En el ordenador con Windows, abre el programa STEAMakersBlocks Connector 6.0.
  2. Comprueba que está en ejecución y déjalo abierto mientras trabajas.
  3. Si no lo tienes, descárgalo de steamakersblocks.com/web/site/abconnector.

8 Saca el cable del puerto COM

🔒 Marca «He terminado» en el paso anterior para abrir este.

Haz esto, en este orden:
  1. Desconecta el USB de la placa.
  2. Busca el puerto naranja COM de la placa: es el que va al módulo Wi-Fi.
  3. Aprieta la lengüeta del conector y saca el cable por el lado de la placa. El otro extremo se queda enchufado en el adaptador Wi-Fi.
  4. Vuelve a conectar el USB.

9 Conecta la placa, compila y carga

🔒 Marca «He terminado» en el paso anterior para abrir este.

Haz esto:
  1. Con el Connector abierto (paso 7), conecta la placa desde la web. Si la web no la ve, mira primero que el Connector esté abierto.
  2. Revisa por última vez tus datos [TU_…] en los bloques.

¿Has sacado el cable del puerto naranja COM? Si sí, pulsa Compilar y cargar en STEAMakersBlocks y espera a que termine sin errores.

Si sale avrdude: stk500_getsync(): not in sync, casi seguro es que el cable sigue puesto: vuelve al paso 8.

10 Vuelve a enchufar el cable y reinicia

🔒 Marca «He terminado» en el paso anterior para abrir este.

Haz esto:
  1. Enchufa de nuevo el cable en el puerto naranja COM hasta oír el clic.
  2. Reinicia la placa: desconecta el USB y vuelve a conectarlo.

Con el cable puesto y el programa ya cargado, la placa se conecta al Wi-Fi y empieza a publicar. Aquí no se mira la consola serie: el puerto COM comparte línea con el USB y se pisan. Se comprueba mirando ThingSpeak.

11 Comprueba que llegan los cinco gráficos

🔒 Marca «He terminado» en el paso anterior para abrir este.

Haz esto:
  1. En ThingSpeak abre Channels → My Channels y entra en tu canal.
  2. Abre la pestaña Private View.
  3. Espera unos minutos y mira: deben aparecer cinco gráficos (Field 1 a Field 5), cada uno con sus puntos.
  4. Comprueba el orden: el Field 1 es la humedad, el Field 2 la temperatura, el 3 el NO2, el 4 las partículas y el 5 el CO.

Si faltan gráficos o no llega nada, mira la sección «Si algo falla».

Si algo falla

Qué pasaCausa más probableQué hacer
avrdude: stk500_getsync(): not in syncEl cable sigue puesto en el puerto COMPasos 8, 9 y 10: desconecta el USB, saca el cable, carga, vuelve a enchufar y reinicia.
La web no ve la placa o no carga el programaEl Connector no está abiertoAbre el Connector 6.0 (paso 7) antes de tocar nada más.
No llega ningún datoWi-Fi mal escrito, red de 5 GHz o con portal de acceso, o cable sin enchufar tras cargarRevisa [TU_WIFI] y [TU_CLAVE_WIFI], usa 2,4 GHz y comprueba el paso 10.
No llega ningún dato (y el Wi-Fi está bien)Cliente, usuario o clave MQTT mal copiados, o Allow Publish sin marcarRevisa [TU_CLIENT_ID], [TU_USERNAME], [TU_PASSWORD] y el dispositivo del paso 2.
Llegan solo algunos camposPausa demasiado corta o Channel ID/Field mal puestosComprueba los cinco bloques (paso 5) y, si hace falta, alarga la pausa de 2000 ms.
Un gráfico muestra otro datoEl orden de campos no coincideCompara el canal (paso 1) con los Field de los bloques (paso 5).
Dejó de enviar tras días funcionandoSe cayó el Wi-Fi (el programa no reconecta, visto en los bloques, sin probarlo)Reinicia la placa.

Déjala funcionando: tiempos y lugar

Tiempos (986 Easy Plug)

AjustePruebasFuncionando
Detener medición: repetir × esperar 60000 ms1 vez (1 minuto)15 veces (15 minutos entre envíos, valor por defecto de EducaCont)
Pausa entre publicaciones2000 ms (comprobado: con 2 s llegan los cinco campos)

Cada ciclo manda 5 mensajes. Con 15 minutos son unos 480 al día; con 5 minutos, unos 1.440. La cuenta gratuita de ThingSpeak admite hasta 3 millones de mensajes al año (fuente).

Acuérdate: cambiar de 1 a 15 es cambiar el programa, así que hay que repetir los pasos 8, 9 y 10 (sacar el cable, cargar, volver a enchufar y reiniciar).

Lista de comprobación antes de dejarla

Dónde montarla (necesita enchufe de 5 V y Wi-Fi de 2,4 GHz)

Consejos prácticos

Sobre los datos, con honestidad: son prototipos educativos, no instrumentos de medida certificados. El CO y las partículas pueden dar valores altos que no deben tomarse como medidas fiables: los sensores no están calibrados y pueden necesitar tiempo de rodaje. Míralos como indicativos y observa cómo evolucionan durante horas o días.

Resumen: lo primero que hay que recordar

  1. Crea el canal con los campos en orden (humedad, temperatura, no2, particulas, co) y apunta [TU_CHANNEL_ID].
  2. Da de alta el dispositivo MQTT con Allow Publish y guarda [TU_CLIENT_ID], [TU_USERNAME] y [TU_PASSWORD] en un sitio seguro.
  3. Rellena los bloques con tus datos; las credenciales no se comparten ni se publican.
  4. Abre el Connector, saca el cable COM, carga, vuelve a enchufar y reinicia.
  5. Mira ThingSpeak, no la consola serie.