Sommario:

Dati meteo utilizzando Fogli Google e Google Script: 7 passaggi
Dati meteo utilizzando Fogli Google e Google Script: 7 passaggi

Video: Dati meteo utilizzando Fogli Google e Google Script: 7 passaggi

Video: Dati meteo utilizzando Fogli Google e Google Script: 7 passaggi
Video: Fogli di Google - Google Maps in Google Sheets - Apps Script 2024, Dicembre
Anonim
Dati meteorologici utilizzando Fogli Google e Google Script
Dati meteorologici utilizzando Fogli Google e Google Script

In questo Blogtut, invieremo le letture del sensore SHT25 ai fogli di Google utilizzando Adafruit huzzah ESP8266 che aiuta a inviare i dati a Internet.

  • L'invio di dati alla cella del foglio di Google è un modo molto utile e di base che salva i dati in forma tabellare online.
  • Invece di utilizzare qualsiasi tipo di bridge speciale come spingere una scatola o MQTT NODE RED o qualsiasi altro tipo di API REST, invieremo i dati utilizzando lo script google che riceve facilmente i dati dal sensore utilizzando lo script Link fornito dal applicazione di script google dopo la pubblicazione
  • Possiamo usare lo scripting per inviare i dati da google sheet, docs o anche a google drive.
  • Basta non finire qui, puoi collegare i fogli di google con qualsiasi applicazione basata sul web a cui condividere i dati con gli utenti nel modo desiderato
  • Nessun costo aggiuntivo da pagare a differenza degli altri server online qui e puoi archiviare i dati fino a 10 GB massimi nell'account utente e puoi utilizzare
  • Uno dei migliori sforzi è che puoi imparare a connettere facilmente i dati a Internet con questo tipo di applicazione in tempo reale.
  • Utilizzeremo la connessione I2C che esegue il protocollo master-slave per condividere i dati con fogli di google in modo flessibile.
  • La piattaforma del protocollo I2C collega l'hardware del sensore e funziona con circa 256 sensori contemporaneamente utilizzando solo 2 pull up cablati per trasferire i dati del sensore in hardware a 8 bit

Passaggio 1: hardware

Adafruit Feather HUZZAH Kit

Adafruit Feather Huzzah Board

Adafruit I2C integrato e adattatore USB

Sensore di temperatura e umidità SHT25

Cavo I2C

Passaggio 2: come funzionano le cose?

Recuperare le letture dei dati in tempo reale dei sensori tramite ESP8266 e inviare i dati a diverse piattaforme Cloud è molto semplice.

Utilizzeremo la libreria Wire.h nell'IDE Arduino per creare le due comunicazioni cablate tra la scheda Adafruit Huzzah e il modulo I2C del sensore SHT25 e il cavo I2C.

Nota: per evitare la complessa struttura del cablaggio, utilizzerò l'adattatore I2C per Adafruit Huzzah progettato per collegare il sensore I2C.

Affinché il principiante possa configurare l'Esp8266, è necessario passare attraverso l'installazione di ESP8266

Per prima cosa inizializza le librerie:

  • Libreria di fili
  • ESP8266WiFi
  • WiFiClient Secure

Passaggio 3: processo di esecuzione del modulo I2C nell'IDE Arduino

Dopo aver inizializzato le librerie, definiremo il processo I2C da utilizzare per recuperare le letture del sensore, convertirle e spostare i dati a 8 bit secondo i requisiti:

Inizializzare i registri nel protocollo I2C a due fili per il modulo sensore I2C

#define Indirizzo 0x40

  • Avvia la trasmissione I2C e inizializza i registri e richiedi i dati a 2 byte da cui leggeremo i dati del sensore.
  • Se saranno disponibili 2 byte di dati, leggere i dati del sensore e utilizzando le formule menzionate di seguito stiamo convertendo i valori desiderati

umidità galleggiante = (((data[0] * 256,0 + data[1]) * 125,0) / 65536.0) - 6;

float cTemp = (((data[0] * 256,0 + data[1]) * 175,72) / 65536.0) - 46,85;

float fTemp = (cTemp * 1.8) + 32;

Stampa i valori in uno schermo monitor seriale

Passaggio 4: connessione ESP8266 con WiFi e foglio di calcolo Google

Dopo l'esecuzione dei moduli I2C, impareremo come recuperare i dati e utilizzare le librerie WiFi e l'ID host, nonché le chiavi API per inviare i dati ai fogli di Google.

  • Definisci le credenziali WiFi a livello globale in ESP8266 che ci aiuteranno a connettere la scheda a Internet
  • Poiché utilizzeremo il client HTTP e definiremo il protocollo HTTPS = 443 per proteggere il percorso HTTP poiché lo script funzionerà solo nel percorso sicuro.
  • Inizializza i dettagli dell'host nel codice

const char* host = "script.google.com";

const int httpsPort = 443;

String SCRIPT_ID = "menziona l'ID dello script come indicato negli snap";

Nota: l'ID script è menzionato in "URL app Web" mentre il codice Gscript verrà pubblicato, basta copiare e incollare l'id menzionato di seguito e inizializzare nei comandi sopra

  • Usando anche volatile con variabile, inizializzeremo globalmente la variabile che preleva i dati dal modulo I2C e li invia allo script URL che invierà ulteriormente i dati alla destinazione.
  • Usando la libreria WiFi ESP8266 saremo in grado di connettere la scheda con internet
  • I dati del sensore verranno ospitati su un server locale ogni 5 secondi.
  • Con l'aiuto dello script URL, i dati verranno ospitati sulla pagina attiva del collegamento pubblicato dallo script di Google ogni 15 secondi.

Passaggio 5: automatizza il foglio Google utilizzando l'editor GScript

Automatizza il foglio Google utilizzando GScript Editor
Automatizza il foglio Google utilizzando GScript Editor
Automatizza il foglio Google utilizzando GScript Editor
Automatizza il foglio Google utilizzando GScript Editor
Automatizza il foglio Google utilizzando GScript Editor
Automatizza il foglio Google utilizzando GScript Editor

Poiché tutti noi abbiamo un account google per accedere al foglio google con il tuo account

  • Menziona i valori che devi ottenere dal sensore connesso con ESP8266
  • Vai su Strumenti>Editor di script
  • Usa la funzione “Doget” per ricevere gli eventi
  • Nella funzione "Doget" per inizializzare la chiave API del foglio di calcolo e collegare il foglio attivo a cui si desidera inviare i valori del sensore
  • Con l'aiuto della funzione di automazione menzionata nel codice per rappresentare facilmente i dati in righe e colonne.
  • Infine, salva i dati e fai clic su "Pubblica">> Fai clic su "Distribuisci come app Web"
  • Assicurati ogni volta che ci sarà qualche modifica per selezionare la "versione del progetto" >> "Nuovo">> premere "aggiorna"

L'URL dell'app Web corrente apparirà come di seguito:

script.google.com/macros/s/”ID GScript”/exec:

ulteriormente utilizzato nel codice ESP8266 per il recupero dei dati dai sensori

Connessioni di hosting Utilizzeremo la richiesta HTTPS Get per connettere i dati all'ID host menzionato nell'editor gscript in cui abbiamo codificato ulteriormente i nostri dati per connetterci con il foglio di Google.

function doGet(e) { Logger.log(JSON.stringify(e)); // visualizza i parametri var risultato = 'Ok'; // assume successo if (e.parameter == 'undefined') { result = 'No Parameters'; } else { var sheet_id = ''; // ID foglio di calcolo var foglio = SpreadsheetApp.openById(sheet_id).getActiveSheet(); var newRow = sheet.getLastRow() + 1; var rowData = ; } Logger.log(JSON.stringify(rowData)); // Scrivi una nuova riga sotto var newRange = sheet.getRange(newRow, 1, 1, rowData.length); newRange.setValues([rowData]); }

Passaggio 6: limitazioni:

Limitazioni
Limitazioni
  • Questo progetto è limitato solo a memorizzare i dati del sensore I2C in fogli di Google
  • Stiamo utilizzando la richiesta HTTPS GET per ricevere i valori tramite le funzioni I2C
  • Dobbiamo modificare il valore in formato stringa e quindi inviare i dati al collegamento URL gscript.

Passaggio 7: codice, crediti, riferimento

Codice Github:

github.com/varul29/SHT25_GoogleSheets_Goog…

Riferimento

Codice I2C:

Tutorial sugli script di Google:

Negozio integrato:

Blog tutorial:https://pdacontrolen.com/update-https-redirect-vers…

Consigliato: