Ir al contenido principal
Todas las coleccionesConecta tus dispositivos
Conectar el Arduino UNO con Ubidots utilizando el Arduino Wi-Fi Shield
Conectar el Arduino UNO con Ubidots utilizando el Arduino Wi-Fi Shield

Aprende a usar el Arduino UNO con Ubidots.

Sergio M avatar
Escrito por Sergio M
Actualizado hace más de una semana

Ubidots-Arduino es una biblioteca de Arduino para interactuar con Ubidots a través de su API. La biblioteca también contiene el código para conectarse a su red WiFi.

Requisitos

¡Asegúrese de que el firmware de su WiFi shield esté actualizado! Consulte la guía de actualización de firmware de Arduino para más información.

Este producto ha sido retirado por Arduino. Aunque invertimos tiempo y recursos para hacer que esta biblioteca de código abierto funcione, no podemos garantizar su estabilidad ya que se ejecuta en productos de terceros. Comuníquese directamente con el fabricante del hardware para cualquier consulta relacionada con el dispositivo.

Configuración

  1. Vaya al IDE de Arduino, haga clic en Sketch -> Incluir Biblioteca -> Agregar Biblioteca .ZIP

  2. Seleccione el archivo .ZIP descargado y luego “Aceptar” o “Elegir

  3. Cierre el IDE de Arduino y ábralo nuevamente.

Para usar esta biblioteca, coloque su token de Ubidots y el ID de variable donde se indica, así como la configuración de WiFi. Después de cargar cada ejemplo en su Arduino, abra el monitor serial para verificar los resultados. Si no se ve ninguna respuesta, intente desconectar su Arduino y luego volver a conectarlo. Asegúrese de que la velocidad de baudios del monitor serial esté configurada a la misma que se especifica en su código.

Enviar valores a Ubidots

Para enviar múltiples valores a Ubidots, vaya a Sketch -> Ejemplos -> Biblioteca UbidotsArduino y seleccione el ejemplo “saveValues”.

#include <SPI.h>#include <WiFi.h>#include <UbidotsArduino.h>#define TOKEN  "Your_ubidots_token_here"#define VARLABEL_1  "Your_variable_ID_here"#define VARLABEL_2  "Your_variable_ID_here"#define VARLABEL_3  "Your_variable_ID_here"char ssid[] = "yourNetwork";    // su SSID de red (nombre)char pass[] = "secretPassword"; // su contraseña de redint keyIndex = 0;               // su número de índice de clave de red (necesario solo para WEP)int status = WL_IDLE_STATUS;Ubidots client(TOKEN);void setup(){    Serial.begin(9600);    while (!Serial) {        ; // esperar a que se conecte el puerto serial. Necesario solo para el puerto USB nativo    }    // verificar la presencia del shield:    if (WiFi.status() == WL_NO_SHIELD) {        Serial.println("WiFi shield no presente");        // no continuar:        while (true);    }    String fv = WiFi.firmwareVersion();    if (fv != "1.1.0") {        Serial.println("Por favor, actualice el firmware");    }    // intentar conectarse a la red Wifi:    while (status != WL_CONNECTED) {        Serial.print("Intentando conectarse a SSID: ");        Serial.println(ssid);        // Conectar a la red WPA/WPA2. Cambie esta línea si usa una red abierta o WEP:        status = WiFi.begin(ssid, pass);        // esperar 10 segundos para la conexión:        delay(10000);    }}void loop() {  float value = analogRead(A0);  float value2 = analogRead(A1);  float value3 = analogRead(A2);  client.add(VARLABEL_1,value);  client.add(VARLABEL_2,value2);  client.add(VARLABEL_3,value3);  client.sendAll();}

Obtener un valor de Ubidots

Para obtener el último valor de una variable de Ubidots, vaya a Sketch -> Ejemplos -> Biblioteca UbidotsArduino y seleccione el ejemplo “getValue”.

#include <SPI.h>#include <WiFi.h>#include <UbidotsArduino.h>#define VARLABEL  "Your_variable_label_here"#define TOKEN  "Your_ubidots_token_here"char ssid[] = "yourNetwork";    // su SSID de red (nombre)char pass[] = "secretPassword"; // su contraseña de redint keyIndex = 0;               // su número de índice de clave de red (necesario solo para WEP)int status = WL_IDLE_STATUS;Ubidots client(TOKEN);void setup(){    Serial.begin(9600);    while (!Serial) {        ; // esperar a que se conecte el puerto serial. Necesario solo para el puerto USB nativo    }    // verificar la presencia del shield:    if (WiFi.status() == WL_NO_SHIELD) {        Serial.println("WiFi shield no presente");        // no continuar:        while (true);    }    String fv = WiFi.firmwareVersion();    if (fv != "1.1.0") {        Serial.println("Por favor, actualice el firmware");    }    // intentar conectarse a la red Wifi:    while (status != WL_CONNECTED) {        Serial.print("Intentando conectarse a SSID: ");        Serial.println(ssid);        // Conectar a la red WPA/WPA2. Cambie esta línea si usa una red abierta o WEP:        status = WiFi.begin(ssid, pass);        // esperar 10 segundos para la conexión:        delay(10000);    }}void loop(){        float value = client.getValue(VARLABEL);}
¿Ha quedado contestada tu pregunta?