Përmbajtje:

Të dhënat e motit duke përdorur Google Sheets dhe Google Script: 7 hapa
Të dhënat e motit duke përdorur Google Sheets dhe Google Script: 7 hapa

Video: Të dhënat e motit duke përdorur Google Sheets dhe Google Script: 7 hapa

Video: Të dhënat e motit duke përdorur Google Sheets dhe Google Script: 7 hapa
Video: Architecture Kata #1 - Разбор с экспертом [Как работает настоящий Solution Architect] #ityoutubersru 2024, Nëntor
Anonim
Të dhënat e motit duke përdorur Google Sheets dhe Google Script
Të dhënat e motit duke përdorur Google Sheets dhe Google Script

Në këtë Blogtut, ne do të dërgojmë leximet e sensorit SHT25 në fletët e Google duke përdorur Adafruit huzzah ESP8266 i cili ndihmon në dërgimin e të dhënave në internet.

  • Dërgimi i të dhënave në qelizën e fletëve të Google është një mënyrë shumë e dobishme dhe themelore e cila i ruan të dhënat në formë tabelare në internet.
  • Në vend që të përdorim çdo lloj ure të veçantë si shtyrja e një kutie ose MQTT NODE RED ose ndonjë lloj tjetër API REST, ne do t'i dërgojmë të dhënat duke përdorur skriptin google i cili merr lehtësisht të dhënat nga sensori duke përdorur lidhjen e skriptit të siguruar nga aplikacioni i shkrimit të Google pas publikimit
  • Ne mund të përdorim skriptimin për të dërguar të dhënat nga fleta google, dokumentet apo edhe në google drive.
  • Thjesht mos përfundoni këtu më tej, ju mund të lidhni fletët e Google me çdo aplikacion të bazuar në ueb, të cilit i ndani të dhënat me përdoruesit ashtu siç donin
  • Asnjë tarifë shtesë nuk do të paguhet ndryshe nga serverët e tjerë në internet këtu dhe ju mund të ruani të dhënat deri në 10 GB Maximum në llogarinë e përdoruesit dhe mund t'i përdorni
  • Një nga përpjekjet më të mira është që ju mund të mësoni për lidhjen e të dhënave me internetin me këtë lloj aplikimi në kohë reale me lehtësi.
  • Ne do të përdorim lidhjen I2C e cila kryen protokollin master-slave për të ndarë të dhënat me fletët e Google në një mënyrë fleksibile.
  • Platforma e protokollit I2C lidh pajisjen e sensorit dhe punon me rreth 256 sensorë në të njëjtën kohë duke përdorur vetëm 2 tërheqje me tela për të transferuar të dhënat e sensorit në harduer 8 bit.

Hapi 1: Pajisje kompjuterike

Pajisje Adafruit HUZZAH Kits

Bordi Huzzah me pendë Adafruit

Adafruit I2C i përshtatur dhe përshtatës USB

SHT25 Sensori i Temperaturës dhe Lagështisë

Kabllo I2C

Hapi 2: Si funksionon Stuff

Marrja e leximeve të të dhënave në kohë reale të sensorëve përmes ESP8266 dhe dërgimi i të dhënave në platforma të ndryshme Cloud është shumë e thjeshtë.

Ne do të përdorim bibliotekën Wire.h në Arduino IDE për krijimin e komunikimit me dy tela midis Adafruit Huzzah Board dhe modulit SHT25 sensor I2C dhe kabllit I2C.

Shënim: Për të shmangur strukturën komplekse të telave, unë do të përdor përshtatësin I2C për Adafruit Huzzah i krijuar për të lidhur sensorin I2C.

Që fillestari të krijojë Esp8266 yo duhet të kalojë përmes konfigurimit të ESP8266

Fillimisht filloni bibliotekat:

  • Bibliotekë me tela
  • ESP8266WiFi
  • WiFiClientSecure

Hapi 3: Procesi i ekzekutimit të modulit I2C në Arduino IDE

Pas fillimit të bibliotekave, ne do të përcaktojmë procesin I2C që do të përdoret për të tërhequr leximet e sensorit në konvertimin e tyre dhe zhvendosjen e të dhënave 8 bit sipas kërkesave:

Filloni regjistrat në protokollin I2C me dy tela për modulin e sensorit I2C

#përcaktoni Addr 0x40

  • Filloni transmetimin I2C dhe filloni regjistrat dhe kërkoni të dhëna prej 2 bajtësh nga ku do të lexojmë të dhënat e sensorit.
  • Nëse të dhënat 2 bajt do të jenë të disponueshme, atëherë lexoni të dhënat e sensorit dhe duke përdorur formulat e përmendura më poshtë po konvertojmë vlerat e dëshiruara

lagështia notuese = (((të dhënat [0] * 256.0 + të dhënat [1]) * 125.0) / 65536.0) - 6;

noton cTemp = (((të dhënat [0] * 256.0 + të dhënat [1]) * 175.72) / 65536.0) - 46.85;

noton fTemp = (cTemp * 1.8) + 32;

Shtypni vlerat në ekranin e monitorit serik

Hapi 4: Lidhja ESP8266 me WiFi dhe Google Spreadsheet

Pas ekzekutimit të moduleve I2C ne do të mësojmë se si të marrim të dhënat dhe duke përdorur bibliotekat WiFi dhe id -në e hostit si dhe çelësat API për të dërguar të dhënat në fletët e Google.

  • Përcaktoni kredencialet WiFi në nivel global në ESP8266, të cilat do të na ndihmojnë të lidhim tabelën me internetin
  • Siç do të përdorim klientin HTTP dhe do të përcaktojmë protokollin HTTPS = 443 për të siguruar rrugën HTTP pasi skripti do të funksionojë vetëm në rrugën e sigurt.
  • Filloni detajet e hostit në kod

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

const int httpsPort = 443;

String SCRIPT_ID = "përmendni ID -në e skriptit siç përmendet në kapjet";

Shënim: ID e skriptit përmendet në "URL -në e aplikacioneve të uebit" ndërsa kodi Gscript do të publikohet, thjesht kopjoni dhe ngjisni id -në e përmendur më poshtë dhe inicializoni në komandat e mësipërme

  • Gjithashtu duke përdorur volatile with variable, ne do të inicializojmë variablin globalisht i cili merr të dhënat nga moduli I2C dhe i dërgon ato në skriptin URL i cili më tej do t'i dërgojë të dhënat në destinacion.
  • Duke përdorur Bibliotekën WiFi ESP8266 ne do të jemi në gjendje të lidhim bordin me internetin
  • Të dhënat e sensorit do të mbahen në një server lokal pas çdo 5 sekondash.

  • Me ndihmën e skriptit të URL -së, të dhënat do të mbahen në lidhjen e publikuar të shkrimit të Google, faqe aktive pas çdo 15 sekondash.

Hapi 5: Automatizoni Google Sheet duke përdorur GScript Editor

Automatizoni Google Sheet duke përdorur GScript Editor
Automatizoni Google Sheet duke përdorur GScript Editor
Automatizoni Google Sheet duke përdorur GScript Editor
Automatizoni Google Sheet duke përdorur GScript Editor
Automatizoni Google Sheet duke përdorur GScript Editor
Automatizoni Google Sheet duke përdorur GScript Editor

Ndërsa të gjithë kemi një llogari google për t'u identifikuar në fletën google me llogarinë tuaj

  • Përmendni vlerat që ju nevojiten për të marrë nga sensori i lidhur me ESP8266
  • Shkoni te Tools> Script Editor
  • Përdorni funksionin "Doget" për të marrë ngjarjet
  • Në funksionin "Doget" për të inicializuar çelësin API të spreadsheet si dhe lidhni Fletën Aktive ku dëshironi të dërgoni vlerat e sensorit
  • Me ndihmën e funksionit të automatizimit të përmendur në kod për të përfaqësuar lehtë të dhënat në rreshta dhe kolona.
  • Më në fund, ruani të dhënat dhe klikoni në "Publikim" >> Klikoni "Vendosni si aplikacione në internet"
  • Sigurohuni sa herë që do të ketë ndonjë ndryshim për të zgjedhur "versionin e projektit" >> "E re" >> shtypni "përditësim"

URL -ja aktuale e aplikacionit në internet do të shfaqet si më poshtë:

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

përdoret më tej në kodin ESP8266 për marrjen e të dhënave nga sensorët

Ne do të përdorim kërkesën HTTPS Get për të lidhur të dhënat me id -në e hostit të përmendur në redaktuesin gscript ku kemi koduar të dhënat tona më tej për t'u lidhur me fletën e Google.

funksioni doGet (e) {Logger.log (JSON.stringify (e)); // shiko parametrat var rezultat = 'Ok'; // supozoni sukses nëse (e.parametri == 'i papërcaktuar') {rezultati = 'Pa parametra'; } else {var sheet_id = ''; // Spreadsheet ID var sheet = SpreadsheetApp.openById (sheet_id).getActiveSheet (); var newRow = sheet.getLastRow () + 1; var rowData = ; } Logger.log (JSON.stringify (rowData)); // Shkruani rresht të ri më poshtë var newRange = sheet.getRange (newRow, 1, 1, rowData.length); newRange.setValues ([rowData]); }

Hapi 6: Kufizimet:

Kufizimet
Kufizimet
  • Ky projekt është i kufizuar vetëm për të ruajtur të dhënat e sensorit I2C në fletët e Google
  • Ne po përdorim kërkesën HTTPS GET për të marrë vlerat përmes funksioneve I2C
  • Ne duhet të ndryshojmë vlerën në formatin e vargut dhe pastaj t'i dërgojmë të dhënat në lidhjen URL të gscript.

Hapi 7: Kodi, Kreditet, Referenca

Kodi Github:

github.com/varul29/SHT25_GoogleSheets_Goog…

Referenca

Kodi I2C:

Udhëzues për Google Script:

Dyqani i integruar:

Blog mësimor:

Recommended: