Satura rādītājs:

Laika dati, izmantojot Google izklājlapas un Google skriptu: 7 soļi
Laika dati, izmantojot Google izklājlapas un Google skriptu: 7 soļi

Video: Laika dati, izmantojot Google izklājlapas un Google skriptu: 7 soļi

Video: Laika dati, izmantojot Google izklājlapas un Google skriptu: 7 soļi
Video: How to Do SDXL Training For FREE with Kohya LoRA - Kaggle - NO GPU Required - Pwns Google Colab 2024, Jūlijs
Anonim
Laika dati, izmantojot Google izklājlapas un Google skriptu
Laika dati, izmantojot Google izklājlapas un Google skriptu

Šajā Blogtut mēs nosūtīsim SHT25 sensora rādījumus Google lapām, izmantojot Adafruit huzzah ESP8266, kas palīdz nosūtīt datus uz internetu.

  • Datu nosūtīšana uz Google lapas šūnu ir ļoti noderīgs un vienkāršs veids, kā tiešsaistē saglabāt datus tabulas veidā.
  • Tā vietā, lai izmantotu jebkādu īpašu tiltu, piemēram, spiežot lodziņu vai MQTT NODE RED vai cita veida REST API, mēs nosūtīsim datus, izmantojot Google skriptu, kas viegli saņem datus no sensora, izmantojot skripta saiti, ko nodrošina google skripta lietojumprogramma pēc publicēšanas
  • Mēs varam izmantot skriptu, lai nosūtītu datus no Google lapas, dokumentiem vai pat uz Google disku.
  • Nebeidzot šeit, jūs varat savienot Google lapas ar jebkuru tīmekļa lietojumprogrammu, ar kuru dati tiek koplietoti ar lietotājiem tā, kā viņi vēlas
  • Atšķirībā no citiem tiešsaistes serveriem šeit nav jāmaksā papildu maksa, un lietotāja kontā varat saglabāt datus līdz 10 GB un varat izmantot
  • Viens no labākajiem centieniem ir tas, ka varat viegli uzzināt par datu savienošanu ar internetu, izmantojot šāda veida reāllaika lietojumprogrammu.
  • Mēs izmantosim I2C savienojumu, kas veic galvenā-verga protokolu, lai elastīgi koplietotu datus ar Google lapām.
  • I2C protokola platforma savieno sensoru aparatūru un vienlaikus darbojas ar aptuveni 256 sensoriem, izmantojot tikai 2 vadu savienojumus, lai pārsūtītu sensora datus 8 bitu aparatūrā

1. darbība. Aparatūra

Adafruit Feather HUZZAH komplekti

Adafruit Feather Huzzah padome

Adafruit I2C integrēts un USB adapteris

SHT25 temperatūras un mitruma sensors

I2C kabelis

2. darbība. Kā darbojas lietas

Reāllaika sensoru datu nolasījumu iegūšana, izmantojot ESP8266, un datu nosūtīšana uz dažādām mākoņa platformām ir ļoti vienkārša.

Mēs izmantosim Wire.h bibliotēku Arduino IDE, lai izveidotu divus vadu sakarus starp Adafruit Huzzah Board un SHT25 sensora I2C moduli un I2C kabeli.

Piezīme: Lai izvairītos no sarežģītas elektroinstalācijas struktūras, es izmantošu I2C adapteri Adafruit Huzzah, kas paredzēts I2C sensora savienošanai.

Lai iesācējs varētu iestatīt Esp8266, jums ir jāiziet ESP8266 iestatīšana

Vispirms inicializējiet bibliotēkas:

  • Vadu bibliotēka
  • ESP8266WiFi
  • WiFiClientSecure

3. darbība: I2C moduļa izpildes process Arduino IDE

Pēc bibliotēku inicializācijas mēs definēsim I2C procesu, kas jāizmanto, lai iegūtu sensora rādījumus, lai tos pārvērstu un pārvietotu 8 bitu datus atbilstoši prasībām:

Inicializējiet reģistrus divu vadu I2C protokolā I2C sensora modulim

#define Addr 0x40

  • Sāciet I2C pārraidi un inicializējiet reģistrus un pieprasiet 2 baitu datus, no kuriem mēs lasīsim sensora datus.
  • Ja būs pieejami 2 baitu dati, izlasiet sensora datus un, izmantojot zemāk minētās formulas, mēs konvertējam vēlamās vērtības

pludiņa mitrums = (((dati [0] * 256,0 + dati [1]) * 125,0) / 65536,0) - 6;

pludiņš cTemp = (((dati [0] * 256,0 + dati [1]) * 175,72) / 65536,0) - 46,85;

pludiņš fTemp = (cTemp * 1.8) + 32;

Drukājiet vērtības seriālā monitora ekrānā

4. darbība. ESP8266 savienojums ar WiFi un Google izklājlapu

Pēc I2C moduļu izpildes mēs uzzināsim, kā iegūt datus un izmantojot WiFi bibliotēkas un resursdatora ID, kā arī API atslēgas, lai nosūtītu datus uz Google lapām.

  • ESP8266 definējiet WiFi akreditācijas datus visā pasaulē, kas mums palīdzēs savienot dēli ar internetu
  • Tā kā mēs izmantosim HTTP klientu un definēsim protokolu HTTPS = 443 HTTP ceļa nodrošināšanai, jo skripts darbosies tikai drošā ceļā.
  • Inicializējiet resursdatora informāciju kodā

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

const int httpsPort = 443;

String SCRIPT_ID = "pieminēt skripta ID, kā minēts momentuzņēmumos";

Piezīme. Skripta ID ir minēts “tīmekļa lietotņu URL”, kamēr Gscript kods tiks publicēts, vienkārši nokopējiet un ielīmējiet tālāk minēto ID un inicializējiet iepriekšminētajās komandās

  • Izmantojot arī gaistošo ar mainīgo, mēs inicializēsim mainīgo globāli, kas iegūst datus no I2C moduļa un nosūta tos uz URL skriptu, kas tālāk nosūtīs datus uz galamērķi.
  • Izmantojot ESP8266 WiFi bibliotēku, mēs varēsim savienot dēli ar internetu
  • Sensora dati ik pēc 5 sekundēm tiks mitināti vietējā serverī.
  • Izmantojot URL skriptu, dati tiks mitināti Google skripta publicētajā saitē Aktīvā lapa ik pēc 15 sekundēm.

5. darbība: automatizējiet Google lapu, izmantojot GScript redaktoru

Automatizējiet Google lapu, izmantojot GScript redaktoru
Automatizējiet Google lapu, izmantojot GScript redaktoru
Automatizējiet Google lapu, izmantojot GScript redaktoru
Automatizējiet Google lapu, izmantojot GScript redaktoru
Automatizējiet Google lapu, izmantojot GScript redaktoru
Automatizējiet Google lapu, izmantojot GScript redaktoru

Tā kā mums visiem ir Google konts, lai pierakstītos Google lapā ar jūsu kontu

  • Miniet vērtības, kas jums jāiegūst no sensora, kas savienots ar ESP8266
  • Atveriet Rīki> Skriptu redaktors
  • Lai saņemtu notikumus, izmantojiet funkciju “Doget”
  • Funkcijā “Doget”, lai inicializētu izklājlapas API atslēgu, kā arī pievienotu aktīvo lapu, kur vēlaties nosūtīt sensora vērtības
  • Ar automatizācijas funkcijas palīdzību, kas minēta kodā, lai ērti attēlotu datus rindās un kolonnās.
  • Visbeidzot, saglabājiet datus un noklikšķiniet uz “Publicēt” >> Noklikšķiniet uz “Izvietot kā tīmekļa lietotnes”
  • Pārliecinieties, ka ikreiz, kad tiks veiktas izmaiņas, atlasiet “projekta versija” >> “Jauns” >> nospiediet “atjaunināt”

Pašreizējais tīmekļa lietotnes URL tiks parādīts šādi:

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

tālāk tiek izmantots ESP8266 kodā, lai iegūtu datus no sensoriem

Mēs izmantosim HTTPS Get pieprasījumu, lai savienotu datus ar saimniekdatora ID, kas minēts gscript redaktorā, kur mēs tālāk kodējām savus datus, lai izveidotu savienojumu ar Google lapu.

funkcija doGet (e) {Logger.log (JSON.stringify (e)); // apskatīt parametrus var result = 'Ok'; // pieņemt veiksmi, ja (e.parameter == 'undefined') {result = 'Nav parametru'; } cits {var sheet_id = ''; // Izklājlapas ID var sheet = SpreadsheetApp.openById (sheet_id).getActiveSheet (); var newRow = sheet.getLastRow () + 1; var rowData = ; } Logger.log (JSON.stringify (rowData)); // Zemāk rakstīt jaunu rindu var newRange = sheet.getRange (newRow, 1, 1, rowData.length); newRange.setValues ([rowData]); }

6. darbība: ierobežojumi:

Ierobežojumi
Ierobežojumi
  • Šis projekts ir paredzēts tikai I2C sensora datu glabāšanai Google lapās
  • Mēs izmantojam HTTPS GET pieprasījumu, lai saņemtu vērtības, izmantojot I2C funkcijas
  • Mums ir jāmaina vērtība virknes formātā un pēc tam jānosūta dati uz gscript URL saiti.

7. darbība: kods, kredīti, atsauce

Github kods:

github.com/varul29/SHT25_GoogleSheets_Goog…

Atsauce

I2C kods:

Google skripta apmācība:

Iegultais veikals:

Mācību emuārs:

Ieteicams: