INHOUDSOPGAWE:

Weergegevens met behulp van Google Sheets en Google Script: 7 stappe
Weergegevens met behulp van Google Sheets en Google Script: 7 stappe

Video: Weergegevens met behulp van Google Sheets en Google Script: 7 stappe

Video: Weergegevens met behulp van Google Sheets en Google Script: 7 stappe
Video: Импорт данных из Google Sheets в Excel – Проще простого! 2024, November
Anonim
Weerdata met behulp van Google Sheets en Google Script
Weerdata met behulp van Google Sheets en Google Script

In hierdie Blogtut stuur ons die lesings van die SHT25 -sensor na Google -blaaie met behulp van Adafruit huzzah ESP8266, wat help om die data na die internet te stuur.

  • Die stuur van data na die Google blad -sel is 'n baie nuttige en basiese manier om die data aanlyn in tabelvorm te stoor.
  • In plaas daarvan om 'n spesiale brug te gebruik, soos om 'n boks of MQTT NODE RED of 'n ander REST API te druk, stuur ons die data met behulp van Google script wat die data maklik van die sensor ontvang deur die script Link te gebruik wat deur die Google script aansoek na publikasie
  • Ons kan die script gebruik om die data van Google -blad, dokumente of selfs na Google Drive te stuur.
  • Eindig nie verder nie, u kan die Google-blaaie verbind met enige webgebaseerde toepassing waarmee u die data met gebruikers kan deel soos hulle wou
  • U hoef geen ekstra koste te betaal nie, anders as die ander aanlynbedieners hier, en u kan die data tot 10 GB maksimum in die gebruikersrekening stoor en kan gebruik
  • Een van die beste pogings is dat u maklik kan leer hoe u die data met die internet in verbinding kan stel met hierdie soort intydse toepassing.
  • Ons gaan die I2C-verbinding gebruik wat die master-slave-protokol uitvoer om die data op 'n buigsame manier met Google-blaaie te deel.
  • Die I2C -protokolplatform verbind die sensorhardeware en werk tegelykertyd met ongeveer 256 sensors deur slegs 2 bedrade optelle te gebruik om die sensordata in 8 bis -hardeware oor te dra

Stap 1: Hardeware

Adafruit Feather HUZZAH -stelle

Adafruit Feather Huzzah Board

Adafruit I2C geïntegreerde en USB -adapter

SHT25 Temperatuur- en humiditeitsensor

I2C kabel

Stap 2: Hoe dinge werk

Dit is baie eenvoudig om die lesings van real-time data van sensors deur ESP8266 te haal en die data na verskillende wolkplatforms te stuur.

Ons gaan die Wire.h -biblioteek in Arduino IDE gebruik om die twee bedrade kommunikasie tussen Adafruit Huzzah Board en SHT25 sensor I2C -module en I2C -kabel te skep.

Nota: Om die ingewikkelde bedradingstruktuur te vermy, gaan ek die I2C -adapter vir Adafruit Huzzah gebruik om die I2C -sensor aan te sluit.

Vir die beginner om die Esp8266 op te stel, moet u die ESP8266 -opstelling ondergaan

Initialiseer eers die biblioteke:

  • Draad biblioteek
  • ESP8266WiFi
  • WiFiClientSecure

Stap 3: I2C -module -uitvoerproses in Arduino IDE

Na die inisialisering van biblioteke, definieer ons die I2C -proses wat gebruik moet word om die sensorlesings te omskep, en verander die 8 bis data volgens die vereistes:

Initialiseer die registers in tweedraads I2C -protokol vir die I2C -sensormodule

#definieer Addr 0x40

  • Begin I2C -oordrag en initialiseer die registers en versoek om 2 grepe data vanwaar ons die sensordata sal lees.
  • As daar 2 grepe data beskikbaar is, lees dan die sensordata en gebruik die onderstaande formules om die gewenste waardes om te skakel

float humiditeit = (((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;

Druk die waardes in 'n seriële monitorskerm af

Stap 4: ESP8266 -verbinding met WiFi en Google -sigblad

Na die uitvoering van I2C -modules, gaan ons leer hoe om die data te gaan haal en deur WiFi -biblioteke en gasheer -ID sowel as API -sleutels te gebruik om die data na Google -blaaie te stuur.

  • Definieer WiFi -geloofsbriewe wêreldwyd in ESP8266, wat ons sal help om die bord met internet te verbind
  • Aangesien ons die HTTP -kliënt gaan gebruik en HTTPS = 443 -protokol vir die beveiliging van die HTTP -pad sal definieer, aangesien die script slegs op die veilige pad sal werk.
  • Begin die gasheerbesonderhede in kode

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

const int httpsPort = 443;

String SCRIPT_ID = "noem die script -ID soos in snaps genoem";

Let wel: Script -ID word genoem in 'webapps -URL' terwyl Gscript -kode gepubliseer word, kopieer en plak die onderstaande ID en initialiseer in die opdragte hierbo

  • As ons ook vlugtig met veranderlike gebruik, gaan ons die veranderlike wêreldwyd inisialiseer, wat die data uit die I2C -module haal en dit na die URL -script stuur, wat die data verder na die bestemming stuur.
  • Deur die ESP8266 WiFi -biblioteek te gebruik, kan ons die bord met internet verbind
  • Die sensordata word na elke 5 sekondes by 'n plaaslike bediener gehuisves.
  • Met die hulp van 'n URL -skrip word die data na elke 15 sekondes op die gepubliseerde skakel Active -bladsy van Google Script gehuisves.

Stap 5: Outomatiseer die Google Sheet met behulp van GScript Editor

Outomatiseer die Google Sheet met behulp van GScript Editor
Outomatiseer die Google Sheet met behulp van GScript Editor
Outomatiseer die Google Sheet met behulp van GScript Editor
Outomatiseer die Google Sheet met behulp van GScript Editor
Outomatiseer die Google Sheet met behulp van GScript Editor
Outomatiseer die Google Sheet met behulp van GScript Editor

Aangesien ons almal 'n Google -rekening het om by u Google -blad aan te meld met u rekening

  • Noem die waardes wat u moet kry van die sensor wat met ESP8266 verbind is
  • Gaan na Tools> Script Editor
  • Gebruik die 'Doget' -funksie om die gebeure te ontvang
  • In die 'Doget' -funksie om die sigblad -API -sleutel te initialiseer, sowel as om die Active Sheet aan te sluit waarheen u die sensorwaardes wil stuur
  • Met die hulp van die outomatiseringsfunksie wat in die kode genoem word, kan u die data in rye en kolomme maklik voorstel.
  • Stoor laastens die data en klik op "Publiseer" >> Klik op "Implementeer as webprogramme"
  • Maak altyd seker dat die "projekweergawe" >> "Nuut" >> druk op "update"

Huidige webprogram -URL verskyn soos volg:

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

verder gebruik in ESP8266 -kode om die data van sensors af te haal

Ons gaan die HTTPS Kry -versoek gebruik om die data te koppel aan die gasheer -ID wat in die gscript -redakteur genoem word, waar ons ons data verder gekodeer het om met Google blad te skakel.

funksie doGet (e) {Logger.log (JSON.stringify (e)); // sien parameters var result = 'Ok'; // aanvaar sukses as (e.parameter == 'undefined') {result = 'No Parameters'; } anders {var sheet_id = ''; // Sigblad -ID var blad = SigbladApp.openById (blad_id).getActiveSheet (); var newRow = sheet.getLastRow () + 1; var rowData = ; } Logger.log (JSON.stringify (rowData)); // Skryf nuwe ry onder var newRange = sheet.getRange (newRow, 1, 1, rowData.length); newRange.setValues ([rowData]); }

Stap 6: Beperkings:

Beperkings
Beperkings
  • Hierdie projek is slegs beperk tot die stoor van die data van die I2C -sensor in Google -blaaie
  • Ons gebruik HTTPS GET -versoek om die waardes via I2C -funksies te ontvang
  • Ons moet die waarde in stringformaat verander en die data dan na die gscript -URL -skakel stuur.

Stap 7: Kode, krediete, verwysing

Github -kode:

github.com/varul29/SHT25_GoogleSheets_Goog…

Verwysing

I2C -kode:

Tutoriaal vir Google Script:

Ingebedde winkel:

Studieblog:

Aanbeveel: