Taula de continguts:

CloudyData: ESP8266 a Fulls de càlcul de Google simplificat: 10 passos (amb imatges)
CloudyData: ESP8266 a Fulls de càlcul de Google simplificat: 10 passos (amb imatges)

Vídeo: CloudyData: ESP8266 a Fulls de càlcul de Google simplificat: 10 passos (amb imatges)

Vídeo: CloudyData: ESP8266 a Fulls de càlcul de Google simplificat: 10 passos (amb imatges)
Vídeo: Глобальные тренды 2020 — от Agile до IoT / Java Tech Talk 2024, Juliol
Anonim
CloudyData: senzill ESP8266 a Fulls de càlcul de Google
CloudyData: senzill ESP8266 a Fulls de càlcul de Google

Durant els darrers anys he estat buscant emmagatzematge de dades al núvol durant molt de temps: és interessant controlar dades de qualsevol tipus de sensor, però és més interessant si aquestes dades estan disponibles a qualsevol lloc sense cap dificultat d’emmagatzematge, com ara l’ús de targetes SD o similar, a l’emmagatzematge local. Fa anys que emmagatzemava localment a les targetes SD les dades de velocitat del vent, abans que els serveis d’IoT i de núvol fossin fàcils d’utilitzar: ara es pot fer un pas més enllà amb dificultats particulars, fins i tot si no sou un expert en IoT ni un desenvolupador.

En aquest instructiu, descriuré com estic monitoritzant la meva qualitat de l’aire a casa, especialment fent referència a la concentració de pols i partícules a prop de la meva impressora 3D, intentant entendre si el procés d’impressió 3D és perillós en termes de PM2.5 i com estic utilitzant Fulls de càlcul de Google per emmagatzemar dades, sense que calgui cap servei de tercers.

Pas 1: objectiu general

Objectiu general
Objectiu general

Vull saber si viure en presència d’una impressora 3D pot ser perillós.

Per fer-ho necessito dades i les dades s’han d’emmagatzemar al núvol.

Vull utilitzar Fulls de càlcul de Google, ja que és senzill i eficaç.

També vull privadesa: per tant, compartir dades amb Google no és la meva primera opció, però és millor que utilitzar serveis de tercers, com solen fer molts bloggers.

L'ús de Fulls de càlcul de Google és un pas cap a la pujada de dades a un emmagatzematge local personal, com ara Nextcloud en un NAS senzill: això es descriurà en un futur instructable.

Pas 2: primer pas: sensors

Primer pas: Sensors
Primer pas: Sensors
Primer pas: Sensors
Primer pas: Sensors

Utilitzo 2 sensors per controlar la qualitat de l’aire de casa meva:

  • un mòdul de sensor de detecció de la qualitat de l’aire Nova PM Sensor SDS011, un gran maquinari, relativament senzill d’utilitzar amb Arduino i taules similars. Podeu utilitzar-lo amb el seu propi programari (només per a Windows!:-() i adaptador USB, o bé connectar-vos a Arduino amb biblioteques. Es pot trobar molta informació aquí:

    • inovafitness.com/en/a/chanpinzhongxin/95.ht…
    • www-sd-nf.oss-cn-beijing.aliyuncs.com/%E5%…
    • aqicn.org/sensor/sds011/
  • un escut SHT30 de Wemos, per a Wemos D1 mini: he utilitzat una versió v1.0.0, la versió actual és v2.1.0 però tenen la mateixa petjada, les mateixes funcionalitats

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

Pas 3: segon pas: connectar-se al microcontrolador

Segon pas: Connexió al microcontrolador
Segon pas: Connexió al microcontrolador

Wemos D1 mini és probablement la millor manera de prototipar al voltant de l’ESP8266: connector microUSB, led integrat, bonics escuts disponibles per utilitzar.

Vaig connectar el blindatge SHT30 al Wemos D1 mini directament (tingueu cura de l’orientació), i després vaig connectar el Nova Air Sensor al Wemos D1 mini de la següent manera:

Wemos GND pin Nova sensor d'aire GND

Sensor Wemos 5V pin Nova Air 5V

Wemos D5 pin (RX pin) Nova Air sensor TX

Pin Wemos D6 (pin TX) Nova sensor d'aire RX

Podeu fer una ullada aquí per obtenir més informació:

www.hackair.eu/docs/sds011/

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

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

Pas 4: tercer pas: crear un esbós

Ara cal crear un esbós: tenim sort, alguns nois han desenvolupat biblioteques específiques per a Nova Air Sensor perquè pugueu escriure fàcilment el vostre programari.

El meu també utilitza la biblioteca SHT30 per mesurar i pujar dades de temperatura i humitat.

He remesclat alguns esbossos que he trobat en línia, sobretot el de nishant_sahay7, el tutorial del qual és complet i ple d'informació. El podeu trobar aquí.

He utilitzat aquesta biblioteca:

Només comentaré algunes línies a l'esbós que he generat:

línia 76-77: despertar el sensor de pols durant un temps, tornarà a dormir, ja que les fitxes tècniques indiquen que es pretén treballar durant unes 8000 hores, la qual cosa és més que suficient, però no infinit

sds.wakeup (); delay (30000); // treballant 30 segons

línia 121: les dades enviades són temperatura, humitat, PM2,5 i PM10

sendData (t, h, pm2_5, pm10);

línia 122-123: No faig servir ESP.deepSleep, ho intentaré en el futur; a hores d'ara n'hi haurà prou amb un simple retard (90000) per enviar dades cada 30s + 90s = 2 minuts, més o menys

//ESP.deepSleep(dataPostDelay);

retard (90000);

143:

aquesta és la línia més important, l'ordre en què creeu String_url per penjar dades ha de ser el mateix que faràs servir a Google Script (vegeu els passos següents)

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

Pas 5: quart pas: preparació de Google Sheet i el seu script

Quart pas: preparació de Google Sheet i el seu script
Quart pas: preparació de Google Sheet i el seu script
Quart pas: preparació de Google Sheet i el seu script
Quart pas: preparació de Google Sheet i el seu script
Quart pas: preparació de Google Sheet i el seu script
Quart pas: preparació de Google Sheet i el seu script

Els crèdits van a nishant_sahay7, tal com he dit.

Simplement publico aquí el seu treball, afegint alguns consells per a futures millores i modificacions:

  1. Configuració de Fulls de càlcul de Google

    1. Obriu Google Drive i creeu un nou full de càlcul i nomeneu-lo, després doneu els camps amb els paràmetres que vulgueu definir.
    2. L’identificador del full es mostra a la figura 2
    3. Aneu a Tools-Script Editor (figura 3)
    4. Poseu el nom del full de càlcul (figura 4)
    5. Trieu el codi des d’aquí i enganxeu-lo a la finestra de l’editor d’escriptures (figura 5)

      Substituïu el var sheet_id pel vostre identificador de full de càlcul des del pas 2

    6. Ves a Publicar: desplega com a aplicació web (figura 6)
    7. Canvieu el tipus d’accés a qualsevol persona, fins i tot anònima, i implementeu-lo (figura 7)
    8. Aneu a Permisos de revisió (figura 8)
    9. Trieu Avançat (figura 9)
    10. Trieu Vés a (nom del fitxer) i després permeteu (figura 10)
    11. Copieu l'URL actual de l'aplicació web i feu clic a D'acord (figura 11)
  2. Obtenir l'identificador de Google Script

    • L'URL copiat serà similar a: https://script.google.com/macros/s/AKfycbxZGcTwqe … L'enllaç anterior es presenta en la forma següent: https://script.google.com/macros/s/AKfycbxZGcTwqe…/exec Per tant, aquí hi ha l'identificador de Google Script: AKfycbxZGcTwqeDgF3MBMGj6FJeYD7mcUcyo2V6O20D6tRlLlP2M_wQ S'utilitzarà per enviar les dades a Fulls de càlcul de Google: Exemple:

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

      Si enganxeu l'enllaç anterior a una finestra nova i premeu Intro, s'enviaran dades a Google Sheet i apareixerà un missatge de confirmació a la finestra. Les dades enviades seran

      • temperatura = 1
      • humitat = 2
      • PM2,5 = 3
      • PM10 = 33,10
  3. Canvieu les vostres necessitats

    heu de canviar l'esbós de Google Script I Arduino en conseqüència, per afegir o eliminar valors i columnes: compareu la figura 5 i la figura 5b

Pas 6: cinquè pas: connectar-se tots junts

Cinquè pas: connectar-nos tots junts
Cinquè pas: connectar-nos tots junts

Ara teniu un dispositiu que envia dades a Fulls de càlcul de Google, un Google Script capaç de rebre i assignar dades, un navegador és suficient per veure les dades, a l’ordinador o al telèfon intel·ligent o qualsevol cosa que vulgueu.

El millor seria gestionar una mica aquestes dades, només mostrar-ne algunes.

Pas 7: Sisè pas: gràfic de dades

Sisè pas: gràfic de dades
Sisè pas: gràfic de dades
Sisè pas: gràfic de dades
Sisè pas: gràfic de dades

Per tenir un panell senzill, però interessant i útil, he organitzat les meves dades d'aquesta manera:

  1. el full de Google original, principal, que s’utilitzava per recollir el seu identificador per introduir-lo a Google Script, S’HA DE deixar de tocar i mantenir l’ordre
  2. Vaig generar dos fulls més, seguint el principal

    1. un per extreure només algunes dades de tota la informació, per exemple, durant les darreres 24 hores

      = ORDENAR (CONSULTA (Foglio1! A2: Z, "ordenar per un límit desc. 694"), 1, 1)

    2. l'altre per crear gràfics per mostrar valors, fent un panell senzill

Pas 8: Setè pas: analitzar les dades

Setè pas: analitzar les dades
Setè pas: analitzar les dades

Vaig fer unes quantes anàlisis i puc dir, a hores d’ara, que no hauria d’haver cap perill en utilitzar la impressora 3D (material: PLA) en termes de PM2.5 i PM10. Cada vegada que comenci una nova impressió, els valors de les partícules es dirigeixen al terrat., només per un temps: crec que això es deu a la pols prèviament dipositada al llit de la impressora 3D, de manera que quan el ventilador efector arriba a la placa comença a volar al voltant. Al cap d'uns minuts, la pols queda fora, ja que els ventiladors continuen bufant i els valors PM2,5 i PM10 baixen a valors més baixos.

De fet, es necessiten més dades i anàlisis.

Recomanat: