Ir al contenido principal
Todas las coleccionesConecta tus dispositivos
Conectar el SODAQ Autonomo con GPRSbee y Ubidots
Conectar el SODAQ Autonomo con GPRSbee y Ubidots

Aprende a configurar el SODAQ Autonomo con GPRSbee y Ubidots.

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

El Autonomo es una placa compacta compatible con Arduino que utiliza el microcontrolador Atmel Cortex M0+ de 32 bits. Fue diseñado para ser autónomo (autosuficiente) al permitir que sea alimentado por un panel solar.

Esta guía explica cómo enviar datos a Ubidots desde el SODAQ Autonomo a través de GPRS.

Requisitos

Configuración

  1. Descarga el Arduino IDE aquí

  2. En el Arduino IDE ve a Archivo -> Preferencias -> URLs adicionales del gestor de placas y agrega esta línea allí “http://downloads.sodaq.net/package_sodaq_index.json”.

  3. Abre el Gestor de Placas a través de Herramientas -> Placa -> Gestor de Placas y busca las placas “SODAQ”, luego selecciona las placas “SODAQ SAMD” para el Autonomo.

  4. Descarga la biblioteca ubidots-sodaq-gprsbee aquí

  5. Ve al Arduino IDE, haz clic en Sketch -> Incluir Biblioteca -> Agregar Biblioteca .ZIP

  6. Selecciona el archivo .ZIP descargado y luego haz clic en “Aceptar” o “Elegir”

  7. Cierra el Arduino IDE y ábrelo nuevamente.

La biblioteca SODAQGPRSbee crea una nueva Fuente de Datos de Ubidots llamada “SODAQGPRSbee”. Allí la biblioteca guardará tus variables

Enviar un valor a Ubidots

Para enviar un valor a Ubidots, carga este código en el Autonomo. Por favor, no olvides cambiar tu TOKEN, APN, USER_APN y PASS_APN.

#include <SODAQGPRSbee.h>// Pon aquí tu APN de SIM#define APN "Your_APN"// Pon aquí tu USUARIO de APN de SIM#define USER "Your_USER_APN"// Pon aquí tu CONTRASEÑA de APN de SIM#define PASSWORD "Your_PASSWORD_APN"Ubidots Client;void setup(){    // El código no comenzará a menos que el monitor serial esté abierto o pasen 10 seg    // en caso de que quieras operar el Autonomo con una fuente de alimentación externa    while ((!SerialUSB) && (millis() < 10000))        ;    SerialUSB.begin(115200);    Serial1.begin(115200);    Client.setOnBee(BEE_VCC, BEEDTR, BEECTS);    while(!Client.setApn(APN, USER, PASSWORD));}void loop() {    float value = analogRead(A0);    Client.add("Temperature",value);    Client.sendAll();    delay(1000);}

Enviar múltiples valores a Ubidots

Para enviar múltiples valores a Ubidots, carga este código en el Autonomo. Por favor, no olvides cambiar tu TOKEN, APN, USER_APN y PASS_APN.

#include <SODAQGPRSbee.h>// Pon aquí tu APN de SIM#define APN "Your_APN"// Pon aquí tu USUARIO de APN de SIM#define USER "Your_USER_APN"// Pon aquí tu CONTRASEÑA de APN de SIM#define PASSWORD "Your_PASSWORD_APN"Ubidots Client;void setup(){    // El código no comenzará a menos que el monitor serial esté abierto o pasen 10 seg    // en caso de que quieras operar el Autonomo con una fuente de alimentación externa    while ((!SerialUSB) && (millis() < 10000))        ;    SerialUSB.begin(115200);    Serial1.begin(115200);    Client.setOnBee(BEE_VCC, BEEDTR, BEECTS);    while(!Client.setApn(APN, USER, PASSWORD));}void loop() {    float value0 = analogRead(A0);    float value1 = analogRead(A1);    float value2 = analogRead(A2);    float value3 = analogRead(A3);    Client.add("Temperature",value0);    Client.add("Speed",value1);    Client.add("Heat Index",value2);    Client.add("Humidity",value3);    Client.sendAll();    delay(1000);} 

Enviar múltiples valores con geoposición

La biblioteca tiene una función para agregar información extra dentro de una variable. En el siguiente ejemplo, el código enviará un valor de Temperatura y dentro de la variable se guardará información extra: latitud y longitud. Por favor, no olvides cambiar tu TOKEN, APN, USER_APN y PASS_APN.

Ubidots tiene un widget para mostrar la posición en un mapa. Para mostrar la posición, este widget necesita recibir la latitud y longitud en un formato específico. El formato es “lat” para latitud y “lng” para longitud.

#include <SODAQGPRSbee.h>// Pon aquí tu APN de SIM#define APN "Your_APN"// Pon aquí tu USUARIO de APN de SIM#define USER "Your_USER_APN"// Pon aquí tu CONTRASEÑA de APN de SIM#define PASSWORD "Your_PASSWORD_APN"Ubidots Client;void setup(){    // El código no comenzará a menos que el monitor serial esté abierto o pasen 10 seg    // en caso de que quieras operar el Autonomo con una fuente de alimentación externa    while ((!SerialUSB) && (millis() < 10000))        ;    SerialUSB.begin(115200);    Serial1.begin(115200);    Client.setOnBee(BEE_VCC, BEEDTR, BEECTS);    while(!Client.setApn(APN, USER, PASSWORD));}void loop() {    float value1 = analogRead(A0);    float value2 = analogRead(A1);    float value3 = analogRead(A2);    char context[25];    char context_2[25];    char context_3[45];    // Enviar latitud y longitud a Ubidots para verlo en un widget de mapa    sprintf(context, "lat=1.2343$lng=132.1233");    // Puedes enviar múltiples pares clave:valor a una variable; solo agrega un símbolo "$" entre cada par:        sprintf(context_3, "Name_Of_Context=Value_Of_Context$Name_Of_Context_2=Value_Of_Context_2$Name_Of_Context_3=Value_Of_Context_3");    ubidots.add("Temperature", value1, context);  // Cambia por el nombre de tu variable    ubidots.add("Temperature in my house", value3,  context_3);    ubidots.sendAll();    delay(5000);}
¿Ha quedado contestada tu pregunta?