Tabla de contenido:

Datos meteorológicos con Google Sheets y Google Script: 7 pasos
Datos meteorológicos con Google Sheets y Google Script: 7 pasos

Video: Datos meteorológicos con Google Sheets y Google Script: 7 pasos

Video: Datos meteorológicos con Google Sheets y Google Script: 7 pasos
Video: Curso Google Apps Script desde 0 - 1 - Introducción 2024, Noviembre
Anonim
Datos meteorológicos con Google Sheets y Google Script
Datos meteorológicos con Google Sheets y Google Script

En este Blogtut, vamos a enviar las lecturas del sensor SHT25 a las hojas de Google usando Adafruit huzzah ESP8266 que ayuda a enviar los datos a Internet.

  • Enviar datos a la celda de la hoja de Google es una forma muy útil y básica que guarda los datos en forma tabular en línea.
  • En lugar de usar cualquier tipo de puente especial como presionar una caja o MQTT NODE RED o cualquier otro tipo de API REST, vamos a enviar los datos usando el script de Google que recibe fácilmente los datos del sensor usando el enlace de script provisto por el aplicación de secuencia de comandos de Google después de la publicación
  • Podemos usar la secuencia de comandos para enviar los datos desde la hoja de Google, los documentos o incluso a la unidad de Google.
  • Simplemente no termine aquí más, puede conectar las hojas de Google con cualquier aplicación basada en web para compartir los datos con los usuarios de la manera que quisieran.
  • No se deben pagar cargos adicionales a diferencia de los otros servidores en línea aquí y puede almacenar los datos hasta un máximo de 10 GB en la cuenta de usuario y puede usar
  • Uno de los mejores esfuerzos es que puede aprender a conectar los datos a Internet con este tipo de aplicación en tiempo real fácilmente.
  • Vamos a utilizar la conexión I2C que realiza el protocolo maestro-esclavo para compartir los datos con las hojas de Google de manera flexible.
  • La plataforma del protocolo I2C conecta el hardware del sensor y funciona con alrededor de 256 sensores a la vez utilizando solo 2 cables pull up para transferir los datos del sensor en hardware de 8 bits

Paso 1: hardware

Kits de plumas de Adafruit HUZZAH

Tablero de Adafruit Feather Huzzah

Adafruit I2C integrado y adaptador USB

Sensor de temperatura y humedad SHT25

Cable I2C

Paso 2: Cómo funcionan las cosas

Obtener las lecturas de los datos en tiempo real de los sensores a través de ESP8266 y enviar los datos a diferentes plataformas en la nube es mucho más simple.

Vamos a utilizar la biblioteca Wire.h en Arduino IDE para crear la comunicación de dos cables entre la placa Adafruit Huzzah y el módulo I2C del sensor SHT25 y el cable I2C.

Nota: Para evitar la compleja estructura de cableado, voy a utilizar el adaptador I2C para Adafruit Huzzah diseñado para conectar el sensor I2C.

Para que el novato configure el Esp8266, debe pasar por la configuración del ESP8266

Primero inicialice las bibliotecas:

  • Biblioteca de cables
  • ESP8266WiFi
  • WiFiClientSecure

Paso 3: Proceso de ejecución del módulo I2C en Arduino IDE

Después de inicializar las bibliotecas, definiremos el proceso I2C que se utilizará para obtener las lecturas del sensor, convertirlas y cambiar los datos de 8 bits según los requisitos:

Inicializar los registros en el protocolo I2C de dos cables para el módulo del sensor I2C

#define Addr 0x40

  • Inicie la transmisión I2C e inicialice los registros y solicite datos de 2 bytes desde donde leeremos los datos del sensor.
  • Si los datos de 2 bytes estarán disponibles, lea los datos del sensor y utilizando las fórmulas mencionadas a continuación, estamos convirtiendo los valores deseados

humedad de flotación = (((datos [0] * 256,0 + datos [1]) * 125,0) / 65536,0) - 6;

float cTemp = (((datos [0] * 256.0 + datos [1]) * 175.72) / 65536.0) - 46.85;

float fTemp = (cTemp * 1.8) + 32;

Imprima los valores en una pantalla de monitor en serie

Paso 4: Conexión ESP8266 con WiFi y hoja de cálculo de Google

Después de la ejecución de los módulos I2C, aprenderemos cómo obtener los datos y cómo usar las bibliotecas WiFi y la identificación del host, así como las claves API para enviar los datos a las hojas de Google.

  • Definir las credenciales WiFi a nivel mundial en ESP8266 que nos ayudarán a conectar la placa con Internet
  • Ya que vamos a utilizar el cliente HTTP y definiremos el protocolo HTTPS = 443 para asegurar la ruta HTTP, ya que el script funcionará solo en la ruta segura.
  • Inicializar los detalles del host en el código

const char * host = "script.google.com";

const int httpsPort = 443;

String SCRIPT_ID = "mencione el ID del script como se menciona en las instantáneas";

Nota: La ID de secuencia de comandos se menciona en la "URL de las aplicaciones web", mientras que el código de Gscript se publicará, simplemente copie y pegue la ID que se menciona a continuación e inicialice en los comandos anteriores

  • También usando volatile with variable, vamos a inicializar la variable globalmente que recupera los datos del módulo I2C y los envía al script URL que luego enviará los datos al destino.
  • Usando la biblioteca WiFi ESP8266 podremos conectar la placa a internet
  • Los datos del sensor se alojarán en un servidor local cada 5 segundos.

  • Con la ayuda de la secuencia de comandos de URL, los datos se alojarán en la página activa del enlace publicado de la secuencia de comandos de Google después de cada 15 segundos.

Paso 5: Automatice la hoja de Google con GScript Editor

Automatizar la hoja de Google con GScript Editor
Automatizar la hoja de Google con GScript Editor
Automatizar la hoja de Google con GScript Editor
Automatizar la hoja de Google con GScript Editor
Automatizar la hoja de Google con GScript Editor
Automatizar la hoja de Google con GScript Editor

Como todos tenemos una cuenta de Google para iniciar sesión en la hoja de Google con su cuenta

  • Mencione los valores que necesita obtener del sensor conectado con ESP8266
  • Vaya a Herramientas> Editor de secuencias de comandos
  • Utilice la función "Doget" para recibir los eventos
  • En la función "Doget" para inicializar la clave API de la hoja de cálculo, así como conectar la hoja activa donde desea enviar los valores del sensor
  • Con la ayuda de la función de automatización que se menciona en el código para representar los datos en filas y columnas fácilmente.
  • Finalmente, guarde los datos y haga clic en "Publicar" >> Haga clic en "Implementar como aplicaciones web"
  • Asegúrese siempre que haya algún cambio para seleccionar la "versión del proyecto" >> "Nuevo" >> presione "actualizar"

La URL actual de la aplicación web aparecerá como se muestra a continuación:

script.google.com/macros/s/ GScript ID”/ exec:

más utilizado en el código ESP8266 para obtener los datos de los sensores

Conexiones de alojamiento Vamos a utilizar la solicitud HTTPS Get para conectar los datos al ID de host mencionado en el editor de gscript, donde codificamos nuestros datos para conectarnos con la hoja de Google.

función doGet (e) {Logger.log (JSON.stringify (e)); // ver los parámetros var result = 'Ok'; // asumir el éxito if (e.parameter == 'undefined') {result = 'Sin parámetros'; } else {var sheet_id = ''; // ID de hoja de cálculo var sheet = SpreadsheetApp.openById (sheet_id).getActiveSheet (); var newRow = sheet.getLastRow () + 1; var rowData = ; } Logger.log (JSON.stringify (rowData)); // Escribe una nueva fila debajo de var newRange = sheet.getRange (newRow, 1, 1, rowData.length); newRange.setValues ([rowData]); }

Paso 6: Limitaciones:

Limitaciones
Limitaciones
  • Este proyecto solo se limita a almacenar los datos del sensor I2C en las hojas de Google
  • Estamos utilizando la solicitud HTTPS GET para recibir los valores a través de las funciones I2C
  • Tenemos que cambiar el valor en formato de cadena y luego enviar los datos al enlace URL de gscript.

Paso 7: Código, Créditos, Referencia

Código Github:

github.com/varul29/SHT25_GoogleSheets_Goog…

Referencia

Código I2C:

Tutorial de Google Script:

Tienda integrada:

Blog de tutoriales:

Recomendado: