Ir al contenido principal
Todas las coleccionesConecta tus dispositivos
Conectar un Arduino UNO + Ethernet Shield a Ubidots a través de HTTP
Conectar un Arduino UNO + Ethernet Shield a Ubidots a través de HTTP

Aprende a configurar y conectar el Arduino UNO + Ethernet Shield para enviar y recibir datos a través de HTTP hacia/desde Ubidots.

Sergio M avatar
Escrito por Sergio M
Actualizado hace más de 2 meses

Arduino es una plataforma de electrónica de código abierto basada en hardware y software fáciles de usar. La placa principal para Arduino es el Arduino UNO, que se conecta a una serie de diferentes shields para expandir sus posibilidades.

El Arduino UNO es una placa de microcontrolador basada en el ATmega328P, que contiene todo lo necesario para soportar el microcontrolador, incluyendo fuentes de alimentación simples a través de un cable USB, un adaptador de CA a CC, o mediante batería. Para obtener una visión general oficial del Arduino UNO, consulte su documentación aquí.

El Arduino Ethernet Shield se basa en el chip Ethernet Wiznet W5100, que soporta hasta 4 conexiones de socket simultáneamente y es ideal para soluciones IoT en el hogar, oficina o aplicaciones no industriales confiables.

Siguiendo esta guía, podrás POST y GET datos a/desde Ubidots utilizando el Ethernet Shield conectado a una placa Arduino UNO en solo un par de minutos!

Requisitos

Paso a Paso

1. Configuración de Hardware
2. Configuración del Arduino IDE
3. Enviando (POST) Datos a Ubidots
4. Recibiendo (GET) Datos de Ubidots
5. Resumen

1. Configuración de Hardware

1. Para comenzar, coloca el Ethernet Shield sobre el Arduino UNO y aplica una presión suave para conectar los pines del shield con los conectores de la placa. Ahora, con el Arduino Uno + Ethernet shield ensamblado, podrás conectarte a internet a través de una conexión Ethernet por cable.

2. Para establecer la conexión con la red, conecta un extremo del cable Ethernet al Ethernet Shield y el otro a un router o toma que proporcione servicios de red.

2. Configuración del Arduino IDE

1. Descarga la biblioteca Ubidots Ethernet e instálala. Para una explicación detallada de cómo instalar bibliotecas usando el Arduino IDE, consulta esta guía.

2. Antes de programar tu Ethernet Shield, es importante verificar si el hardware está funcionando correctamente. Para esto, recomendamos encarecidamente realizar la prueba de muestra proporcionada por Arduino. Ve a Sketch -> Examples -> Ethernet y selecciona el ejemplo "WebClient".

Para verificar la prueba y confirmar la conectividad, abre el Serial usando el ícono de "lupa" ubicado en la parte superior derecha del IDE. Si todo está funcionando correctamente, recibirás una respuesta del servidor de Google.com con la información de la página de Arduino.

2. Enviando (POST) Datos a Ubidots

Con el siguiente código de muestra podrás publicar las lecturas ANALÓGICAS tomadas del puerto analógico A0 de la placa Arduino.

1. Para publicar tu primer valor en Ubidots, abre el Arduino IDE y pega el código de muestra a continuación. Una vez que hayas pegado el código, necesitarás asignar tu único TOKEN de Ubidots y la dirección MAC del Ethernet shield.

/******************************** * Bibliotecas incluidas *******************************/#include <Ethernet.h>#include <SPI.h>#include <UbidotsEthernet.h>/******************************** * Constantes y objetos *******************************//* Asigna los parámetros de Ubidots */char const * TOKEN = "Assign_your_Ubidots_TOKEN_here"; // Asigna tu TOKEN de Ubidotschar const * VARIABLE_LABEL_1 = "temperature"; // Asigna la etiqueta de variable única para enviar los datoschar const * VARIABLE_LABEL_2 = "humidity"; // Asigna la etiqueta de variable única para enviar los datoschar const * VARIABLE_LABEL_3 = "pressure"; // Asigna la etiqueta de variable única para enviar los datos/* Ingresa una dirección MAC para tu controlador a continuación *//* Los shields Ethernet más nuevos tienen una dirección MAC impresa en una etiqueta en el shield */byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };/* inicializa la instancia */Ubidots client(TOKEN);/******************************** * Funciones Principales *******************************/void setup() { Serial.begin(9600); //client.setDebug(true);// descomenta esta línea para visualizar el mensaje de depuración /* inicia la conexión Ethernet */ Serial.print(F("Iniciando ethernet...")); if (!Ethernet.begin(mac)) { Serial.println(F("falló")); } else { Serial.println(Ethernet.localIP()); } /* Da al shield Ethernet un segundo para inicializar */ delay(2000); Serial.println(F("Listo"));}void loop() { Ethernet.maintain(); /* Lecturas de Sensores */ float value_1 = analogRead(A0); float value_2 = analogRead(A1); float value_3 = analogRead(A2); /* Enviando valores a Ubidots */ client.add(VARIABLE_LABEL_1, value_1); client.add(VARIABLE_LABEL_2, value_2); client.add(VARIABLE_LABEL_3, value_3); client.sendAll(); delay(5000);}

2. Verifica tu código dentro del Arduino IDE. Para hacer esto, en la esquina superior izquierda de nuestro Arduino IDE verás el ícono de "Marca de Verificación"; presiona para verificar tu código.

3. Sube el código a tu Arduino UNO + Ethernet Shield. Para hacer esto, elige el ícono de "flecha derecha" al lado del ícono de "marca de verificación".

4. Para verificar la conectividad del dispositivo y los datos enviados, abre el monitor serial seleccionando el ícono de "lupa" en la esquina superior derecha del Arduino IDE para ver los registros de conectividad.

5. Confirma tus datos en Ubidots. Ahora deberías ver los datos publicados en tu cuenta de Ubidots, ubicada en el dispositivo llamado "arduino-ethernet".

3. Recibiendo (GET) Datos de Ubidots

Con el siguiente código de muestra podrás obtener un valor de Ubidots para comenzar a controlar cualquier activo que desees.

1. Para comenzar a obtener valores de Ubidots, abre el Arduino IDE y pega el código de muestra a continuación. Una vez que hayas pegado el código, asegúrate de asignar los siguientes parámetros:

/******************************** * Bibliotecas incluidas *******************************/#include <Ethernet.h>#include <SPI.h>#include <UbidotsEthernet.h>/******************************** * Constantes y objetos *******************************//* Asigna los parámetros de Ubidots */char const * TOKEN = "Assign_your_Ubidots_TOKEN_here"; // Asigna tu TOKEN de Ubidotschar const * DEVICE_LABEL = "Assign_device_label_here"; // Asigna la etiqueta de dispositivo únicachar const * VARIABLE_LABEL = "Assign_variable_label_here"; // Asigna la etiqueta de variable única para obtener el último valor/* Ingresa una dirección MAC para tu controlador a continuación *//* Los shields Ethernet más nuevos tienen una dirección MAC impresa en una etiqueta en el shield */byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };/* inicializa la instancia */Ubidots client(TOKEN);/******************************** * Funciones Principales *******************************/void setup() { Serial.begin(9600); //client.setDebug(true);// descomenta esta línea para visualizar el mensaje de depuración /* inicia la conexión Ethernet */ Serial.print(F("Iniciando ethernet...")); if (!Ethernet.begin(mac)) { Serial.println(F("falló")); } else { Serial.println(Ethernet.localIP()); } /* Da al shield Ethernet un segundo para inicializar */ delay(2000); Serial.println(F("Listo"));}void loop() { Ethernet.maintain(); /* Obteniendo el último valor de una variable */ float value = client.getValue(DEVICE_LABEL, VARIABLE_LABEL); /* Imprimir el valor obtenido */ Serial.print("el valor recibido es:  "); Serial.println(value); delay(5000);}

2. Verifica & Sube el código a la placa siguiendo los mismos pasos proporcionados en el paso POST anterior.

3. Para verificar la conectividad del dispositivo y los datos que se están recibiendo, abre el monitor serial seleccionando el ícono de "lupa" en la esquina superior derecha del Arduino IDE para ver los registros de conectividad.

4. En el monitor serial, podrás ver el último valor recibido en Ubidots de la variable especificada en el firmware.

4. Resumen

Con este simple tutorial, podemos POST & GET datos a/desde Ubidots con la facilidad del Arduino IDE y un Arduino UNO + Ethernet Shield. Si deseas encontrar más ejemplos para manejar valores de contexto o timestamp en tu solicitud, consulta la documentación de Ubidots con el Ethernet Shield haciendo clic aquí.

Ahora es el momento de crear Dashboards de Ubidots para visualizar tus datos y desplegar tu solución IoT! ¡Feliz Hackeo! :)

Otros lectores también han encontrado útil...

¿Ha quedado contestada tu pregunta?