Inhoudsopgave:
- Stap 1: Algemeen doel
- Stap 2: Eerste stap: sensoren
- Stap 3: Tweede stap: verbinding maken met microcontroller
- Stap 4: Derde stap: een schets maken
- Stap 5: Vierde stap: Google-blad en het bijbehorende script voorbereiden
- Stap 6: Vijfde stap: alles met elkaar verbinden
- Stap 7: Zesde stap: grafische gegevens
- Stap 8: Zevende stap: gegevens analyseren
Video: CloudyData - ESP8266 naar Google Spreadsheets eenvoudig gemaakt - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
Ik ben de afgelopen jaren al heel lang op zoek naar opslag van cloudgegevens: het is interessant om gegevens van elke soort sensor te monitoren, maar het is interessanter als deze gegevens overal beschikbaar zijn zonder opslagproblemen zoals het gebruik van SD-kaarten of vergelijkbaar, in lokale opslag. Vroeger sloeg ik jaren geleden windsnelheidsgegevens op SD-kaarten op, voordat IoT en cloudservices eenvoudig te gebruiken begonnen te worden: nu is een stap verder mogelijk met bijzondere moeilijkheden, zelfs als je geen IoT-expert of ontwikkelaar bent.
In deze instructable zal ik beschrijven hoe ik mijn luchtkwaliteit in huis bewaak, met name verwijzend naar stof- en deeltjesconcentratie in de buurt van mijn 3D-printer, proberen te begrijpen of 3D-printproces gevaarlijk is in termen van PM2.5, en hoe ik ben Google Spreadsheets gebruiken om gegevens op te slaan, zonder dat er service van derden nodig is.
Stap 1: Algemeen doel
Ik wil weten of leven in aanwezigheid van een 3D-printer gevaarlijk kan zijn.
Hiervoor heb ik data nodig, en data moeten in de cloud worden opgeslagen.
Ik wil Google Spreadsheets gebruiken omdat het eenvoudig en effectief is.
Ik wil ook privacy: dus het delen van gegevens met Google is niet mijn eerste keuze, maar het is beter dan het gebruik van diensten van derden, zoals veel bloggers doen.
Het gebruik van Google Spreadsheets is een stap in de richting van het uploaden van gegevens naar een persoonlijke lokale opslag zoals Nextcloud op een eenvoudige NAS: dit zal worden beschreven in een toekomstige instructable.
Stap 2: Eerste stap: sensoren
Ik gebruik 2 sensoren om de luchtkwaliteit in huis te bewaken:
-
een Nova PM Sensor SDS011 Air Quality Detection Sensor Module, een geweldig stuk hardware, relatief eenvoudig te gebruiken met Arduino en soortgelijke boards. Je kunt het gebruiken met zijn eigen software (alleen Windows!:-() en USB-adapter, of verbinden met Arduino met bibliotheken Veel info is hier te vinden:
- inovafitness.com/en/a/chanpinzhongxin/95.ht…
- www-sd-nf.oss-cn-beijing.aliyuncs.com/%E5%…
- aqicn.org/sensor/sds011/
-
een SHT30-schild van Wemos, voor Wemos D1 mini: ik gebruikte een v1.0.0-versie, de huidige versie is v2.1.0 maar ze hebben dezelfde footprint, dezelfde functionaliteiten
wiki.wemos.cc/products:d1_mini_shields:sht…
Stap 3: Tweede stap: verbinding maken met microcontroller
Wemos D1 mini is waarschijnlijk de beste manier om te prototypen rond ESP8266: microUSB-connector, onboard led, mooie schilden klaar voor gebruik beschikbaar.
Ik heb het SHT30-schild rechtstreeks op de Wemos D1 mini aangesloten (zorg voor de oriëntatie!), Daarna heb ik de Nova Air Sensor als volgt op de Wemos D1 mini aangesloten:
Wemos GND-pin Nova Luchtsensor GND
Wemos 5V pin Nova Luchtsensor 5V
Wemos D5-pin (RX-pin) Nova Luchtsensor TX
Wemos D6-pin (TX-pin) Nova Luchtsensor RX
Voor meer info kun je hier kijken:
www.hackair.eu/docs/sds011/
www.zerozone.it/tecnologia-e-sicurezza/nov…
www.instructables.com/id/Make-one-PM25-mon…
Stap 4: Derde stap: een schets maken
Nu moet je een schets maken: we hebben geluk, sommige jongens hebben specifieke bibliotheken voor Nova Air Sensor ontwikkeld, zodat je je software gemakkelijk kunt opschrijven.
De mijne gebruikt ook de SHT30-bibliotheek om temperatuur- en vochtigheidsgegevens te meten en te uploaden.
Ik heb een schets geremixt die ik online vond, vooral die van nishant_sahay7, waarvan de tutorial compleet en vol informatie is. Je kunt het hier vinden.
Ik heb deze bibliotheek gebruikt:
Ik zal slechts een paar regels becommentariëren in de schets die ik heb gegenereerd:
regel 76-77: de stofsensor een tijdje wakker maken, dan gaat hij weer slapen, omdat in de datasheets staat dat hij bedoeld is om ongeveer 8000 uur te werken, wat meer dan genoeg is, maar niet oneindig
sds.wakeup();vertraging(30000); // 30 seconden werken
regel 121: verzonden gegevens zijn temperatuur, vochtigheid, PM2.5 en PM10
sendData(t, h, pm2_5, pm10);
regel 122-123: Ik gebruik ESP.deepSleep niet, ik zal het in de toekomst proberen; nu is een simpele vertraging (90000) voldoende om gegevens elke 30s + 90s = 2 minuten, min of meer te verzenden
//ESP.deepSleep(dataPostDelay);
vertraging (90000);
regel 143:
dit is de belangrijkste regel, de volgorde waarin u de String_url maakt om gegevens te uploaden, moet dezelfde zijn die u in Google Script gebruikt (zie volgende stappen)
String url = "/macros/s/" + GAS_ID + "/exec?temperature=" + string_x + "&humidity=" + string_y + "&PM2.5=" + string_z + "&PM10=" + string_k;
Stap 5: Vierde stap: Google-blad en het bijbehorende script voorbereiden
Credits gaan naar nishant_sahay7, zoals ik al zei.
Ik publiceer hier gewoon zijn werk opnieuw en voeg enkele tips toe voor toekomstige verbeteringen en modding:
-
Google Spreadsheets instellen
- Open Google Drive en maak een nieuwe spreadsheet en geef deze een naam, geef daarna de velden met de parameters die u wilt definiëren.
- Blad-ID wordt getoond in figuur 2
- Ga naar Tools-Script Editor (figuur 3)
- Geef de naam hetzelfde als van Spreadsheet (figuur 4)
-
Kies hier de code en plak deze in het Script Editor-venster (figuur 5)
Vervang de var sheet_id door uw Spreadsheet-ID uit stap 2
- Ga naar Publiceren - Deploy as Web App (figuur 6)
- Wijzig het toegangstype voor iedereen, zelfs anoniem, en implementeer (figuur 7)
- Ga naar Machtigingen bekijken (figuur 8)
- Kies Geavanceerd (figuur 9)
- Kies Ga naar (bestandsnaam) en vervolgens toestaan (figuur 10)
- Kopieer de huidige webapp-URL en klik op OK (figuur 11)
-
Google Script-ID ophalen
-
De gekopieerde URL ziet er ongeveer zo uit: https://script.google.com/macros/s/AKfycbxZGcTwqe… bovenstaande link heeft de vorm van: https://script.google.com/macros/s/AKfycbxZGcTwqe…/exec Dus hier is de Google Script-ID: AKfycbxZGcTwqeDgF3MBMGj6FJeYD7mcUcyo2V6O20D6tRlLlP2M_wQ Het wordt gebruikt om de gegevens naar Google Spreadsheets te pushen: Voorbeeld:
script.google.com/macros/s/AKfycbxZGcTwqeD…
Als u de bovenstaande link in een nieuw venster plakt en op Enter drukt, worden gegevens naar Google Spreadsheets verzonden en verschijnt er een bevestigingsbericht in het venster. Verzonden gegevens zijn:
- temperatuur=1
- vochtigheid = 2
- PM2.5=3
- PM10=33.10
-
-
Verander op uw behoeften
je moet Google Script EN Arduino-schets dienovereenkomstig wijzigen om waarden en kolommen toe te voegen of te verwijderen: vergelijk figuur 5 en figuur 5b
Stap 6: Vijfde stap: alles met elkaar verbinden
Nu heb je een apparaat dat gegevens naar Google Spreadsheets verzendt, een Google Script dat gegevens kan ontvangen en toewijzen, een browser is voldoende om gegevens te bekijken, op computer of smartphone of wat je maar wilt.
Het beste zou zijn om een beetje van deze gegevens te beheren, om er maar een paar te tonen die nodig zijn.
Stap 7: Zesde stap: grafische gegevens
Om een eenvoudig maar interessant en nuttig paneel te hebben, heb ik mijn gegevens op deze manier georganiseerd:
- het originele Google-blad, de belangrijkste, gebruikt om zijn ID op te halen om in Google Script in te voeren, MOET onaangeroerd blijven en de volgorde behouden
-
Ik heb twee andere bladen gegenereerd, de hoofdpagina gevolgd
-
een om slechts een paar gegevens uit het hele spul te extraheren, bijvoorbeeld de laatste 24 uur Om gegevens te extraheren heb ik de SORT- en QUERY-functie gebruikt, invoegen in de eerste cel met geëxtraheerde gegevens
=SORTEREN(QUERY(Foglio1!A2:Z, "volgorde op A beschrijf limiet 694"), 1, 1)
- de andere om grafieken te maken om waarden weer te geven, waardoor een eenvoudig paneel wordt gemaakt
-
Stap 8: Zevende stap: gegevens analyseren
Ik heb een paar analyses gedaan en ik kan zeggen dat er inmiddels geen gevaar meer zou moeten zijn bij het gebruik van een 3D-printer (materiaal: PLA) in termen van PM2.5 en PM10. Elke keer dat ik een nieuwe afdruk begin, gaan de deeltjeswaarden naar het dak, alleen voor een tijdje: ik denk dat dit te wijten is aan eerder afgezet stof op het 3D-printerbed, zodat wanneer de effectorventilator de plaat bereikt, deze in het rond begint te vliegen. Na een paar minuten is het stof weg omdat de ventilatoren blijven blazen en de PM2.5- en PM10-waarden dalen naar lagere waarden.
Er zijn inderdaad meer gegevens en analyses nodig.
Aanbevolen:
Eenvoudig en gratis Google Maps toevoegen aan uw Google Spreadsheets: 6 stappen
Voeg eenvoudig automatisch en gratis Google Maps toe aan uw Google Spreadsheets: net als veel andere makers heb ik maar weinig GPS-trackerprojecten gebouwd. Vandaag kunnen we snel GPS-punten direct in Google Spreadsheets visualiseren zonder een externe website of API te gebruiken. Het beste van alles is dat het GRATIS is
Weergegevens met Google Spreadsheets en Google Script: 7 stappen
Weergegevens met behulp van Google Spreadsheets en Google Script: in deze Blogtut gaan we de metingen van de SHT25-sensor naar Google Spreadsheets sturen met behulp van Adafruit Huzzah ESP8266, wat helpt om de gegevens naar internet te sturen. Het verzenden van gegevens naar Google Sheet Cell is erg handig en basismanier die de gegevens opslaat in
Gegevens van draadloze trillingen en temperatuur naar Google Spreadsheets verzenden met Node-RED: 37 stappen
Gegevens van draadloze trillingen en temperatuur naar Google Spreadsheets verzenden met Node-RED: Introductie van NCD's Long Range IoT Industrial draadloze trillings- en temperatuursensor, met een bereik tot 3 mijl door het gebruik van een draadloze mesh-netwerkstructuur. Dit apparaat is voorzien van een nauwkeurige 16-bits trillings- en temperatuursensor en
Gegevens streamen van Google Spreadsheets naar een dashboard: 6 stappen
Gegevens streamen van Google Spreadsheets naar een dashboard: Spreadsheets blinken uit in het manipuleren van gegevens, maar niet in het weergeven ervan. Dit is precies waarom er zoveel gespecialiseerde datavisualisatie- en BI-dashboardbedrijven opdoken. Het probleem met de meeste van deze producten is dat ze doorgaans duur zijn en
Stop Motion-animatie eenvoudig gemaakt: 5 stappen
Stop Motion Animation Made Easy: Deze instructable zal hopelijk de gemiddelde persoon helpen om de basisprincipes van stop motion-animatie te leren kennen en hen in staat te stellen hun eigen gratis animaties te maken. Aangezien dit mijn eerste instructable is, wees alsjeblieft redelijk. opbouwende kritiek zeer welkom