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

Aprende a enviar múltiples valores a Ubidots utilizando una placa SODAQ.

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.

El MultiConnect® mDot™ es un módulo listo para LoRaWAN™ con un factor de forma Xbee, capaz de comunicación bidireccional a distancias superiores a 10 millas / 16 km al aire libre.

Aquí aprenderás a usar tu Multiconnect mDot con SODAQ Autonomo y Ubidots con nuestra biblioteca.

Requisitos

Para poder ver los datos transmitidos por el mDot necesitarás una puerta de enlace LoRa. Consulta nuestro tutorial de LoRa MultiTech MultiConnect Conduit aquí

Configuración

  1. Descarga Arduino IDE aquí

  2. Ve a Arduino IDE Archivo -> Preferencias -> URLs adicionales del gestor de placas y agrega esta línea: “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-mdot aquí

  5. Ve a 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 Arduino IDE y ábrelo nuevamente.

Enviar un valor a Ubidots

El siguiente ejemplo explica cómo enviar un valor de Temperatura desde SODAQ Autonomo + Multiconnect mDot a Multitech Multiconnect Conduit. Por favor, no olvides cambiar tu GATEWAY_SSID, GATEWAY_PASS y GATEWAY_SUB_BAND.

#include <SODAQMdot.h>// Pon aquí tu SSID de la puerta de enlace LoRa#define GATEWAY_SSID "Your_Lora_Gateway_SSID"// Pon aquí tu PASS de la puerta de enlace LoRa#define GATEWAY_PASS "Your_Lora_Gateway_PASS"// Pon aquí la sub-banda de frecuencia de la puerta de enlace LoRa#define GATEWAY_SUB_BAND "1"Ubidots loraClient;void setup(){    // El código no comenzará a menos que el monitor serial esté abierto o hayan pasado 10 seg    // en caso de que quieras operar el Autonomo con una fuente de alimentación externa    while ((!SerialUSB) && (millis() < 10000))        ;    SerialUSB.begin(115200);    SerialUSB.println("¡Aquí comenzamos!");    Serial1.begin(115200);    loraClient.setOnBee(BEE_VCC, BEEDTR, BEECTS);    while(!loraClient.loraConnection(GATEWAY_SSID, GATEWAY_PASS, GATEWAY_SUB_BAND));}void loop() {    float value = analogRead(A0);    loraClient.add("Temperature", value);    loraClient.loraSend();    delay(1000);}

Enviar múltiples valores a Ubidots

El siguiente ejemplo explica cómo enviar Temperatura, Humedad, Índice de Calor y Velocidad del Viento desde SODAQ Autonomo + Multiconnect mDot a tu Multitech Multiconnect Conduit. Por favor, no olvides cambiar tu GATEWAY_SSID, GATEWAY_PASS y GATEWAY_SUB_BAND.

#include <SODAQMdot.h>// Pon aquí tu SSID de la puerta de enlace LoRa#define GATEWAY_SSID "Your_Lora_Gateway_SSID"// Pon aquí tu PASS de la puerta de enlace LoRa#define GATEWAY_PASS "Your_Lora_Gateway_PASS"// Pon aquí la sub-banda de frecuencia de la puerta de enlace LoRa#define GATEWAY_SUB_BAND "1"Ubidots loraClient;void setup(){    // El código no comenzará a menos que el monitor serial esté abierto o hayan pasado 10 seg    // en caso de que quieras operar el Autonomo con una fuente de alimentación externa    while ((!SerialUSB) && (millis() < 10000))        ;    SerialUSB.begin(115200);    SerialUSB.println("¡Aquí comenzamos!");    Serial1.begin(115200);    loraClient.setOnBee(BEE_VCC, BEEDTR, BEECTS);    while(!loraClient.loraConnection(GATEWAY_SSID, GATEWAY_PASS, GATEWAY_SUB_BAND));}void loop() {    float value0 = analogRead(A0);    float value1 = analogRead(A1);    float value2 = analogRead(A2);    float value3 = analogRead(A3);    loraClient.add("Temperature",value0);    loraClient.add("Humidity",value1);    loraClient.add("Heat Index",value2);    loraClient.add("Wind speed",value3);    loraClient.loraSend();    delay(1000);}
¿Ha quedado contestada tu pregunta?