Ir al contenido principal
Todas las coleccionesConecta tus dispositivos
Conectar un Arduino UNO + GPRS Shield a Ubidots a través de TCP/UDP
Conectar un Arduino UNO + GPRS Shield a Ubidots a través de TCP/UDP

Aprende a configurar y conectar la placa Arduino Uno + GPRS Shield para enviar y recibir datos POST y GET a través de TCP/UDP hacia/desde Ubidots.

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

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 GPRS Shield se basa en el módulo SIM900 de SIMCOM. Es compatible con todas las placas que tienen el mismo factor de forma (y pinout) que una placa Arduino estándar.

El GPRS Shield se configura y controla a través de su UART utilizando simples comandos AT, se basa en el módulo SIM900 de SIMCOM y tiene aproximadamente el tamaño de una tarjeta de crédito.

Siguiendo esta guía, podrás POST y GET datos hacia/desde Ubidots utilizando una placa Arduino UNO con un GPRS Shield 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. Inserta la tarjeta SIM con un plan de datos activado en el GPRS Shield.

2. Coloca el GPRS Shield sobre el Arduino UNO y aplica una presión suave hasta que los pines del shield y los conectores de la placa estén firmemente conectados.

3. La biblioteca que se va a utilizar para manejar los datos con Ubidots utiliza el PIN digital "JP" del SIM900 (PIN 9 en el Arduino) para encender/apagar el GPRS shield. Asegúrate de que la almohadilla JP esté soldada. La almohadilla del pin JP se puede encontrar junto al puerto ISP de la placa GPRS. Para información adicional sobre cómo soldar la almohadilla JP, haz clic aquí.

2. Configuración del Arduino IDE

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

3. Enviando (POST) datos a Ubidots

Con el siguiente código de ejemplo podrás publicar las lecturas ANALÓGICAS tomadas del puerto analógico del Arduino UNO.

NOTA: Antes de ejecutar los ejemplos, asegúrate de tener un plan de datos activo. También necesitarás la configuración APN de tu operador móvil (APN, NOMBRE DE USUARIO, CONTRASEÑA). Deberías poder encontrar fácilmente estas configuraciones en Google o en el sitio web de tu operador.

1. Para publicar tu primer valor en Ubidots, abre el Arduino IDE y pega el código de ejemplo a continuación. Una vez que hayas pegado el código, necesitarás asignar tu único TOKEN de Ubidots y el APN (Nombre del Punto de Acceso) de tu proveedor celular con nombre de usuario y contraseña.

// Este ejemplo recupera el último valor de una variable de la API de Ubidots  // usando el protocolo TCP.         /****************************************                      * Incluir bibliotecas****************************************/#include <Ubidots.h>        /****************************************                      * Definir constantes****************************************/                     // Tus credenciales GPRS, si las hay     const char *APN = "Pon_el_APN_aquí";const char *USER = "Pon_el_usuario_APN_aquí";const char *PASS = "Pon_la_contraseña_APN_aquí";const char *TOKEN = "Pon_tu_token_Ubidots_aquí";const char *DEVICE_LABEL = "Pon_la_etiqueta_API_de_tu_dispositivo";const char *VARIABLE_LABEL = "Pon_la_etiqueta_API_de_tu_variable";           Ubidots client(TOKEN,APN,USER,PASS);/****************************************                      * Funciones auxiliares****************************************/                           // Pon aquí tus funciones auxiliares/****************************************                      * Funciones principales****************************************/void setup() {                        Serial.begin(115200);                         client.setDebug(true); // Establecer en verdadero para habilitar mensajes de depuración }                                          void loop() {  float value = analogRead(A0);  // Leyendo el pin analógico A0  client.add(VARIABLE_LABEL, value);  if(client.send()){    Serial.println("¡Datos enviados a Ubidots exitosamente!")  }                                         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"; presiónalo para verificar tu código.

3. Sube el código a tu Arduino UNO + GPRS Shield. Para hacer esto, elige el ícono de "flecha derecha" junto al í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, ubicados en el dispositivo llamado "GPRS".

4. Recibiendo (GET) datos de Ubidots

Con el siguiente código de ejemplo 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 ejemplo a continuación. Una vez que hayas pegado el código, asegúrate de asignar los siguientes parámetros:

// Este ejemplo recupera el último valor de una variable de la API de Ubidots                     // usando el protocolo TCP./***************************************** Incluir bibliotecas****************************************/#include <Ubidots.h>  /***************************************** Definir constantes****************************************/// Tus credenciales GPRS, si las hayconst char *APN = "Pon_el_APN_aquí";const char *USER = "Pon_el_usuario_APN_aquí";const char *PASS = "Pon_la_contraseña_APN_aquí";const char *TOKEN = "Pon_tu_token_Ubidots_aquí";const char *DEVICE_LABEL = "Pon_la_etiqueta_API_de_tu_dispositivo";const char *VARIABLE_LABEL = "Pon_la_etiqueta_API_de_tu_variable"; Ubidots client(TOKEN,APN,USER,PASS);/***************************************** Funciones auxiliares****************************************/                           // Pon aquí tus funciones auxiliares     /***************************************** Funciones principales****************************************/  void setup() {  Serial.begin(115200);  client.setDebug(true);// Establecer en verdadero para habilitar mensajes de depuración}void loop() {  float value = client.get(DEVICE_LABEL, VARIABLE_LABEL);  if(value!=ERROR_VALUE){    Serial.print("Obteniendo valor de la variable: ");    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 este punto, en el monitor serial, deberías poder ver el último valor de la variable especificada en el firmware que fue recibido en Ubidots.

5. Resumen

Con este simple tutorial, podemos POST & GET datos hacia/desde Ubidots con la facilidad del Arduino IDE y un Arduino UNO + GPRS 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 GPRS Shield haciendo clic aquí.

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

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

¿Ha quedado contestada tu pregunta?