Conexión de Arduino con Hoja de Cálculo - Configuración de Google Sheets

힘센캥거루
2024년 5월 29일(수정됨)
29
arduino

Recientemente decidimos con los estudiantes usar Arduino para observar la temperatura y humedad alrededor de la escuela y analizar los valores.
 
Necesitábamos una tarjeta SD para guardar los datos medidos por Arduino, y era un inconveniente retirar la tarjeta SD para verificar los datos. 
 
De repente pensé en almacenar los datos en la web.
 
El artículo de hoy trata sobre el primer paso para conectar Arduino con Google Sheets, que es la configuración de la hoja de cálculo de Google.

1. Hoja de cálculo de Google

La hoja de cálculo de Google es una aplicación web gratuita proporcionada por Google.
 
Funciona principalmente en el navegador, permite la edición y visualización conjunta, y se puede modificar la hoja a través de apps script con solicitudes https.
 
Primero, busca "Google Sheet" en Google y crea una hoja.

Conexión de Arduino con Hoja de Cálculo - Configuración de Google Sheets-1

Al iniciar sesión, aparecerá una ventana como esta. Presiona la hoja de cálculo en blanco para crear una nueva hoja.

Conexión de Arduino con Hoja de Cálculo - Configuración de Google Sheets-2

 Si se ha creado una nueva hoja, haz lo siguiente.

  • Cambia el título de la hoja de cálculo y el nombre de la hoja a inglés (para evitar posibles errores).

  • Crea un índice para las columnas de datos.

Conexión de Arduino con Hoja de Cálculo - Configuración de Google Sheets-3Conexión de Arduino con Hoja de Cálculo - Configuración de Google Sheets-4

 Recuerda el ID de la hoja de cálculo en la barra de direcciones. 

El formato de la dirección es '/d/ID de la hoja de cálculo de Google/edit#gid=0'. Copia la parte del medio.

Conexión de Arduino con Hoja de Cálculo - Configuración de Google Sheets-5

Ahora el trabajo básico en la hoja de cálculo de Google ha terminado. Ahora configuraremos el script de la hoja. 

2. Configuración del script de la aplicación

Ve al menú de la hoja, [Extensiones] - [Apps Script].

Conexión de Arduino con Hoja de Cálculo - Configuración de Google Sheets-6

 Verás una ventana como esta. Ahora ingresa el código que desees en la función.

Conexión de Arduino con Hoja de Cálculo - Configuración de Google Sheets-7

 Introduce el siguiente código. Aquí, el ID de la hoja de Google y el nombre del valor deseado deben especificarse utilizando declaraciones switch y case.

function doGet(e) { 
  Logger.log( JSON.stringify(e) );
  var result = 'Ok';
  if (e.parameter == 'undefined') {
    result = 'No Parameters';
  }
  else {
    var sheet_id = 'tu ID de Google Sheet'; // Spreadsheet ID
    var sheet = SpreadsheetApp.openById(sheet_id).getActiveSheet();
    var newRow = sheet.getLastRow() + 1; 
    var rowData = [];
    var Curr_Date = new Date();
    rowData[0] = Curr_Date; // Date in column A
    var Curr_Time = Utilities.formatDate(Curr_Date, "Asia/Tokyo", 'HH:mm:ss');
    rowData[1] = Curr_Time; // Time in column B
    for (var param in e.parameter) {
      Logger.log('In for loop, param=' + param);
      var value = stripQuotes(e.parameter[param]);
      Logger.log(param + ':' + e.parameter[param]);
      switch (param) {
        case 'value1':
        rowData[2] = value; 
        result = 'Valor de value1 ingresado en la 3ª columna'; 
        break;
        case 'value2':
        rowData[3] = value;
        result += ' , Valor de value2 ingresado en la 4ª columna'; 
        break;
        default:
        result = "parámetro no soportado";
      }
    }
    Logger.log(JSON.stringify(rowData));
    var newRange = sheet.getRange(newRow, 1, 1, rowData.length);
    newRange.setValues([rowData]);
  }
  return ContentService.createTextOutput(result);
}
function stripQuotes( value ) {
  return value.replace(/^["']|['"]$/g, "");
}

 Una vez completada la entrada, despliega el código. Haz clic en "Desplegar" en la esquina superior derecha y luego en "Nuevo despliegue".

Conexión de Arduino con Hoja de Cálculo - Configuración de Google Sheets-8

En el nuevo despliegue, cambia el tipo a aplicación web, los usuarios con acceso a todos y luego presiona desplegar.

Si no cambias los permisos de acceso a todos, requerirá inicio de sesión. En ese caso, cambia los permisos a todos nuevamente.

Conexión de Arduino con Hoja de Cálculo - Configuración de Google Sheets-9Conexión de Arduino con Hoja de Cálculo - Configuración de Google Sheets-10

 Cuando presionas desplegar, solicita permiso de acceso. Haz clic en aprobar acceso.

Conexión de Arduino con Hoja de Cálculo - Configuración de Google Sheets-11

 Cuando aparezca la ventana de aprobación de acceso, haz clic en tu ID.

Conexión de Arduino con Hoja de Cálculo - Configuración de Google Sheets-12

 Aparece una advertencia, ignórala y haz clic en "Avanzado".

Conexión de Arduino con Hoja de Cálculo - Configuración de Google Sheets-13

 Haz clic en la sección "Ir a ~" que aparece abajo para permitir el permiso.

Conexión de Arduino con Hoja de Cálculo - Configuración de Google Sheets-14Conexión de Arduino con Hoja de Cálculo - Configuración de Google Sheets-15

Después, aparece una nueva ventana de despliegue. Copia la parte de la URL de la aplicación web para verificar si se ha configurado correctamente.

Conexión de Arduino con Hoja de Cálculo - Configuración de Google Sheets-16

3. Verificar la aplicación web

Si envías una solicitud GET a la URL de la aplicación web, los datos en la cadena de consulta se guardan en value1 y value2.

Agrega los siguientes datos al final de la URL de la aplicación web en la barra de direcciones y presiona enter. 

https://script.google.com/macros/s/ID de Google App Script/exec?value1="valorDeseado1"&value2="valorDeseado2"
Conexión de Arduino con Hoja de Cálculo - Configuración de Google Sheets-17

Esto se llama una cadena de consulta, donde se pasan datos en el formato anterior. Se agregan los valores deseados después del "?" y se unen con "&".

Si entras en Google Sheet, verás que los datos se han transferido correctamente como sigue.

Conexión de Arduino con Hoja de Cálculo - Configuración de Google Sheets-18

 No solo textos, también se pueden pasar números simples.

Conexión de Arduino con Hoja de Cálculo - Configuración de Google Sheets-19Conexión de Arduino con Hoja de Cálculo - Configuración de Google Sheets-20

Los valores están bien ingresados.

4. Conclusión

En este artículo, hemos discutido cómo ingresar datos en Google Sheets simplemente usando una solicitud GET.

Ahora solo falta enviar una solicitud GET a través de la comunicación https desde Arduino.

Continuaré en el siguiente artículo.

댓글을 불러오는 중...