Cuprins:

Date meteo folosind Foi de calcul Google și Google Script: 7 pași
Date meteo folosind Foi de calcul Google și Google Script: 7 pași

Video: Date meteo folosind Foi de calcul Google și Google Script: 7 pași

Video: Date meteo folosind Foi de calcul Google și Google Script: 7 pași
Video: 32 de combinații secrete pe tastatura ta 2024, Noiembrie
Anonim
Date meteo folosind Foi de calcul Google și Google Script
Date meteo folosind Foi de calcul Google și Google Script

În acest Blogtut, vom trimite citirile senzorului SHT25 pe foi Google pe Adafruit huzzah ESP8266, care ajută la trimiterea datelor pe internet.

  • Trimiterea de date către celula de foaie Google este un mod mult mai util și de bază, care salvează datele sub formă de tabel online.
  • În loc să folosim orice fel de punte speciale, cum ar fi împingerea unei cutii sau MQTT NODE RED sau orice alt tip de API REST, vom trimite datele folosind scriptul google care primește cu ușurință datele de la senzor folosind scriptul Link furnizat de aplicație script Google după publicare
  • Putem folosi scriptarea pentru a trimite datele din foaia Google, documente sau chiar pe Google Drive.
  • Pur și simplu nu se termină aici mai departe, puteți conecta foile Google cu orice aplicație bazată pe web la care partajează datele utilizatorilor așa cum și-au dorit
  • Nu se plătesc taxe suplimentare spre deosebire de celelalte servere online de aici și puteți stoca datele până la 10 GB maximum în contul de utilizator și le puteți utiliza
  • Unul dintre cele mai bune eforturi este că puteți afla cu ușurință despre conectarea datelor la internet cu acest tip de aplicație în timp real.
  • Vom folosi conexiunea I2C care efectuează protocolul master-slave pentru a partaja datele cu foile Google într-un mod flexibil.
  • Platforma de protocol I2C conectează hardware-ul senzorului și funcționează cu aproximativ 256 de senzori simultan, utilizând doar 2 cabluri pull-up pentru a transfera datele senzorului în hardware de 8 biți

Pasul 1: Hardware

Kituri Adafruit Feather HUZZAH

Adafruit Feather Huzzah Board

Adafruit I2C integrat și adaptor USB

Senzor de temperatură și umiditate SHT25

Cablu I2C

Pasul 2: Cum funcționează lucrurile

Preluarea citirilor datelor în timp real a senzorilor prin ESP8266 și trimiterea datelor către diferite platforme Cloud este mult mai simplă.

Vom folosi biblioteca Wire.h în Arduino IDE pentru crearea celor două comunicații prin cablu între placa Adafruit Huzzah și modulul I2C senzor SHT25 și cablul I2C.

Notă: Pentru a evita structura complexă de cablare, voi folosi adaptorul I2C pentru Adafruit Huzzah conceput pentru a conecta senzorul I2C.

Pentru ca începătorul să configureze Esp8266, trebuie să treacă prin configurarea ESP8266

Mai întâi inițializați bibliotecile:

  • Biblioteca de sârmă
  • ESP8266WiFi
  • WiFiClientSecure

Pasul 3: Procesul de executare a modulului I2C în Arduino IDE

După inițializarea bibliotecilor, vom defini procesul I2C care va fi folosit pentru a prelua citirile senzorilor, pentru a le converti și a schimba datele de 8 biți conform cerințelor:

Inițializați registrele în protocolul I2C cu două fire pentru modulul senzor I2C

#define Addr 0x40

  • Porniți transmisia I2C și inițializați registrele și solicitați date de 2 octeți de unde vom citi datele senzorului.
  • Dacă datele de 2 octeți vor fi disponibile, atunci citiți datele senzorului și folosind formulele menționate mai jos convertim valorile dorite

umiditate plutitoare = (((date [0] * 256,0 + date [1]) * 125,0) / 65536.0) - 6;

float cTemp = (((date [0] * 256,0 + date [1]) * 175,72) / 65536.0) - 46,85;

float fTemp = (cTemp * 1,8) + 32;

Imprimați valorile într-un ecran de monitorizare serial

Pasul 4: Conexiune ESP8266 cu WiFi și foaie de calcul Google

După executarea modulelor I2C, vom afla despre cum să preluăm datele și folosind biblioteci WiFi și gazdă, precum și chei API pentru a trimite datele pe foile Google.

  • Definiți acreditările WiFi la nivel global în ESP8266, ceea ce ne va ajuta să conectăm placa cu internetul
  • Deoarece vom folosi clientul HTTP și vom defini protocolul HTTPS = 443 pentru securizarea căii HTTP, deoarece scriptul va funcționa numai în calea securizată.
  • Inițializați detaliile gazdei în cod

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

const int httpsPort = 443;

String SCRIPT_ID = "menționați ID-ul scriptului așa cum este menționat în snaps";

Notă: ID-ul scriptului este menționat în „URL-ul aplicațiilor web”, în timp ce codul Gscript va fi publicat, doar copiați și lipiți id-ul menționat mai jos și inițializați-l în comenzile de mai sus

  • De asemenea, folosind volatile cu variabile, vom inițializa variabila la nivel global, care va prelua datele din modulul I2C și le vom trimite la scriptul URL care va trimite datele la destinație.
  • Folosind Biblioteca WiFi ESP8266 vom putea conecta placa cu internet
  • Datele senzorului vor fi găzduite pe un server local după fiecare 5 secunde.
  • Cu ajutorul scriptului URL, datele vor fi găzduite pe pagina activă a linkului publicat de google script după fiecare 15 secunde.

Pasul 5: automatizați foaia Google utilizând Editorul GScript

Automatizați foaia Google utilizând Editorul GScript
Automatizați foaia Google utilizând Editorul GScript
Automatizați foaia Google utilizând Editorul GScript
Automatizați foaia Google utilizând Editorul GScript
Automatizați foaia Google utilizând Editorul GScript
Automatizați foaia Google utilizând Editorul GScript

Deoarece avem cu toții un cont google pentru a ne conecta la foaia Google cu contul dvs.

  • Menționați valorile pe care trebuie să le obțineți de la senzorul conectat la ESP8266
  • Accesați Instrumente> Editor de scripturi
  • Utilizați funcția „Doget” pentru a primi evenimentele
  • În funcția „Doget” pentru a inițializa cheia API a foii de calcul, precum și pentru a conecta foaia activă unde doriți să trimiteți valorile senzorului
  • Cu ajutorul funcției de automatizare menționate în cod pentru a reprezenta datele în rânduri și coloane cu ușurință.
  • În cele din urmă, salvați datele și faceți clic pe „Publicați” >> Faceți clic pe „Implementare ca aplicații web”
  • Asigurați-vă că ori de câte ori va exista o modificare pentru a selecta „versiunea proiectului” >> „Nou” >> apăsați „actualizare”

Adresa URL actuală a aplicației web va apărea după cum urmează:

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

utilizat în continuare în codul ESP8266 pentru preluarea datelor de la senzori

Conexiuni de găzduire Vom folosi cererea HTTPS Get pentru a conecta datele la ID-ul de gazdă menționat în editorul gscript unde am codificat datele noastre în continuare pentru a ne conecta cu Google sheet.

funcția doGet (e) {Logger.log (JSON.stringify (e)); // vizualizare parametri var result = 'Ok'; // presupune succes dacă (e.parameter == 'nedefinit') {result = 'Fără parametri'; } else {var sheet_id = ''; // ID foaie de calcul var sheet = SpreadsheetApp.openById (sheet_id).getActiveSheet (); var newRow = sheet.getLastRow () + 1; var rowData = ; } Logger.log (JSON.stringify (rowData)); // Scrieți un rând nou sub var newRange = sheet.getRange (newRow, 1, 1, rowData.length); newRange.setValues ([rowData]); }

Pasul 6: Limitări:

Limitări
Limitări
  • Acest proiect este limitat doar pentru a stoca datele senzorului I2C în foi Google
  • Folosim cererea HTTPS GET pentru a primi valorile prin funcțiile I2C
  • Trebuie să schimbăm valoarea în format șir și apoi să trimitem datele către linkul URL gscript.

Pasul 7: Cod, credite, referință

Cod Github:

github.com/varul29/SHT25_GoogleSheets_Goog…

Referinţă

Cod I2C:

Tutorial Google Script:

Magazin încorporat:

Blog tutorial:

Recomandat: