Tabla de contenido:

CloudyData - ESP8266 a Google Sheets simplificado: 10 pasos (con imágenes)
CloudyData - ESP8266 a Google Sheets simplificado: 10 pasos (con imágenes)

Video: CloudyData - ESP8266 a Google Sheets simplificado: 10 pasos (con imágenes)

Video: CloudyData - ESP8266 a Google Sheets simplificado: 10 pasos (con imágenes)
Video: #EnVivoNoEnvivo Marcador Inteligente usando ESP8266 Y Google sheets 2024, Mes de julio
Anonim
CloudyData - ESP8266 a Google Sheets simplificado
CloudyData - ESP8266 a Google Sheets simplificado

He estado buscando almacenamiento de datos en la nube durante mucho tiempo durante los últimos años: es interesante monitorear datos de cualquier tipo de sensor, pero es más interesante si estos datos están disponibles en todas partes sin ninguna dificultad de almacenamiento, como usar tarjetas SD o similar, en almacenamiento local. Solía almacenar localmente en tarjetas SD datos de velocidad del viento hace años, antes de que IoT y los servicios en la nube comenzaran a ser fáciles de usar: ahora es posible un paso más allá con dificultades particulares, incluso si no eres un experto en IoT o un desarrollador.

En este instructivo, describiré cómo estoy monitoreando la calidad del aire dentro de casa, especialmente refiriéndome a la concentración de polvo y partículas cerca de mi impresora 3D, tratando de comprender si el proceso de impresión 3D es peligroso en términos de PM2.5, y cómo estoy utilizando Google Sheets para almacenar datos, sin necesidad de ningún servicio de terceros.

Paso 1: objetivo general

Objetivo general
Objetivo general

Quiero saber si vivir en presencia de una impresora 3D puede ser peligroso.

Para hacer esto, necesito datos y los datos deben almacenarse en la nube.

Quiero usar Google Sheets ya que es simple y efectivo.

Yo también quiero privacidad: compartir datos con Google no es mi primera opción, pero es mejor que usar servicios de terceros, como suelen hacer muchos blogueros.

El uso de Google Sheets es un paso hacia la carga de datos en un almacenamiento local personal como Nextcloud en un NAS simple: esto se describirá en un futuro instructivo.

Paso 2: primer paso: sensores

Primer paso: sensores
Primer paso: sensores
Primer paso: sensores
Primer paso: sensores

Utilizo 2 sensores para controlar la calidad del aire de mi hogar:

  • un módulo de sensor de detección de calidad del aire Nova PM Sensor SDS011, una gran pieza de hardware, relativamente fácil de usar con Arduino y placas similares. Puede usarlo con su propio software (¡solo Windows!:-() y adaptador USB, o conectándose a Arduino con bibliotecas. Se puede encontrar mucha información aquí:

    • inovafitness.com/en/a/chanpinzhongxin/95.ht…
    • www-sd-nf.oss-cn-beijing.aliyuncs.com/%E5%…
    • aqicn.org/sensor/sds011/
  • un escudo SHT30 de Wemos, para Wemos D1 mini: utilicé una versión v1.0.0, la versión actual es v2.1.0 pero tienen la misma huella, las mismas funcionalidades

    wiki.wemos.cc/products:d1_mini_shields:sht…

Paso 3: Segundo paso: Conexión al microcontrolador

Segundo paso: conexión al microcontrolador
Segundo paso: conexión al microcontrolador

Wemos D1 mini es probablemente la mejor manera de prototipar alrededor de ESP8266: conector microUSB, led integrado, protectores agradables listos para usar disponibles.

Conecté el escudo SHT30 en Wemos D1 mini directamente (¡cuida la orientación!), Luego conecté Nova Air Sensor a Wemos D1 mini de la siguiente manera:

Wemos GND pin Nova Sensor de aire GND

Sensor de aire Nova 5V pin Wemos 5V

Wemos D5 pin (pin RX) Sensor de aire Nova TX

Wemos D6 pin (pin TX) Sensor Nova Air RX

Puedes echar un vistazo aquí para obtener más información:

www.hackair.eu/docs/sds011/

www.zerozone.it/tecnologia-e-sicurezza/nov…

www.instructables.com/id/Make-one-PM25-mon…

Paso 4: tercer paso: creación de un boceto

Ahora necesita crear un boceto: tenemos suerte, algunos chicos desarrollaron bibliotecas específicas para Nova Air Sensor para que pueda escribir fácilmente su software.

El mío también usa la biblioteca SHT30 para medir y cargar datos de temperatura y humedad.

Mezclé un boceto que encontré en línea, especialmente el de nishant_sahay7, cuyo tutorial es completo y lleno de información. Lo puedes encontrar aquí.

Usé esta biblioteca:

Comentaré solo unas pocas líneas en el boceto que generé:

línea 76-77: despertando el sensor de polvo por un tiempo, luego se volverá a dormir, ya que las hojas de datos indican que está destinado a funcionar alrededor de 8000 horas, lo cual es más que suficiente, pero no infinito

sds.wakeup (); retraso (30000); // trabajando 30 segundos

línea 121: los datos enviados son temperatura, humedad, PM2.5 y PM10

sendData (t, h, pm2_5, pm10);

línea 122-123: No uso ESP.deepSleep, lo intentaré en el futuro; a estas alturas, un simple retraso (90000) será suficiente para que los datos se envíen cada 30 s + 90 s = 2 minutos, más o menos

//ESP.deepSleep(dataPostDelay);

retraso (90000);

línea 143:

esta es la línea más importante, el orden en el que crea String_url para cargar datos debe ser el mismo que usará en Google Script (consulte los siguientes pasos)

String url = "/ macros / s /" + GAS_ID + "/ exec? Temperature =" + string_x + "& humedad =" + string_y + "& PM2.5 =" + string_z + "& PM10 =" + string_k;

Paso 5: Cuarto paso: preparación de la hoja de Google y su secuencia de comandos

Cuarto paso: preparación de la hoja de Google y su secuencia de comandos
Cuarto paso: preparación de la hoja de Google y su secuencia de comandos
Cuarto paso: preparación de la hoja de Google y su secuencia de comandos
Cuarto paso: preparación de la hoja de Google y su secuencia de comandos
Cuarto paso: preparación de la hoja de Google y su secuencia de comandos
Cuarto paso: preparación de la hoja de Google y su secuencia de comandos

Los créditos van a nishant_sahay7, como dije.

Simplemente vuelvo a publicar aquí su trabajo, agregando algunos consejos para futuras mejoras y modificaciones:

  1. Configuración de Hojas de cálculo de Google

    1. Abra Google Drive y cree una nueva hoja de cálculo y asígnele un nombre, luego proporcione los campos con los parámetros que desea definir.
    2. La identificación de la hoja se muestra en la figura 2
    3. Vaya a Tools-Script Editor (figura 3)
    4. Dar el mismo nombre que el de la hoja de cálculo (figura 4)
    5. Elija el código de aquí y péguelo en la ventana del editor de secuencias de comandos (figura 5)

      Reemplace var sheet_id con su ID de hoja de cálculo del paso 2

    6. Ir a Publicar - Implementar como aplicación web (figura 6)
    7. Cambie el tipo de acceso a cualquiera, incluso anónimo, e implemente (figura 7)
    8. Vaya a Revisar permisos (figura 8)
    9. Elija Avanzado (figura 9)
    10. Elija Ir a (nombre de archivo) y luego permita (figura 10)
    11. Copie la URL de la aplicación web actual y haga clic en Aceptar (figura 11)
  2. Obtener el ID de Google Script

    • La URL copiada será algo como: https://script.google.com/macros/s/AKfycbxZGcTwqe… El enlace anterior tiene la forma de: https://script.google.com/macros/s/AKfycbxZGcTwqe…/exec Entonces, aquí el ID de Google Script es: AKfycbxZGcTwqeDgF3MBMGj6FJeYD7mcUcyo2V6O20D6tRlLlP2M_wQ Se utilizará para enviar los datos a Google Sheets: Ejemplo:

      script.google.com/macros/s/AKfycbxZGcTwqeD…

      Pegar el enlace anterior en una nueva ventana y presionar Enter enviará datos a Google Sheet y aparecerá un mensaje de confirmación en la ventana. Los datos enviados serán

      • temperatura = 1
      • humedad = 2
      • PM2.5 = 3
      • PM10 = 33,10
  3. Cambie según sus necesidades

    debe cambiar el boceto de Google Script Y Arduino en consecuencia, para agregar o eliminar valores y columnas: compare la figura 5 y la figura 5b

Paso 6: Quinto paso: Conectando todos juntos

Quinto paso: conectar todos juntos
Quinto paso: conectar todos juntos

Ahora tiene un dispositivo que envía datos a Google Sheets, un Google Script capaz de recibir y asignar datos, un navegador es suficiente para ver datos, en la computadora o teléfono inteligente o lo que quiera.

Lo mejor sería administrar un poco estos datos, para mostrar solo unos pocos necesarios.

Paso 7: Sexto paso: Graficar datos

Sexto paso: graficar datos
Sexto paso: graficar datos
Sexto paso: graficar datos
Sexto paso: graficar datos

Para tener un panel simple pero interesante y útil, organicé mis datos de esta manera:

  1. la hoja de Google original, la principal, utilizada para recoger su ID para ingresar en Google Script, DEBE estar intacta y mantener su orden
  2. Genere otras dos hojas, siguiendo la principal

    1. uno para extraer solo unos pocos datos de todo el material, las últimas 24 horas, por ejemplo, para extraer datos, utilicé la función SORT y QUERY, insertando en la primera celda de los datos extraídos

      = CLASIFICAR (CONSULTA (Foglio1! A2: Z, "ordenar por un límite desc 694"), 1, 1)

    2. el otro para crear gráficos para mostrar valores, haciendo un panel simple

Paso 8: Séptimo paso: análisis de datos

Séptimo paso: análisis de datos
Séptimo paso: análisis de datos

Hice algunos análisis y puedo decir, a estas alturas, no debería haber ningún peligro al usar la impresora 3D (material: PLA) en términos de PM2.5 y PM10. Cada vez que comienzo una nueva impresión, los valores de partículas van al techo., solo por un tiempo: creo que esto se debe al polvo depositado anteriormente en la cama de la impresora 3D, de modo que cuando el ventilador efector llega a la placa, comienza a volar por todos lados. Después de unos minutos, el polvo desaparece ya que los ventiladores continúan soplando y los valores de PM2.5 y PM10 bajan a valores más bajos.

De hecho, se necesitan más datos y análisis.

Recomendado: