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
Descargue la biblioteca ubidots-arduino-wifi.
Vaya al IDE de Arduino, haga clic en Sketch -> Incluir Biblioteca -> Agregar Biblioteca .ZIP
Seleccione el archivo .ZIP descargado y luego “Aceptar” o “Elegir”
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);}