Turinys:

Orų duomenys naudojant „Google“skaičiuokles ir „Google“scenarijų: 7 veiksmai
Orų duomenys naudojant „Google“skaičiuokles ir „Google“scenarijų: 7 veiksmai

Video: Orų duomenys naudojant „Google“skaičiuokles ir „Google“scenarijų: 7 veiksmai

Video: Orų duomenys naudojant „Google“skaičiuokles ir „Google“scenarijų: 7 veiksmai
Video: 8 „Excel“ įrankiai, kuriuos turėtų mokėti naudoti visi 2024, Lapkritis
Anonim
Orų duomenys naudojant „Google“skaičiuokles ir „Google“scenarijų
Orų duomenys naudojant „Google“skaičiuokles ir „Google“scenarijų

Šiame „Blogtut“ketiname nusiųsti SHT25 jutiklio rodmenis „Google“lapams, naudodami „Adafruit huzzah ESP8266“, kuris padeda siųsti duomenis į internetą.

  • Duomenų siuntimas į „Google“lapo langelį yra labai naudingas ir paprastas būdas išsaugoti duomenis lentelės pavidalu internete.
  • Užuot naudoję bet kokį specialų tiltą, pvz., Stumdami dėžutę, MQTT NODE RED ar bet kokią kitą REST API, mes siunčiame duomenis naudodami „Google“scenarijų, kuris lengvai gauna duomenis iš jutiklio, naudojant scenarijaus nuorodą, kurią pateikia „Google“scenarijaus programa po paskelbimo
  • Mes galime naudoti scenarijus duomenims siųsti iš „Google“lapo, dokumentų ar net į „Google“diską.
  • Nesibaigiant čia, galite susieti „Google“lapus su bet kuria žiniatinklio programa, prie kurios duomenys dalijasi su vartotojais taip, kaip jie norėjo
  • Skirtingai nuo kitų čia esančių internetinių serverių, nereikia mokėti jokių papildomų mokesčių, o vartotojo paskyroje galite saugoti ne daugiau kaip 10 GB duomenų ir
  • Viena iš geriausių pastangų yra tai, kad galite lengvai sužinoti, kaip prijungti duomenis prie interneto naudojant tokią realaus laiko programą.
  • Mes ketiname naudoti I2C ryšį, kuris vykdo pagrindinį-pavaldinį protokolą, kad lanksčiai bendrintume duomenis su „Google“lapais.
  • „I2C“protokolo platforma jungia jutiklio aparatinę įrangą ir vienu metu veikia su maždaug 256 jutikliais, naudojant tik 2 laidinį traukimą, kad būtų galima perduoti jutiklių duomenis 8 bitų aparatinėje įrangoje

1 žingsnis: Aparatūra

„Adafruit Feather HUZZAH“rinkiniai

„Adafruit Feather Huzzah“lenta

Integruotas „Adafruit I2C“ir USB adapteris

SHT25 temperatūros ir drėgmės jutiklis

I2C kabelis

2 veiksmas: kaip veikia daiktai

Gauti jutiklių duomenų realiuoju laiku rodmenis per ESP8266 ir siųsti duomenis į skirtingas „Cloud“platformas yra labai paprasta.

Mes naudosime „Wire.h“biblioteką „Arduino IDE“, kad sukurtume du laidinius ryšius tarp „Adafruit Huzzah Board“ir SHT25 jutiklio I2C modulio bei I2C kabelio.

Pastaba: kad išvengčiau sudėtingos laidų struktūros, aš naudosiu „I2C“adapterį „Adafruit Huzzah“, skirtą prijungti I2C jutikliui.

Kad naujokas galėtų nustatyti „Esp8266 yo“, jis turi atlikti ESP8266 sąranką

Pirmiausia inicijuokite bibliotekas:

  • Laidų biblioteka
  • ESP8266WiFi
  • „WiFiClientSecure“

3 žingsnis: „I2C“modulio vykdymo procesas „Arduino IDE“

Inicijuodami bibliotekas, nustatysime I2C procesą, kuris bus naudojamas norint gauti jutiklių rodmenis, kad jie būtų konvertuoti ir perkelti 8 bitų duomenis pagal reikalavimus:

Inicijuokite I2C jutiklio modulio dviejų laidų I2C protokolų registrus

#define Addr 0x40

  • Pradėkite I2C perdavimą ir inicijuokite registrus bei paprašykite 2 baitų duomenų, iš kur mes nuskaitysime jutiklio duomenis.
  • Jei bus prieinami 2 baitų duomenys, perskaitykite jutiklio duomenis ir naudodami toliau pateiktas formules konvertuojame norimas reikšmes

plūdės drėgmė = (((duomenys [0] * 256,0 + duomenys [1]) * 125,0) / 65536,0) - 6;

plūdė cTemp = (((duomenys [0] * 256,0 + duomenys [1]) * 175,72) / 65536,0) - 46,85;

plūdė fTemp = (cTemp * 1.8) + 32;

Spausdinkite reikšmes serijinio monitoriaus ekrane

4 veiksmas: ESP8266 ryšys naudojant „WiFi“ir „Google“skaičiuoklę

Baigę vykdyti „I2C“modulius, mes sužinosime, kaip gauti duomenis ir naudojant „WiFi“bibliotekas bei pagrindinio kompiuterio ID, taip pat API raktus, kad duomenys būtų siunčiami į „Google“lapus.

  • Visame pasaulyje apibrėžkite „WiFi“prisijungimo duomenis ESP8266, kuris padės mums prijungti plokštę prie interneto
  • Kadangi ketiname naudoti HTTP klientą ir nustatysime HTTPS = 443 protokolą HTTP keliui apsaugoti, nes scenarijus veiks tik saugiu keliu.
  • Inicijuokite pagrindinio kompiuterio duomenis kodu

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

const int httpsPort = 443;

String SCRIPT_ID = "paminėti scenarijaus ID, kaip minėta momentinėse nuotraukose";

Pastaba: scenarijaus ID yra minimas „žiniatinklio programų URL“, o „Gscript“kodas bus paskelbtas, tiesiog nukopijuokite ir įklijuokite toliau nurodytą ID ir inicijuokite aukščiau pateiktas komandas

  • Taip pat naudodami nepastoviąją su kintamuoju, mes inicijuosime kintamąjį visame pasaulyje, kuris paims duomenis iš I2C modulio ir nusiųs juos į URL scenarijų, kuris toliau siunčia duomenis į paskirties vietą.
  • Naudodami „ESP8266 WiFi“biblioteką galėsime prijungti plokštę prie interneto
  • Jutiklių duomenys bus talpinami vietiniame serveryje kas 5 sekundes.
  • Naudojant URL scenarijų, duomenys bus talpinami „Google“scenarijaus paskelbtoje nuorodoje „Aktyvus puslapis“kas 15 sekundžių.

5 veiksmas: automatizuokite „Google“lapą naudodami „GScript“redaktorių

Automatizuokite „Google“lapą naudodami „GScript“redaktorių
Automatizuokite „Google“lapą naudodami „GScript“redaktorių
Automatizuokite „Google“lapą naudodami „GScript“redaktorių
Automatizuokite „Google“lapą naudodami „GScript“redaktorių
Automatizuokite „Google“lapą naudodami „GScript“redaktorių
Automatizuokite „Google“lapą naudodami „GScript“redaktorių

Kadangi visi turime „Google“paskyrą, kad galėtume prisijungti prie „Google“lapo su jūsų paskyra

  • Paminėkite vertes, kurias turite gauti iš jutiklio, prijungto prie ESP8266
  • Eikite į Įrankiai> Scenarijų rengyklė
  • Norėdami gauti įvykius, naudokite funkciją „Doget“
  • Funkcijoje „Doget“inicijuoti skaičiuoklės API raktą ir prijungti aktyvųjį lapą, į kurį norite siųsti jutiklio vertes
  • Naudojant automatizavimo funkciją, kuri paminėta kode, kad būtų galima lengvai pateikti duomenis eilutėse ir stulpeliuose.
  • Galiausiai išsaugokite duomenis ir spustelėkite „Skelbti“>> Spustelėkite „Diegti kaip žiniatinklio programas“
  • Įsitikinkite, kad bet kuriuo metu, kai bus atlikti pakeitimai, pasirinkite „projekto versija“>> „Nauja“>> paspauskite „atnaujinti“

Dabartinis žiniatinklio programos URL bus rodomas taip:

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

toliau naudojamas ESP8266 kode, norint gauti duomenis iš jutiklių

Mes naudosime „HTTPS Get“užklausą, kad sujungtume duomenis su pagrindinio kompiuterio ID, nurodytu „gscript“redaktoriuje, kur toliau kodavome savo duomenis, kad galėtume prisijungti prie „Google“lapo.

funkcija doGet (e) {Logger.log (JSON.stringify (e)); // peržiūrėti parametrus var result = 'Gerai'; // prisiimti sėkmę, jei (e.parameter == 'undefined') {result = 'Nėra parametrų'; } else {var sheet_id = ''; // Skaičiuoklės ID var sheet = SpreadsheetApp.openById (sheet_id).getActiveSheet (); var newRow = sheet.getLastRow () + 1; var rowData = ; } Logger.log (JSON.stringify (rowData)); // Parašykite naują eilutę žemiau var newRange = sheet.getRange (newRow, 1, 1, rowData.length); newRange.setValues ([rowData]); }

6 žingsnis: apribojimai:

Apribojimai
Apribojimai
  • Šis projektas skirtas tik I2C jutiklio duomenims saugoti „Google“lapuose
  • Mes naudojame HTTPS GET užklausą, kad gautume vertes per I2C funkcijas
  • Turime pakeisti reikšmę eilutės formatu ir tada siųsti duomenis į gscript URL nuorodą.

7 žingsnis: kodas, kreditai, nuoroda

„Github“kodas:

github.com/varul29/SHT25_GoogleSheets_Goog…

Nuoroda

I2C kodas:

„Google Script“pamoka:

Įterpta parduotuvė:

Pamokos dienoraštis:

Rekomenduojamas: