lunes, 19 de octubre de 2026

Tutorial: Obtener Credenciales y Configurar Adafruit IO


Tutorial: Obtener Credenciales y Configurar Adafruit IO
Aquí tienes un tutorial paso a paso para navegar en la plataforma de Adafruit IO y extraer exactamente los 4 datos necesarios (Username, AIO Key, Feed y Dashboard) para configurar tu ESP32. 
Paso 1: Crear una Cuenta e Iniciar Sesión
  1. Entra al sitio oficial: adafruit.com.
  2. Haz clic en Sign Up (si no tienes cuenta) o en Sign In (si ya estás registrado).
  3. Llena los datos básicos. La cuenta gratuita (Free Plan) es perfectamente funcional para este proyecto.

Paso 2: Obtener tu Username y AIO Key
Estos datos equivalen a tu "usuario y contraseña" para que la ESP32 pueda iniciar sesión en el servidor MQTT de Adafruit.
  1. Una vez dentro de tu panel principal, dirige tu mirada a la barra superior derecha.
  2. Haz clic en el botón amarillo con un icono de llave que dice "My Key".
  3. Se abrirá una ventana emergente (pop-up) con dos campos de texto:
    • Username: Este es tu nombre de usuario único.
    • Active Key: Es una cadena larga de letras y números generada aleatoriamente.
  4. Haz clic en el botón Copy al lado de cada uno para guardarlos en tu bloc de notas. ¡Mantén tu Active Key en secreto!

Paso 3: Crear y obtener el Feed (Canal del Sensor)
El Feed es la base de datos o el "buzón" donde tu ESP32 va a depositar las lecturas del sensor.
  1. En el menú superior izquierdo de la pantalla, haz clic en la opción Feeds.
  2. Haz clic en el botón azul "+ New Feed".
  3. En la casilla Name, escribe el nombre para tu sensor (por ejemplo: Temperatura).
  4. Haz clic en Create.
  5. Ahora verás tu feed en la lista. Presta atención a la columna que dice Key:
    • Adafruit convierte automáticamente el nombre a minúsculas y reemplaza los espacios por guiones (ejemplo: si lo llamaste Sensor Uno, su clave será sensor-uno).
    • Este valor en minúsculas es tu Feed Key, el cual usarás en el código de Thonny para completar el tópico de publicación: tu_username/feeds/tu-feed-key.

Paso 4: Crear el Dashboard y la Gráfica
El Dashboard es la interfaz visual (la pantalla) donde acomodarás los gráficos y botones para interactuar desde la computadora o el celular.
  1. En el menú superior, haz clic en Dashboards.
  2. Haz clic en el botón azul "+ New Dashboard".
  3. Ponle un nombre descriptivo (por ejemplo: Control ESP32) y haz clic en Create.
  4. Haz clic sobre el nombre del Dashboard que acabas de crear para entrar en él. Verás un lienzo completamente negro o vacío.
  5. Haz clic en el botón "+" azul (Create New Block) en la barra de herramientas superior derecha.
  6. Se abrirá un catálogo de componentes visuales. Selecciona Line Chart (Gráfico de líneas).
  7. Aparecerá una lista con tus feeds. Marca la casilla de verificación al lado del feed que creaste en el Paso 3 (por ejemplo: Temperatura) y haz clic en Next Step.
  8. En esta última ventana puedes personalizar el gráfico: ponerle un título, definir los valores mínimos/máximos del eje Y, o cambiar el color de la línea.
  9. Haz clic en Create Block y ¡listo! Tu gráfica aparecerá en pantalla lista para recibir los datos de tu placa.

Resumen de lo que debes pegar en Thonny:
Al terminar este tutorial, deberías tener tus cuatro parámetros listos en tu script de MicroPython de la siguiente manera:
python
ADAFRUIT_USERNAME = "El_Username_del_Paso_2"
ADAFRUIT_AIO_KEY  = "La_Active_Key_del_Paso_2"
FEED_KEY          = "el-nombre-en-minusculas-del-Paso_3"

# Tu dirección final de publicación MQTT será:
MQTT_TOPIC = f"{ADAFRUIT_USERNAME}/feeds/{FEED_KEY}"
Usa el código con precaución.
¿Lograste visualizar la ventana emergente de "My Key" correctamente en la página web, o necesitas que preparemos el código definitivo para enlazar la rampa y el triángulo que mencionaste antes a dos feeds distintos?

tutorial paso a paso para configurar tu graficador en Adafruit IO

 

Para visualizar los datos que estás enviando desde tu simulación en Bash o desde tu ESP32, necesitas crear un Dashboard (tablero de control) y añadirle un bloque de gráfica de líneas (Line Chart).
A continuación, tienes el tutorial paso a paso para configurar tu graficador en Adafruit IO:

Paso 1: Crear o verificar tu Feed
Antes de hacer la gráfica, necesitas un Feed (el canal donde se guardan tus datos). Si ya creaste uno con tu script (por ejemplo, mi-sensor), puedes saltar al Paso 2. Si no:
  1. Inicia sesión en Adafruit IO.
  2. En el menú superior, haz clic en Feeds.
  3. Haz clic en el botón New Feed (Nuevo Feed).
  4. Asigna un nombre (por ejemplo, mi-sensor) y haz clic en Create.

Paso 2: Crear un nuevo Dashboard
  1. En el menú superior de la página, haz clic en Dashboards (Tableros).
  2. Haz clic en el botón New Dashboard (Nuevo Tablero).
  3. En la ventana emergente, escribe un nombre para identificarlo (ej. Control de Sensores) y una descripción opcional.
  4. Haz clic en Create. Verás tu nuevo dashboard en la lista; haz clic sobre su nombre para abrirlo.

Paso 3: Añadir el bloque de gráfica (Line Chart)
  1. Con tu dashboard vacío abierto, haz clic en el botón "+" (Create a new block) ubicado en la esquina superior derecha.
  2. Se abrirá una lista con diferentes tipos de bloques visuales (botones, barras, mapas). Busca y selecciona el bloque llamado Line Chart (Gráfica de líneas).

Paso 4: Vincular la gráfica con tu Feed
  1. Al seleccionar Line Chart, aparecerá una lista con todos tus feeds disponibles.
  2. Busca tu feed (ej. mi-sensor) y marca la casilla que está a su lado.
    • Nota: Si estás enviando datos de varios sensores, puedes marcar más de una casilla para graficar múltiples líneas en el mismo recuadro.
  3. Haz clic en el botón Next step (Siguiente paso) en la parte inferior.

Paso 5: Personalizar la gráfica
En esta última pantalla puedes ajustar los detalles visuales de tu graficador:
  • Block Title: Dale un título a la gráfica (ej. Historial del Sensor).
  • X-Axis Label / Y-Axis Label: Ponle etiquetas a los ejes si lo deseas (ej. Tiempo en el eje X, y Porcentaje % en el eje Y).
  • Show History: Elige cuánto tiempo hacia atrás quieres que muestre la gráfica (puedes elegir que muestre los datos de la última hora, las últimas 24 horas, etc.).
  • Cuando termines de configurarlo a tu gusto, haz clic en Create block (Crear bloque).

Paso 6: Organizar tu tablero
  1. Tu gráfica aparecerá inmediatamente en el dashboard.
  2. Si quieres cambiarla de tamaño o moverla de lugar, haz clic en el icono de engranaje verde de la esquina superior derecha y selecciona Edit Layout (Editar diseño).
  3. Arrastra los bordes del bloque para hacerlo tan grande como quieras y haz clic en Save Layout (Guardar diseño).
¡Listo! En cuanto ejecutes tu script de Bash o tu código de ESP32, verás cómo la línea de la gráfica empieza a actualizarse automáticamente en tiempo real cada vez que recibe un nuevo valor.
Para complementar tu tablero, dime:
  • ¿Te gustaría aprender a agregar un bloque indicador (como un indicador de aguja o "Gauge") para ver el valor actual del sensor?
  • ¿Quieres configurar una alerta por correo electrónico en Adafruit IO para cuando el sensor llegue a 100?

Bash combinado con comandos curl que envíen las peticiones POST a la API REST de Adafruit IO

 

Puedes crear la simulación utilizando un bucle while infinito en Bash combinado con comandos curl que envíen las peticiones POST a la API REST de Adafruit IO.
Para interactuar con la cuenta indicada (profeitm), el script asume que tienes acceso a ella o que estás enviando los datos a un feed bajo tu propio usuario mediante tu X-AIO-Key.
Aquí tienes el script completo listo para guardar y ejecutar:
bash
#!/bin/bash

# --- CONFIGURACIÓN DE ADAFRUIT IO ---
# Reemplaza con tu usuario y clave activa de Adafruit IO
IO_USERNAME="TU_USUARIO_ADAFRUIT_IO"
IO_KEY="TU_AIO_KEY"

# Nombre del feed que creaste (por ejemplo: "mi-sensor")
FEED_KEY="mi-sensor"

# URL de la API REST de Adafruit IO para enviar datos
URL="https://adafruit.com{IO_USERNAME}/feeds/${FEED_KEY}/data"

# --- SIMULACIÓN DEL SENSOR ---
# Inicializamos el valor en 0
valor=0

echo "Iniciando simulación del sensor..."
echo "Enviando datos a: $URL"
echo "Presiona [CTRL+C] para detener."

while true; do
    echo "--------------------------------------"
    echo "Valor actual del sensor: $valor"
    
    # Enviar el dato usando curl (método POST con JSON)
    curl -X POST "$URL" \
         -H "X-AIO-Key: $IO_KEY" \
         -H "Content-Type: application/json" \
         -d "{\"value\": \"$valor\"}"
    
    echo -e "\n[Dato enviado] Esperando 5 segundos..."
    
    # Pausa de 5 segundos
    sleep 5
    
    # Incrementar el valor de 10 en 10
    valor=$((valor + 10))
    
    # Si pasa de 100, vuelve a empezar en 0
    if [ $valor -gt 100 ]; then
        valor=0
    fi
done
Usa el código con precaución.
Instrucciones para ejecutarlo:
  1. Guarda el código: Abre tu terminal o un editor de texto y guarda este script en un archivo llamado simulador.sh.
  2. Reemplaza tus credenciales: Modifica las variables IO_USERNAME, IO_KEY y FEED_KEY con tus datos de acceso.
  3. Dale permisos de ejecución: En la terminal, ejecuta el siguiente comando:
    bash
    chmod +x simulador.sh
    
    Usa el código con precaución.
  4. Ejecuta el script: Corre el simulador usando:
    bash
    ./simulador.sh
    
    Usa el código con precaución.
Una vez que empiece a correr, verás en la terminal cómo el valor aumenta de 10 en 10 cada 5 segundos. Al llegar a 100 volverá a 0 de forma automática y podrás ver la gráfica reflejada en tiempo real dentro de tu panel de Adafruit IO.
Si necesitas modificar el script, dime:
  • ¿Deseas enviar los datos de forma aleatoria en lugar de una secuencia fija?
  • ¿Quieres simular dos sensores al mismo tiempo usando el mismo script?