Innholdsfortegnelse:

Værdata ved hjelp av Google Sheets og Google Script: 7 trinn
Værdata ved hjelp av Google Sheets og Google Script: 7 trinn

Video: Værdata ved hjelp av Google Sheets og Google Script: 7 trinn

Video: Værdata ved hjelp av Google Sheets og Google Script: 7 trinn
Video: Полное руководство по Google Forms - универсальный инструмент для опросов и сбора данных онлайн! 2024, Juli
Anonim
Værdata ved hjelp av Google Sheets og Google Script
Værdata ved hjelp av Google Sheets og Google Script

I denne Blogtut kommer vi til å sende avlesningene til SHT25 -sensoren til google -ark ved hjelp av Adafruit huzzah ESP8266 som hjelper til med å sende dataene til internett.

  • Å sende data til Google -arkcelle er mye nyttig og grunnleggende måte som lagrer dataene i tabellform online.
  • I stedet for å bruke noen form for spesiell bro som å skyve en boks eller MQTT NODE RED eller en annen form for REST API, skal vi sende dataene ved å bruke google script som enkelt mottar data fra sensoren ved å bruke script Link levert av google script -applikasjon etter publisering
  • Vi kan bruke skriptet til å sende dataene fra Google -ark, dokumenter eller til og med til Google Drive.
  • Bare ikke slutt her, du kan koble Google-arkene til en hvilken som helst nettbasert applikasjon som deler dataene med brukerne slik de ønsket
  • Ingen ekstra kostnader skal betales i motsetning til de andre online serverne her, og du kan lagre dataene opptil 10 GB maksimum i brukerkontoen og kan bruke
  • En av de beste innsatsene er at du enkelt kan lære å koble dataene til internett med denne typen sanntidsapplikasjoner.
  • Vi skal bruke I2C-tilkoblingen som utfører master-slave-protokollen for å dele dataene med Google-ark på en fleksibel måte.
  • I2C -protokollplattformen kobler sensorens maskinvare og fungerer med rundt 256 sensorer på en gang ved å bruke bare 2 kablet pull -up for å overføre sensordata i 8 bits maskinvare

Trinn 1: Maskinvare

Adafruit Feather HUZZAH -sett

Adafruit Feather Huzzah Board

Adafruit I2C integrert og USB -adapter

SHT25 temperatur- og fuktighetssensor

I2C -kabel

Trinn 2: Hvordan ting fungerer

Det er mye enkelt å hente avlesninger av sanntidsdata for sensorer gjennom ESP8266 og sende dataene til forskjellige skyplattformer.

Vi kommer til å bruke Wire.h -biblioteket i Arduino IDE for å lage den to kablede kommunikasjonen mellom Adafruit Huzzah Board og SHT25 sensor I2C -modul og I2C -kabel.

Merk: For å unngå den komplekse ledningsstrukturen, skal jeg bruke I2C -adapteren for Adafruit Huzzah designet for å koble I2C -sensoren.

For at nybegynneren skal sette opp Esp8266 må yo gå gjennom ESP8266 -oppsettet

Initialiser bibliotekene først:

  • Wire bibliotek
  • ESP8266WiFi
  • WiFiClientSecure

Trinn 3: I2C -modulutførelsesprosess i Arduino IDE

Etter initialisering av biblioteker vil vi definere I2C -prosessen som skal brukes til å hente sensoravlesningene som konverterer dem og flytte 8 -bits dataene i henhold til kravene:

Initialiser registerene i I2C -protokollen med to ledninger for I2C -sensormodulen

#define Addr 0x40

  • Start I2C -overføring og initialiser registerene og be om 2 bytes data hvor vi vil lese sensordata.
  • Hvis 2 bytes data vil være tilgjengelig, les sensordataene og ved å bruke formlene nedenfor, konverterer vi de ønskede verdiene

flytefuktighet = (((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 verdiene på en seriell skjerm

Trinn 4: ESP8266 -tilkobling med WiFi og Google -regneark

Etter utførelsen av I2C -modulene skal vi lære om hvordan vi henter dataene og bruker WiFi -biblioteker og verts -ID samt API -nøkler til å sende dataene til Google -ark.

  • Definer WiFi -legitimasjon globalt i ESP8266, som vil hjelpe oss med å koble kortet til internett
  • Siden vi skal bruke HTTP -klienten og vil definere HTTPS = 443 -protokollen for å sikre HTTP -banen, ettersom skriptet bare fungerer i den sikre banen.
  • Initialiser vertsinformasjonen i kode

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

const int httpsPort = 443;

String SCRIPT_ID = "nevne skript -ID som nevnt i snaps";

Merk: Skript -ID er nevnt i "webapps URL" mens Gscript -kode vil bli publisert, bare kopier og lim inn ID -en som er nevnt nedenfor og initialiser i kommandoene ovenfor

  • Ved også å bruke volatile with variable, skal vi initialisere variabel globalt som henter dataene fra I2C -modulen og sender den til URL -skriptet som videre sender dataene til destinasjonen.
  • Ved å bruke ESP8266 WiFi Library kan vi koble kortet til internett
  • Sensordata blir lagret på en lokal server etter hvert 5. sekund.
  • Ved hjelp av URL -skript vil dataene bli lagret på Google Script -publiserte lenker Aktiv side etter hvert 15. sekund.

Trinn 5: Automatiser Google Sheet ved hjelp av GScript Editor

Automatiser Google Sheet ved hjelp av GScript Editor
Automatiser Google Sheet ved hjelp av GScript Editor
Automatiser Google Sheet ved hjelp av GScript Editor
Automatiser Google Sheet ved hjelp av GScript Editor
Automatiser Google Sheet ved hjelp av GScript Editor
Automatiser Google Sheet ved hjelp av GScript Editor

Siden vi alle har en Google -konto for å logge på Google -ark med kontoen din

  • Nevn verdiene du trenger for å få fra sensoren som er koblet til ESP8266
  • Gå til Verktøy> Skriptredigerer
  • Bruk “Doget” -funksjonen for å motta hendelsene
  • I "Doget" -funksjonen for å initialisere regnearkets API -nøkkel, samt koble til det aktive arket dit du vil sende sensorverdiene
  • Ved hjelp av automatiseringsfunksjonen som er nevnt i koden for enkelt å representere dataene i rader og kolonner.
  • Til slutt lagrer du dataene og klikker på "Publiser" >> Klikk "Distribuer som webapper"
  • Sørg for at når det blir noen endring for å velge "prosjektversjon" >> "Ny" >> trykk "oppdater"

Gjeldende webapp -URL vises som nedenfor:

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

videre brukt i ESP8266 -kode for å hente data fra sensorer

Vi skal bruke HTTPS Get -forespørselen for å koble dataene til vert -ID -en som er nevnt i gscript -redigeringsprogrammet, der vi kodet dataene våre ytterligere for å koble til Google -ark.

funksjon doGet (e) {Logger.log (JSON.stringify (e)); // view parameters var result = 'Ok'; // anta suksess hvis (e.parameter == 'undefined') {result = 'No Parameters'; } annet {var sheet_id = ''; // Regneark -ID var sheet = SpreadsheetApp.openById (sheet_id).getActiveSheet (); var newRow = sheet.getLastRow () + 1; var rowData = ; } Logger.log (JSON.stringify (rowData)); // Skriv ny rad under var newRange = sheet.getRange (newRow, 1, 1, rowData.length); newRange.setValues ([rowData]); }

Trinn 6: Begrensninger:

Begrensninger
Begrensninger
  • Dette prosjektet er bare begrenset til å lagre dataene til I2C -sensoren i Google -ark
  • Vi bruker HTTPS GET -forespørsel for å motta verdiene gjennom I2C -funksjoner
  • Vi må endre verdien i strengformat og deretter sende dataene til gscript URL -lenke.

Trinn 7: Kode, studiepoeng, referanse

Github -kode:

github.com/varul29/SHT25_GoogleSheets_Goog…

Henvisning

I2C -kode:

Opplæring i Google Script:

Innebygd butikk:

Opplæringsblogg:

Anbefalt: