Indholdsfortegnelse:

CloudyData - ESP8266 til Google Sheets Made Simple: 10 trin (med billeder)
CloudyData - ESP8266 til Google Sheets Made Simple: 10 trin (med billeder)

Video: CloudyData - ESP8266 til Google Sheets Made Simple: 10 trin (med billeder)

Video: CloudyData - ESP8266 til Google Sheets Made Simple: 10 trin (med billeder)
Video: How To Chia GPU Plotting and Farming Guide for WINDOWS UPDATED - Gigahorse Start to Finish - 2023 2024, December
Anonim
CloudyData - ESP8266 til Google Sheets Made Simple
CloudyData - ESP8266 til Google Sheets Made Simple

Jeg har ledt efter skydatalagring i lang tid i løbet af de sidste år: det er interessant at overvåge data fra enhver form for sensor, men det er mere interessant, hvis disse data er tilgængelige overalt uden problemer med lagring, f.eks. Brug af SD -kort eller lignende, i lokal opbevaring. Jeg plejede at lagre vindhastighedsdata på SD -kort for mange år siden, før IoT og cloud -tjenester begyndte at være enkle at bruge: nu er et skridt videre muligt med særlige vanskeligheder, selvom du ikke er en IoT -ekspert eller en udvikler.

I denne instruktive vil jeg beskrive, hvordan jeg overvåger min luftkvalitet inde i hjemmet, især med henvisning til støv og partikelkoncentration i nærheden af min 3D -printer, forsøger at forstå, om 3D -udskrivning er farlig med hensyn til PM2.5, og hvordan jeg brug af Google Sheets til at gemme data, uden at der er behov for nogen tredjepartstjeneste.

Trin 1: Generelt mål

Generelt mål
Generelt mål

Jeg vil vide, om det kan være farligt at leve i nærværelse af en 3D -printer.

For at gøre dette har jeg brug for data, og data skal gemmes i skyen.

Jeg vil bruge Google Sheets, da det er enkelt og effektivt.

Jeg vil også have privatliv: så deling af data med Google er ikke mit første valg, men det er bedre end at bruge tredjepartstjenester, som mange bloggere plejer at gøre.

Brug af Google Sheets er et skridt i retning af at uploade data til en personlig lokal opbevaring som f.eks. Nextcloud på en simpel NAS: dette vil blive beskrevet i en fremtidig instruks.

Trin 2: Første trin: Sensorer

Første trin: Sensorer
Første trin: Sensorer
Første trin: Sensorer
Første trin: Sensorer

Jeg bruger to sensorer til at overvåge min luftkvalitet i hjemmet:

  • et Nova PM Sensor SDS011 luftkvalitetsdetektionssensormodul, et godt stykke hardware, relativt enkelt at bruge med Arduino og lignende tavler. Du kan bruge det med sin egen software (kun Windows!:-() og USB-adapter, eller tilslutning til Arduino med biblioteker. Mange oplysninger kan findes 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, til Wemos D1 mini: Jeg brugte en v1.0.0 -version, den nuværende version er v2.1.0, men de har samme fodaftryk, samme funktionaliteter

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

Trin 3: Andet trin: Tilslutning til mikrokontroller

Andet trin: Tilslutning til mikrokontroller
Andet trin: Tilslutning til mikrokontroller

Wemos D1 mini er nok den bedste måde at prototype omkring ESP8266: microUSB -stik, indbygget LED, flotte skjolde klar til brug.

Jeg tilsluttede SHT30 -skjoldet direkte på Wemos D1 mini (pas på orienteringen!), Derefter tilsluttede 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 se mere her:

www.hackair.eu/docs/sds011/

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

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

Trin 4: Tredje trin: Opbygning af en skitse

Nu skal du bygge en skitse: vi er heldige, nogle fyre udviklede specifikke biblioteker til Nova Air Sensor, så du let kan skrive din software ned.

Mine bruger også SHT30 -biblioteket til at måle og uploade data om temperatur og luftfugtighed.

Jeg remixede nogle skitser, jeg fandt online, især den fra nishant_sahay7, hvis tutorial er komplet og fuld af info. Du kan finde den her.

Jeg brugte dette bibliotek:

Jeg vil kun kommentere et par linjer i den skitse, jeg genererede:

linje 76-77: vågner støvsensoren et stykke tid, så går den i dvale igen, da datablade siger, at den er beregnet til at fungere i omkring 8000 timer, hvilket er mere end nok, men ikke uendeligt

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

linje 121: sendte data er temperatur, luftfugtighed, PM2.5 og PM10

sendData (t, h, pm2_5, pm10);

linje 122-123: Jeg bruger ikke ESP.deepSleep, jeg vil prøve i fremtiden; nu er en simpel forsinkelse (90000) nok til at have data sendt hver 30. + 90'er = 2 minutter, mere eller mindre

//ESP.deepSleep(dataPostDelay);

forsinkelse (90000);

linje 143:

dette er den vigtigste linje, rækkefølgen, du opretter String_url for at uploade data, skal være den samme, som du vil bruge i Google Script (se næste trin)

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

Trin 5: Fjerde trin: Forberedelse af Google Sheet og dets script

Fjerde trin: Forberedelse af Google Sheet og dets script
Fjerde trin: Forberedelse af Google Sheet og dets script
Fjerde trin: Forberedelse af Google Sheet og dets script
Fjerde trin: Forberedelse af Google Sheet og dets script
Fjerde trin: Forberedelse af Google Sheet og dets script
Fjerde trin: Forberedelse af Google Sheet og dets script

Credits går til nishant_sahay7, som jeg fortalte.

Jeg publicerer ganske enkelt sit arbejde her og tilføjer nogle tips til fremtidige forbedringer og modding:

  1. Opsætning af Google Sheets

    1. Åbn Google Drev, og opret et nyt regneark, og navngiv det, og giv derefter felterne med de parametre, du vil definere.
    2. Ark -ID er vist i figur 2
    3. Gå til Tools-Script Editor (figur 3)
    4. Giv navnet det samme som for regneark (figur 4)
    5. Vælg koden herfra og indsæt i scripteditorvinduet (figur 5)

      Udskift var sheet_id med dit regnearks -id fra trin 2

    6. Gå til Udgiv - Distribuer som webapp (figur 6)
    7. Skift adgangstypen til hvem som helst, selv anonym, og implementer (figur 7)
    8. Gå til anmeldelsestilladelser (figur 8)
    9. Vælg Avanceret (figur 9)
    10. Vælg Gå til (filnavn), og tillad derefter (figur 10)
    11. Kopier den aktuelle webapps URL og klik på OK (figur 11)
  2. Henter Google Script -id

    • Den kopierede webadresse vil være noget i retning af: https://script.google.com/macros/s/AKfycbxZGcTwqe… ovenstående link er i form af: https://script.google.com/macros/s/AKfycbxZGcTwqe…/exec Så her er Google Script ID: AKfycbxZGcTwqeDgF3MBMGj6FJeYD7mcUcyo2V6O20D6tRlLlP2M_wQ Det vil blive brugt til at skubbe dataene til Google Sheets: Eksempel:

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

      Indsætning af ovenstående link i et nyt vindue og tryk på enter sender data til Google Sheet, og en bekræftelsesmeddelelse vises i vinduet. Sendte data vil være

      • temperatur = 1
      • fugtighed = 2
      • PM2,5 = 3
      • PM10 = 33,10
  3. Ændre dine behov

    du er nødt til at ændre Google Script OG Arduino -skitse i overensstemmelse hermed for at tilføje eller fjerne værdier og kolonner: sammenlign figur 5 og figur 5b

Trin 6: Femte trin: Forbindelse alle sammen

Femte trin: Tilslutning sammen
Femte trin: Tilslutning sammen

Nu har du en enhed, der sender data til Google Sheets, et Google Script, der kan modtage og allokere data, en browser er nok til at se data, på computer eller smartphone eller hvad du nu vil.

Det bedste ville være at administrere lidt disse data, for kun at vise nogle få nødvendige.

Trin 7: Sjette trin: Graftegning af data

Sjette trin: Graftegning af data
Sjette trin: Graftegning af data
Sjette trin: Graftegning af data
Sjette trin: Graftegning af data

For at få et enkelt, men interessant og nyttigt panel organiserede jeg mine data på denne måde:

  1. det originale Google -ark, det vigtigste, bruges til at hente sit ID for at indtaste i Google Script, SKAL være uberørt og opretholde sin rækkefølge
  2. Jeg genererede to andre ark efter det vigtigste

    1. en til kun at udtrække nogle få data fra det hele, for eksempel sidste 24 timer For at udtrække data brugte jeg SORT og QUERY -funktion, indsættelse i første celle med ekstraherede data

      = SORT (FORESPØRGSEL (Foglio1! A2: Z, "rækkefølge efter A desc limit 694"), 1, 1)

    2. den anden for at oprette grafer for at vise værdier, hvilket gør et enkelt panel

Trin 8: Syvende trin: Analyse af data

Syvende trin: Analyse af data
Syvende trin: Analyse af data

Jeg lavede et par analyser, og jeg kan sige, at der nu ikke burde være nogen fare ved hjælp af 3D -printer (materiale: PLA) i form af PM2.5 og PM10. Hver gang jeg starter, går et nyt tryk partikelværdier på taget, kun et stykke tid: Jeg tror, at dette skyldes tidligere aflejret støv på 3D -printeren, så når effektorblæseren når pladen, begynder den at flyve rundt. Efter et par minutter er støv væk, da ventilatorer fortsætter med at blæse, og PM2.5- og PM10 -værdier kommer ned til lavere værdier.

Yderligere data og analyse er faktisk nødvendig.

Anbefalede: