Sadržaj:

Podaci o vremenu pomoću Google tablica i Google skripte: 7 koraka
Podaci o vremenu pomoću Google tablica i Google skripte: 7 koraka

Video: Podaci o vremenu pomoću Google tablica i Google skripte: 7 koraka

Video: Podaci o vremenu pomoću Google tablica i Google skripte: 7 koraka
Video: Полное руководство по Google Forms - универсальный инструмент для опросов и сбора данных онлайн! 2024, Juli
Anonim
Podaci o vremenu pomoću Google tablica i Google skripte
Podaci o vremenu pomoću Google tablica i Google skripte

U ovom Blogtutu poslat ćemo očitanja senzora SHT25 na google listove koristeći Adafruit huzzah ESP8266 koji pomaže u slanju podataka na internet.

  • Slanje podataka u google tablicu je vrlo koristan i osnovni način koji podatke sprema u tabličnom obliku na mreži.
  • Umjesto da koristimo bilo koju vrstu posebnog mosta poput guranja kutije ili MQTT NODE RED ili bilo koje druge vrste REST API -ja, podatke ćemo poslati pomoću google skripte koja lako prima podatke sa senzora pomoću skripte Link koju pruža google skriptna aplikacija nakon objavljivanja
  • Skripte možemo koristiti za slanje podataka s google tablice, dokumenata ili čak na google pogon.
  • Samo nemojte ovdje dalje, možete povezati google listove sa bilo kojom web aplikacijom koja dijeli podatke s korisnicima na način na koji su htjeli
  • Ne plaćaju se dodatni troškovi za razliku od ostalih online servera ovdje, a podatke možete pohraniti do 10 GB maksimalno na korisnički račun i možete ih koristiti
  • Jedan od najboljih napora je da jednostavno naučite o povezivanju podataka na internet s ovom vrstom aplikacije u stvarnom vremenu.
  • Koristit ćemo I2C vezu koja izvodi master-slave protokol za dijeljenje podataka s google tablicama na fleksibilan način.
  • Platforma protokola I2C povezuje hardver senzora i radi s oko 256 senzora odjednom koristeći samo 2 žičana poteza za prijenos podataka senzora u 8 -bitnom hardveru

Korak 1: Hardver

HUZZAH kompleti Adafruit Feather

Hodža od daske Adafruit Feather

Adafruit I2C integrirani i USB adapter

SHT25 Senzor temperature i vlažnosti

I2C kabel

Korak 2: Kako stvari funkcioniraju

Dohvaćanje očitanja podataka senzora u stvarnom vremenu putem ESP8266 i slanje podataka na različite Cloud platforme vrlo je jednostavno.

Koristit ćemo Wire.h biblioteku u Arduino IDE -u za stvaranje dvije žičane komunikacije između Adafruit Huzzah ploče i I2C modula senzora SHT25 i I2C kabela.

Napomena: Kako bih izbjegao složenu strukturu ožičenja, upotrijebit ću I2C adapter za Adafruit Huzzah dizajniran za povezivanje I2C senzora.

Da bi početnik postavio Esp8266, morate proći kroz postavljanje ESP8266

Prvo inicijalizirajte biblioteke:

  • Žičana biblioteka
  • ESP8266WiFi
  • WiFiClientSecure

Korak 3: Proces izvršenja I2C modula u Arduino IDE -u

Nakon inicijalizacije biblioteka, definirat ćemo I2C proces koji će se koristiti za dohvaćanje očitanja senzora da ih pretvore i pomaknu 8 -bitne podatke prema zahtjevima:

Inicijalizirajte registre u dvožičnom I2C protokolu za I2C senzorski modul

#define Addr 0x40

  • Pokrenite I2C prijenos i inicijalizirajte registre i zatražite podatke od 2 bajta odakle ćemo čitati podatke senzora.
  • Ako će biti dostupni podaci od 2 bajta, pročitajte podatke senzora i pomoću dolje navedenih formula pretvaramo željene vrijednosti

vlažnost plovka = (((podaci [0] * 256.0 + podaci [1]) * 125.0) / 65536.0) - 6;

float cTemp = (((podaci [0] * 256.0 + podaci [1]) * 175.72) / 65536.0) - 46.85;

float fTemp = (cTemp * 1.8) + 32;

Odštampajte vrednosti na ekranu serijskog monitora

Korak 4: Veza ESP8266 s WiFi -jem i Google proračunskom tablicom

Nakon izvršavanja I2C modula naučit ćemo kako dohvatiti podatke i pomoću WiFi biblioteka i ID -a hosta, kao i API ključeva za slanje podataka na google listove.

  • Globalno definirajte WiFi vjerodajnice u ESP8266 što će nam pomoći da povežemo ploču s internetom
  • Kako ćemo koristiti HTTP klijent i definirat ćemo HTTPS = 443 protokol za osiguranje HTTP staze jer će skripta raditi samo na sigurnoj putanji.
  • Inicijalizirajte detalje o hostu u kodu

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

const int httpsPort = 443;

String SCRIPT_ID = "spomenite ID skripte kako je navedeno u snimkama";

Napomena: ID skripte se spominje u "URL -u web aplikacija", dok će Gscript kôd biti objavljen, samo kopirajte i zalijepite dolje navedeni ID i inicijalizirajte u gornjim naredbama

  • Također koristeći volatile sa varijablom, mi ćemo globalno inicijalizirati varijablu koja dohvaća podatke iz I2C modula i šalje ih u URL skriptu koja će dalje slati podatke do odredišta.
  • Pomoću ESP8266 WiFi biblioteke moći ćemo povezati ploču s internetom
  • Podaci senzora bit će smješteni na lokalni server nakon svakih 5 sekundi.
  • Uz pomoć URL skripte, podaci će se hostirati na google skriptu objavljenu vezu Aktivna stranica nakon svakih 15 sekundi.

Korak 5: Automatizirajte Google list pomoću GScript uređivača

Automatizirajte Google list pomoću GScript uređivača
Automatizirajte Google list pomoću GScript uređivača
Automatizirajte Google list pomoću GScript uređivača
Automatizirajte Google list pomoću GScript uređivača
Automatizirajte Google list pomoću GScript uređivača
Automatizirajte Google list pomoću GScript uređivača

Budući da svi imamo google račun za prijavu na google listu s vašim računom

  • Navedite vrijednosti koje trebate dobiti od senzora povezanog s ESP8266
  • Idite na Alati> Uređivač skripti
  • Za primanje događaja koristite funkciju „Doget“
  • U funkciji „Doget“za inicijalizaciju API ključa proračunske tablice, kao i povezivanje aktivnog lista gdje želite poslati vrijednosti senzora
  • Uz pomoć funkcije automatizacije koja se spominje u kodu za jednostavno predstavljanje podataka u redovima i kolonama.
  • Na kraju, spremite podatke i kliknite na „Objavi“>> Kliknite na „Postavi kao web aplikacije“
  • Uvijek kad dođe do bilo kakve promjene odaberite "verziju projekta" >> "Novo" >> pritisnite "ažuriraj"

Trenutni URL web aplikacije pojavit će se na sljedeći način:

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

dalje se koristi u kodu ESP8266 za dohvaćanje podataka sa senzora

Hosting veze Koristit ćemo HTTPS Get zahtjev za povezivanje podataka s ID -om hosta koji je naveden u gscript uređivaču gdje smo dalje kodirali naše podatke za povezivanje s google listom.

funkcija doGet (e) {Logger.log (JSON.stringify (e)); // pogledaj parametre var result = 'Ok'; // pretpostavljamo uspjeh if (e.parameter == 'undefined') {result = 'Nema parametara'; } else {var sheet_id = ''; // ID proračunske tablice var sheet = SpreadsheetApp.openById (sheet_id).getActiveSheet (); var newRow = sheet.getLastRow () + 1; var rowData = ; } Logger.log (JSON.stringify (rowData)); // Napišite novi red ispod var newRange = sheet.getRange (newRow, 1, 1, rowData.length); newRange.setValues ([rowData]); }

Korak 6: Ograničenja:

Ograničenja
Ograničenja
  • Ovaj projekt je ograničen samo na pohranu podataka I2C senzora u google tablice
  • Koristimo HTTPS GET zahtjev za primanje vrijednosti putem I2C funkcija
  • Moramo promijeniti vrijednost u string formatu, a zatim poslati podatke na URL adresu gscript.

Korak 7: Kôd, krediti, reference

Github kod:

github.com/varul29/SHT25_GoogleSheets_Goog…

Reference

I2C kod:

Vodič za Google Script:

Ugrađena trgovina:

Blog vodiča:

Preporučuje se: