Innholdsfortegnelse:

CloudyData - ESP8266 til Google Sheets Made Simple: 10 trinn (med bilder)
CloudyData - ESP8266 til Google Sheets Made Simple: 10 trinn (med bilder)

Video: CloudyData - ESP8266 til Google Sheets Made Simple: 10 trinn (med bilder)

Video: CloudyData - ESP8266 til Google Sheets Made Simple: 10 trinn (med bilder)
Video: Read Google Spread Sheet Data ESP8266 || Controlling lights through Google Sheets NodeMCU 8266 2024, November
Anonim
CloudyData - ESP8266 til Google Sheets Made Simple
CloudyData - ESP8266 til Google Sheets Made Simple

Jeg har lett etter lagring av skydata i lang tid de siste årene: Det er interessant å overvåke data fra alle slags sensorer, men det er mer interessant om disse dataene er tilgjengelige overalt uten problemer med lagring, for eksempel bruk av SD -kort eller lignende, i lokal lagring. Jeg pleide å lagre vindhastighetsdata for SD -kort for mange år siden, før IoT og skytjenester begynte å være enkle å bruke: nå er et skritt videre mulig med spesielle vanskeligheter, selv om du ikke er en IoT -ekspert eller en utvikler.

I denne instruksjonsboken vil jeg beskrive hvordan jeg overvåker luftkvaliteten min hjemme, spesielt med tanke på støv og partikkelkonsentrasjon i nærheten av 3D -skriveren min, prøver å forstå om 3D -utskriftsprosessen er farlig når det gjelder PM2.5, og hvordan jeg er bruker Google Regneark til å lagre data, uten at det er nødvendig med en tredjepartstjeneste.

Trinn 1: Generelt mål

Generelt mål
Generelt mål

Jeg vil vite om det kan være farlig å leve i nærvær av en 3D -skriver.

For å gjøre dette trenger jeg data, og data må lagres i skyen.

Jeg vil bruke Google Regneark siden det er enkelt og effektivt.

Jeg vil også ha personvern: så å dele data med Google er ikke mitt førstevalg, men det er bedre enn å bruke tredjepartstjenester, slik mange bloggere bruker å gjøre.

Å bruke Google Sheets er et skritt mot å laste opp data til en personlig lokal lagring som Nextcloud på en enkel NAS: dette vil bli beskrevet i en fremtidig instruks.

Trinn 2: Første trinn: Sensorer

Første trinn: Sensorer
Første trinn: Sensorer
Første trinn: Sensorer
Første trinn: Sensorer

Jeg bruker to sensorer for å overvåke luftkvaliteten i hjemmet:

  • en Nova PM Sensor SDS011 luftkvalitetsdeteksjonssensormodul, et flott stykke maskinvare, relativt enkelt å bruke med Arduino og lignende brett. Du kan bruke den med egen programvare (bare Windows!:-() og USB-adapter, eller koble til Arduino med biblioteker. Du finner mye informasjon her:

    • inovafitness.com/en/a/chanpinzhongxin/95.ht…
    • www-sd-nf.oss-cn-beijing.aliyuncs.com/%E5%…
    • aqicn.org/sensor/sds011/
  • et SHT30 -skjold fra Wemos, for Wemos D1 mini: Jeg brukte en v1.0.0 -versjon, nåværende versjon er v2.1.0, men de har samme fotavtrykk, samme funksjonalitet

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

Trinn 3: Andre trinn: Koble til mikrokontroller

Andre trinn: Koble til mikrokontroller
Andre trinn: Koble til mikrokontroller

Wemos D1 mini er sannsynligvis den beste måten å prototype rundt ESP8266: microUSB -kontakt, innebygd ledning, fine skjold klare til bruk tilgjengelig.

Jeg koblet SHT30 -skjoldet på Wemos D1 mini direkte (ta vare på orienteringen!), Så koblet jeg Nova Air Sensor til Wemos D1 mini som følger:

Wemos GND pin Nova Air sensor GND

Wemos 5V pin Nova Air sensor 5V

Wemos D5 pin (RX pin) Nova Air sensor TX

Wemos D6 pin (TX pin) Nova Air sensor RX

Du kan ta en titt her for mer informasjon:

www.hackair.eu/docs/sds011/

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

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

Trinn 4: Tredje trinn: Bygg en skisse

Nå må du bygge en skisse: vi er heldige, noen gutter utviklet spesifikke biblioteker for Nova Air Sensor, slik at du enkelt kan skrive ned programvaren din.

Mine bruker også SHT30 -biblioteket for å måle og laste opp temperatur- og fuktighetsdata.

Jeg remikset noen skisser jeg fant på nettet, spesielt den fra nishant_sahay7, hvis opplæring er komplett og full av informasjon. Du finner den her.

Jeg brukte dette biblioteket:

Jeg vil bare kommentere noen få linjer i skissen jeg genererte:

linje 76-77: våkner støvsensoren en stund, så går den i dvale igjen, siden datablad sier at den er ment å fungere i rundt 8000 timer, noe som er mer enn nok, men ikke uendelig

sds.wakeup (); forsinkelse (30000); // jobber 30 sekunder

linje 121: data som sendes er temperatur, fuktighet, PM2.5 og PM10

sendData (t, h, pm2_5, pm10);

linje 122-123: Jeg bruker ikke ESP.deepSleep, jeg skal prøve i fremtiden; nå vil en enkel forsinkelse (90000) være nok til å sende data hvert 30. + 90. minutt = 2 minutter, mer eller mindre

//ESP.deepSleep(dataPostDelay);

forsinkelse (90000);

linje 143:

dette er den viktigste linjen, rekkefølgen du oppretter String_url for å laste opp data må være den samme som du vil bruke i Google Script (se neste trinn)

String url = "/makroer/s/" + GAS_ID + "/exec? Temperatur =" + string_x + "& fuktighet =" + string_y + "& PM2.5 =" + string_z + "& PM10 =" + string_k;

Trinn 5: Fjerde trinn: Utarbeidelse av Google Sheet og dets script

Fjerde trinn: Utarbeidelse av Google Sheet og dets skript
Fjerde trinn: Utarbeidelse av Google Sheet og dets skript
Fjerde trinn: Utarbeidelse av Google Sheet og dets skript
Fjerde trinn: Utarbeidelse av Google Sheet og dets skript
Fjerde trinn: Utarbeidelse av Google Sheet og dets skript
Fjerde trinn: Utarbeidelse av Google Sheet og dets skript

Poeng går til nishant_sahay7, som jeg fortalte.

Jeg publiserer ganske enkelt arbeidet hans her, og legger til noen tips for fremtidige forbedringer og modding:

  1. Konfigurere Google Regneark

    1. Åpne Google Disk og lag et nytt regneark, og gi det et navn, gi deretter feltene med parameterne du vil definere.
    2. Ark -ID er vist i figur 2
    3. Gå til Tools-Script Editor (figur 3)
    4. Gi navnet det samme som for Regneark (figur 4)
    5. Velg koden herfra og lim inn i Script Editor -vinduet (figur 5)

      Erstatt var sheet_id med regneark -ID -en din fra trinn 2

    6. Gå til Publiser - Distribuer som nettapp (figur 6)
    7. Endre tilgangstypen til hvem som helst, til og med anonym, og distribuer (figur 7)
    8. Gå til gjennomgangstillatelser (figur 8)
    9. Velg Avansert (figur 9)
    10. Velg Gå til (filnavn) og tillat deretter (figur 10)
    11. Kopier den nåværende webappens URL og klikk OK (figur 11)
  2. Få skript -ID for Google

    • URL -en som kopieres vil være omtrent som: https://script.google.com/macros/s/AKfycbxZGcTwqe… lenken ovenfor er i form av: https://script.google.com/macros/s/AKfycbxZGcTwqe…/exec Så her er Google Script ID: AKfycbxZGcTwqeDgF3MBMGj6FJeYD7mcUcyo2V6O20D6tRlLlP2M_wQ Den vil bli brukt til å skyve dataene til Google Sheets: Eksempel:

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

      Ved å lime inn lenken ovenfor i et nytt vindu og trykke enter vil data sendes til Google Sheet og en bekreftelsesmelding vises i vinduet. Data som sendes vil være

      • temperatur = 1
      • fuktighet = 2
      • PM2,5 = 3
      • PM10 = 33,10
  3. Endre dine behov

    du må endre Google Script OG Arduino -skissen tilsvarende, for å legge til eller fjerne verdier og kolonner: sammenligne figur 5 og figur 5b

Trinn 6: Femte trinn: Koble sammen

Femte trinn: Koble sammen
Femte trinn: Koble sammen

Nå har du en enhet som sender data til Google Sheets, et Google Script som kan motta og tildele data, en nettleser er nok til å se data, på datamaskin eller smarttelefon eller hva du vil.

Det beste ville være å administrere litt disse dataene, for å vise bare noen få som trengs.

Trinn 7: Sjette trinn: Graftegning av data

Sjette trinn: Graftegning av data
Sjette trinn: Graftegning av data
Sjette trinn: Graftegning av data
Sjette trinn: Graftegning av data

For å ha et enkelt, men interessant og nyttig panel, organiserte jeg dataene mine på denne måten:

  1. det originale Google -arket, det viktigste, pleide å hente ID -en for å skrive inn i Google Script, MÅ være uberørt og beholde ordenen
  2. Jeg genererte to andre ark, etter det viktigste

    1. en for å trekke ut bare noen få data fra hele greia, for eksempel siste 24 timer. For å trekke ut data brukte jeg SORT og QUERY -funksjonen, og satte inn den første cellen med ekstraherte data

      = SORT (SPØRSMÅL (Foglio1! A2: Z, "rekkefølge etter A desc limit 694"), 1, 1)

    2. den andre for å lage grafer for å vise verdier, og lage et enkelt panel

Trinn 8: Syvende trinn: Analyse av data

Syvende trinn: Analyse av data
Syvende trinn: Analyse av data

Jeg har gjort noen analyser, og jeg kan si at nå burde det ikke være noen fare ved bruk av 3D -skriver (materiale: PLA) når det gjelder PM2.5 og PM10., bare for en stund: Jeg tror dette skyldes tidligere avsatt støv på 3D -skriveren, slik at når effektviften når platen begynner den å fly rundt. Etter noen minutter er støv borte siden viftene fortsetter å blåse og PM2.5 og PM10 -verdiene kommer ned til lavere verdier.

Ytterligere data og analyse er nødvendig, faktisk.

Anbefalt: