Sommario:
- Passaggio 1: obiettivo generale
- Passaggio 2: Primo passaggio: sensori
- Passaggio 3: secondo passaggio: connessione al microcontrollore
- Passaggio 4: terzo passaggio: creazione di uno schizzo
- Passaggio 5: quarto passaggio: preparazione del foglio Google e del relativo script
- Passaggio 6: quinto passaggio: collegare tutti insieme
- Passaggio 7: sesto passaggio: rappresentazione grafica dei dati
- Passaggio 8: settimo passaggio: analisi dei dati
Video: CloudyData - Da ESP8266 a Fogli Google semplificati: 10 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
Ho cercato a lungo l'archiviazione dei dati in cloud negli ultimi anni: è interessante monitorare i dati da qualsiasi tipo di sensore, ma è più interessante se questi dati sono disponibili ovunque senza alcuna difficoltà di archiviazione come l'utilizzo di schede SD o simile, nella memorizzazione locale. Anni fa memorizzavo in locale su schede SD i dati sulla velocità del vento, prima che i servizi IoT e cloud iniziassero a essere semplici da usare: ora un passo oltre è possibile con particolari difficoltà, anche se non sei un esperto di IoT o uno sviluppatore.
In questo tutorial descriverò come sto monitorando la qualità dell'aria all'interno di casa, in particolare facendo riferimento alla concentrazione di polvere e particolato vicino alla mia stampante 3D, cercando di capire se il processo di stampa 3D è pericoloso in termini di PM2.5 e come sto utilizzando Fogli Google per archiviare i dati, senza bisogno di alcun servizio di terze parti.
Passaggio 1: obiettivo generale
Voglio sapere se vivere in presenza di una stampante 3D può essere pericoloso.
Per fare questo ho bisogno di dati e i dati devono essere archiviati nel cloud.
Voglio utilizzare Fogli Google poiché è semplice ed efficace.
Anch'io voglio la privacy: quindi condividere i dati con Google non è la mia prima scelta ma è meglio che utilizzare servizi di terze parti, come fanno molti blogger.
L'utilizzo di Fogli Google è un passo verso il caricamento dei dati su un archivio locale personale come Nextcloud su un semplice NAS: questo sarà descritto in un prossimo tutorial.
Passaggio 2: Primo passaggio: sensori
Utilizzo 2 sensori per monitorare la qualità dell'aria della mia casa:
-
un Nova PM Sensor SDS011 Air Quality Detection Sensor Module, un ottimo pezzo di hardware, relativamente semplice da usare con Arduino e schede simili. Puoi usarlo con il suo software (solo Windows!:-() e adattatore USB, o collegandolo a Arduino con le librerie Molte informazioni le trovate qui:
- inovafitness.com/en/a/chanpinzhongxin/95.ht…
- www-sd-nf.oss-cn-beijing.aliyuncs.com/%E5%…
- aqicn.org/sensor/sds011/
-
uno scudo SHT30 di Wemos, per Wemos D1 mini: ho usato una versione v1.0.0, la versione attuale è v2.1.0 ma hanno lo stesso ingombro, stesse funzionalità
wiki.wemos.cc/products:d1_mini_shields:sht…
Passaggio 3: secondo passaggio: connessione al microcontrollore
Wemos D1 mini è probabilmente il modo migliore per prototipare intorno a ESP8266: connettore microUSB, led a bordo, simpatici scudi pronti all'uso disponibili.
Ho collegato direttamente lo shield SHT30 su Wemos D1 mini (attenzione all'orientamento!), quindi ho collegato Nova Air Sensor a Wemos D1 mini come segue:
Perno GND Wemos Sensore Nova Air GND
Sensore Wemos 5V pin Nova Air 5V
Pin Wemos D5 (pin RX) Sensore Nova Air TX
Pin Wemos D6 (pin TX) Sensore Nova Air RX
Puoi dare un'occhiata qui per maggiori informazioni:
www.hackair.eu/docs/sds011/
www.zerozone.it/tecnologia-e-sicurezza/nov…
www.instructables.com/id/Make-one-PM25-mon…
Passaggio 4: terzo passaggio: creazione di uno schizzo
Ora devi costruire uno schizzo: siamo fortunati, alcuni ragazzi hanno sviluppato librerie specifiche per Nova Air Sensor in modo da poter scrivere facilmente il tuo software.
Anche il mio usa la libreria SHT30, per misurare e caricare i dati di temperatura e umidità.
Ho remixato alcuni sketch trovati online, in particolare quello di nishant_sahay7, il cui tutorial è completo e ricco di informazioni. Potete trovare qui.
Ho usato questa libreria:
Commenterò solo poche righe nello schizzo che ho generato:
riga 76-77: svegliando il sensore di polvere per un po', poi tornerà a dormire, poiché le schede tecniche affermano che è destinato a funzionare per circa 8000 ore, che è più che sufficiente, ma non infinito
sds.wakeup();delay(30000); // lavora 30 secondi
riga 121: i dati inviati sono temperatura, umidità, PM2.5 e PM10
sendData(t, h, pm2_5, pm10);
riga 122-123: non uso ESP.deepSleep, proverò in futuro; ormai basterà un semplice ritardo (90000) per avere l'invio dei dati ogni 30s + 90s = 2 minuti, più o meno
//ESP.deepSleep(dataPostDelay);
ritardo (90000);
riga 143:
questa è la riga più importante, l'ordine in cui crei String_url per caricare i dati deve essere lo stesso che utilizzerai in Google Script (vedi i passaggi successivi)
String url = "/macros/s/" + GAS_ID + "/exec?temperature=" + string_x + "&humidity=" + string_y + "&PM2.5=" + string_z + "&PM10=" + string_k;
Passaggio 5: quarto passaggio: preparazione del foglio Google e del relativo script
I crediti vanno a nishant_sahay7, come ho detto.
Mi limito a ripubblicare qui il suo lavoro, aggiungendo alcuni suggerimenti per futuri miglioramenti e modding:
-
Configurazione di Fogli Google
- Apri Google Drive e crea un nuovo foglio di calcolo e assegnagli un nome, dopodiché fornisci i campi con i parametri che desideri definire.
- L'ID del foglio è mostrato nella figura 2
- Vai a Strumenti-Editor di script (figura 3)
- Assegna lo stesso nome di Spreadsheet (figura 4)
-
Scegli il codice da qui e incollalo nella finestra dell'editor di script (figura 5)
Sostituisci var sheet_id con il tuo ID foglio di calcolo dal passaggio 2
- Vai a Pubblica - Distribuisci come app Web (figura 6)
- Modificare il tipo di accesso a chiunque, anche anonimo, e distribuire (figura 7)
- Vai a Permessi di revisione (figura 8)
- Scegli Avanzate (figura 9)
- Scegli Vai a (nome file) e poi consenti (figura 10)
- Copia l'URL dell'app Web corrente e fai clic su OK (figura 11)
-
Ottenere l'ID di Google Script
-
L'URL copiato sarà qualcosa del tipo: https://script.google.com/macros/s/AKfycbxZGcTwqe… il collegamento sopra è nella forma di: https://script.google.com/macros/s/AKfycbxZGcTwqe…/exec Quindi qui l'ID di Google Script è: AKfycbxZGcTwqeDgF3MBMGj6FJeYD7mcUcyo2V6O20D6tRlLlP2M_wQ Verrà utilizzato per inviare i dati a Fogli Google: Esempio:
script.google.com/macros/s/AKfycbxZGcTwqeD…
Incollando il collegamento sopra in una nuova finestra e premendo invio i dati verranno inviati a Google Sheet e nella finestra verrà visualizzato un messaggio di conferma. I dati inviati saranno
- temperatura=1
- umidità=2
- PM2.5=3
- PM10=33,10
-
-
Cambia in base alle tue esigenze
devi modificare Google Script AND Arduino sketch di conseguenza, per aggiungere o rimuovere valori e colonne: confronta la figura 5 e la figura 5b
Passaggio 6: quinto passaggio: collegare tutti insieme
Ora hai un dispositivo che invia dati a Fogli Google, uno Script Google in grado di ricevere e allocare dati, basta un browser per visualizzare i dati, su computer o smartphone o come preferisci.
La cosa migliore sarebbe gestire un po' questi dati, per mostrarne solo alcuni necessari.
Passaggio 7: sesto passaggio: rappresentazione grafica dei dati
Per avere un pannello semplice ma interessante e utile ho organizzato i miei dati in questo modo:
- il foglio google originale, quello principale, utilizzato per prelevare il suo ID per entrare in Google Script, DEVE essere intatto e mantenere il suo ordine
-
Ho generato altri due fogli, seguendo il principale
-
uno per estrarre solo pochi dati da tutta la roba, ad esempio ultime 24 ore Per estrarre i dati ho usato la funzione SORT e QUERY, inserendo nella prima cella i dati estratti
=SORT(QUERY(Foglio1!A2:Z, "order by A desc limit 694"), 1, 1)
- l'altro per creare grafici per mostrare i valori, facendo un semplice pannello
-
Passaggio 8: settimo passaggio: analisi dei dati
Ho fatto alcune analisi e posso dire che, ormai, non dovrebbe esserci alcun pericolo utilizzando la stampante 3D (materiale: PLA) in termini di PM2.5 e PM10. Ogni volta che inizio una nuova stampa i valori del particolato vanno a picco, solo per un po': penso che ciò sia dovuto alla polvere depositata in precedenza sul letto della stampante 3D, in modo che quando la ventola dell'effettore raggiunge la piastra inizia a volare tutt'intorno. Dopo alcuni minuti la polvere è sparita poiché le ventole continuano a soffiare e i valori di PM2.5 e PM10 scendono a valori inferiori.
Occorrono, infatti, ulteriori dati e analisi.
Consigliato:
Aggiungi facilmente Google Maps ai tuoi fogli Google automaticamente e gratuitamente: 6 passaggi
Aggiungi facilmente Google Maps ai tuoi fogli Google automaticamente e gratuitamente: proprio come molti Maker, ho creato alcuni progetti di localizzazione GPS. Oggi saremo in grado di visualizzare rapidamente i punti GPS direttamente in Fogli Google senza utilizzare alcun sito Web esterno o API. La cosa migliore è che è GRATIS
Generatore di fogli laser interattivo con Arduino: 11 passaggi (con immagini)
Generatore di fogli laser interattivo con Arduino: i laser possono essere utilizzati per creare incredibili effetti visivi. In questo progetto, ho costruito un nuovo tipo di display laser che è interattivo e riproduce musica. Il dispositivo ruota due laser per formare due fogli di luce simili a vortici. Ho incluso il sensore di distanza
Dati meteo utilizzando Fogli Google e Google Script: 7 passaggi
Dati meteorologici utilizzando Google Sheets e Google Script: In questo Blogtut, invieremo le letture del sensore SHT25 a Google Sheets utilizzando Adafruit huzzah ESP8266 che aiuta a inviare i dati a Internet. L'invio di dati a google sheet cell è molto utile e modo di base che salva i dati in
Piccolo registratore di temperatura ESP8266 (Fogli Google): 15 passaggi
Piccolo registratore di temperatura ESP8266 (Fogli Google): questa è una guida su come creare il tuo registratore di temperatura abilitato WiFi assolutamente minuscolo. Si basa sul modulo ESP-01 e sul sensore di temperatura digitale DS18B20, confezionato in una custodia stampata in 3D con una batteria al litio da 200 mAh e micro U
Alimentatore per gatti IoT che utilizza il fotone di particelle integrato con Alexa, SmartThings, IFTTT, Fogli Google: 7 passaggi (con immagini)
Mangiatoia per gatti IoT con fotone di particelle integrato con Alexa, SmartThings, IFTTT, Fogli Google: la necessità di una mangiatoia automatica per gatti è autoesplicativa. I gatti (il nome del nostro gatto è Bella) possono essere odiosi quando hanno fame e se il tuo gatto è come il mio mangerà la ciotola asciutta ogni volta. Avevo bisogno di un modo per erogare automaticamente una quantità controllata di cibo