Innehållsförteckning:

Väderdata med hjälp av Google Sheets och Google Script: 7 steg
Väderdata med hjälp av Google Sheets och Google Script: 7 steg

Video: Väderdata med hjälp av Google Sheets och Google Script: 7 steg

Video: Väderdata med hjälp av Google Sheets och Google Script: 7 steg
Video: Skapa script till Google Formulär med hjälp av ChatGPT 2024, November
Anonim
Väderdata med hjälp av Google Sheets och Google Script
Väderdata med hjälp av Google Sheets och Google Script

I denna Blogtut kommer vi att skicka avläsningarna av SHT25 -sensorn till Google -ark med Adafruit huzzah ESP8266 som hjälper till att skicka data till internet.

  • Skicka data till Google bladcell är mycket användbart och grundläggande sätt som sparar data i tabellform online.
  • Istället för att använda någon form av speciell brygga som att trycka på en låda eller MQTT NODE RED eller någon annan typ av REST API, kommer vi att skicka data med hjälp av google script som enkelt tar emot data från sensorn med hjälp av script Link från google script -applikation efter publicering
  • Vi kan använda skriptet för att skicka data från Google -ark, dokument eller till och med till Google Drive.
  • Bara sluta inte här längre, du kan ansluta Google-ark med alla webbaserade applikationer som delar data med användare på det sätt de ville
  • Inga extra avgifter att betala till skillnad från de andra onlineservrarna här och du kan lagra data upp till 10 GB maximalt i användarkontot och kan använda
  • En av de bästa insatserna är att du enkelt kan lära dig att ansluta data till internet med den här typen av realtidsapplikationer.
  • Vi kommer att använda I2C-anslutningen som utför master-slave-protokollet för att dela data med Google-blad på ett flexibelt sätt.
  • I2C -protokollplattformen ansluter sensorhårdvaran och fungerar med cirka 256 sensorer samtidigt genom att endast använda 2 trådbundna pull -up för att överföra sensordata i 8 bitars hårdvara

Steg 1: Hårdvara

Adafruit fjäder HUZZAH -kit

Adafruit Feather Huzzah Board

Adafruit I2C integrerad och USB -adapter

SHT25 temperatur- och fuktsensor

I2C -kabel

Steg 2: Hur saker fungerar

Att hämta avläsningar av realtidsdata från sensorer via ESP8266 och skicka data till olika molnplattformar är mycket enkelt.

Vi kommer att använda Wire.h -biblioteket i Arduino IDE för att skapa den två trådbundna kommunikationen mellan Adafruit Huzzah Board och SHT25 sensor I2C -modul och I2C -kabel.

Obs: För att undvika den komplexa ledningsstrukturen kommer jag att använda I2C -adaptern för Adafruit Huzzah som är utformad för att ansluta I2C -sensorn.

För att nybörjaren ska konfigurera Esp8266 måste yo gå igenom ESP8266 -inställningen

Initiera först biblioteken:

  • Trådbibliotek
  • ESP8266WiFi
  • WiFiClientSecure

Steg 3: Exekveringsprocess för I2C -modul i Arduino IDE

Efter initiering av bibliotek kommer vi att definiera I2C -processen som ska användas för att hämta sensoravläsningarna som konverterar dem och flytta 8 -bitars data enligt kraven:

Initiera registren i I2C -protokoll med två trådar för I2C -sensormodulen

#define Addr 0x40

  • Starta I2C -överföringen och initiera registren och begär 2 bytes -data varifrån vi kommer att läsa sensordata.
  • Om 2 bytes data kommer att vara tillgänglig läs sedan sensordata och med hjälp av formlerna nedan omvandlar vi de önskade värdena

flottörfuktighet = (((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;

Skriv ut värdena på en seriell bildskärm

Steg 4: ESP8266 -anslutning med WiFi och Google -kalkylblad

Efter genomförandet av I2C -moduler kommer vi att lära oss hur vi hämtar data och använder WiFi -bibliotek och värd -ID samt API -nycklar för att skicka data till Google -ark.

  • Definiera WiFi -referenser globalt i ESP8266 som hjälper oss att ansluta kortet till internet
  • Eftersom vi ska använda HTTP -klienten och kommer att definiera HTTPS = 443 -protokollet för att säkra HTTP -sökvägen eftersom skriptet bara fungerar i den säkra sökvägen.
  • Initiera värdinformation i kod

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

const int httpsPort = 443;

String SCRIPT_ID = "nämna skript -ID som nämnts i snaps";

Obs: Skript -ID nämns i "webbapps -URL" medan Gscript -kod kommer att publiceras, bara kopiera och klistra in det ID som nämns nedan och initiera i ovanstående kommandon

  • Om vi också använder volatile with variabel kommer vi att initialisera variabel globalt som hämtar data från I2C -modulen och skickar den till URL -skriptet som ytterligare skickar data till destinationen.
  • Med hjälp av ESP8266 WiFi Library kommer vi att kunna ansluta kortet till internet
  • Sensordata lagras på en lokal server efter var 5: e sekund.
  • Med hjälp av URL -skript kommer data att lagras på Google script publicerad länk Aktiv sida efter var 15: e sekund.

Steg 5: Automatisera Google Sheet med GScript Editor

Automatisera Google Sheet med hjälp av GScript Editor
Automatisera Google Sheet med hjälp av GScript Editor
Automatisera Google Sheet med hjälp av GScript Editor
Automatisera Google Sheet med hjälp av GScript Editor
Automatisera Google Sheet med hjälp av GScript Editor
Automatisera Google Sheet med hjälp av GScript Editor

Eftersom vi alla har ett Google -konto för att logga in på Google -blad med ditt konto

  • Nämn de värden som du behöver för att få från sensorn ansluten till ESP8266
  • Gå till Verktyg> Skriptredigerare
  • Använd "Doget" -funktionen för att ta emot händelserna
  • I "Doget" -funktionen för att initiera kalkylarkets API -nyckel samt ansluta det aktiva bladet dit du vill skicka sensorvärdena
  • Med hjälp av automatiseringsfunktionen som nämns i koden för att enkelt representera data i rader och kolumner.
  • Slutligen, spara data och klicka på "Publicera" >> Klicka på "Distribuera som webbappar"
  • Se till att när det blir någon ändring för att välja "projektversion" >> "Ny" >> tryck på "uppdatera"

Den nuvarande webbappens webbadress visas som nedan:

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

används vidare i ESP8266 -kod för att hämta data från sensorer

Vi kommer att använda HTTPS Get -begäran för att ansluta data till värd -id som nämns i gscript -redigeraren där vi kodade våra data ytterligare för att ansluta till Google -blad.

funktion doGet (e) {Logger.log (JSON.stringify (e)); // view parameters var result = 'Ok'; // anta framgång om (e.parameter == 'undefined') {result = 'No Parameters'; } annat {var sheet_id = ''; // Kalkylark -ID var sheet = SpreadsheetApp.openById (sheet_id).getActiveSheet (); var newRow = sheet.getLastRow () + 1; var rowData = ; } Logger.log (JSON.stringify (rowData)); // Skriv ny rad nedan var newRange = sheet.getRange (newRow, 1, 1, rowData.length); newRange.setValues ([rowData]); }

Steg 6: Begränsningar:

Begränsningar
Begränsningar
  • Detta projekt är endast begränsat till att lagra data från I2C -sensorn i Google -ark
  • Vi använder HTTPS GET -begäran för att ta emot värdena via I2C -funktioner
  • Vi måste ändra värdet i strängformat och sedan skicka data till gscript URL -länk.

Steg 7: Kod, krediter, referens

Github -kod:

github.com/varul29/SHT25_GoogleSheets_Goog…

Referens

I2C -kod:

Handledning för Google Script:

Inbäddad butik:

Självstudieblogg:

Rekommenderad: