Բովանդակություն:

Եղանակի տվյալները ՝ օգտագործելով Google Աղյուսակներ և Google Script: 7 քայլ
Եղանակի տվյալները ՝ օգտագործելով Google Աղյուսակներ և Google Script: 7 քայլ

Video: Եղանակի տվյալները ՝ օգտագործելով Google Աղյուսակներ և Google Script: 7 քայլ

Video: Եղանակի տվյալները ՝ օգտագործելով Google Աղյուսակներ և Google Script: 7 քայլ
Video: MS Excel - Բազային գիտելիքներ, դաս 1: Աղյուսակների ստեղծում և օպերատորներ 2024, Հուլիսի
Anonim
Եղանակի տվյալները ՝ օգտագործելով Google Աղյուսակներ և Google Script
Եղանակի տվյալները ՝ օգտագործելով Google Աղյուսակներ և Google Script

Այս Blogtut- ում մենք պատրաստվում ենք SHT25 սենսորի ընթերցումները ուղարկել google թերթերին ՝ օգտագործելով Adafruit huzzah ESP8266- ը, որն օգնում է տվյալները ուղարկել ինտերնետին:

  • Տվյալների ուղարկում Google թերթ բջիջ շատ օգտակար և հիմնական միջոց է, որը տվյալները պահում է աղյուսակային տեսքով առցանց:
  • Տուփը կամ MQTT NODE RED կամ որևէ այլ տեսակի REST API օգտագործելու փոխարեն հատուկ կամուրջ օգտագործելու փոխարեն, մենք տվյալները կուղարկենք ՝ օգտագործելով Google սցենար, որը հեշտությամբ ստանում է տվյալները սենսորից ՝ օգտագործելով սցենարային հղումը հրապարակումից հետո google script ծրագիր
  • Մենք կարող ենք օգտագործել սկրիպտը ՝ տվյալները Google թերթից, փաստաթղթերից կամ նույնիսկ google drive- ից ուղարկելու համար:
  • Այստեղ միայն չավարտվելով ՝ կարող եք google թերթերը միացնել ցանկացած վեբ հավելվածի հետ, որոնցով տվյալները կիսվում են օգտվողների հետ այնպես, ինչպես իրենք էին ցանկանում
  • Ի տարբերություն այստեղի այլ առցանց սերվերների, լրացուցիչ վճարներ չեն վճարվի, և դուք կարող եք մինչև 10 ԳԲ առավելագույն տվյալներ պահել օգտվողի հաշվում և կարող եք օգտագործել
  • Լավագույն ջանքերից մեկն այն է, որ դուք կարող եք հեշտությամբ սովորել տվյալները ինտերնետին այս կարգի իրական ժամանակի կիրառման միջոցով:
  • Մենք պատրաստվում ենք օգտագործել I2C կապը, որն իրականացնում է վարպետ-ստրուկի արձանագրությունը ՝ տվյալները ճկուն կերպով Google թերթերին փոխանցելու համար:
  • I2C արձանագրության հարթակը միացնում է սենսորային ապարատը և միաժամանակ աշխատում է մոտ 256 սենսորների հետ ՝ օգտագործելով միայն 2 լարային ձգում ՝ սենսորի տվյալները 8 բիթանոց ապարատով փոխանցելու համար:

Քայլ 1: Սարքավորումներ

Adafruit փետուր HUZZAH հավաքածուներ

Adafruit Feather Huzzah տախտակ

Adafruit I2C ինտեգրված և USB ադապտեր

SHT25 peratերմաստիճանի եւ խոնավության ցուցիչ

I2C մալուխ

Քայլ 2: Ինչպես է աշխատում իրերը

ESP8266- ի միջոցով սենսորների իրական ժամանակի տվյալների ընթերցումների ստացումը և տվյալները տարբեր Cloud հարթակներ ուղարկելը շատ պարզ է:

Մենք պատրաստվում ենք օգտագործել Wire.h գրադարանը Arduino IDE- ում ՝ Adafruit Huzzah Board- ի և SHT25 տվիչ I2C մոդուլի և I2C մալուխի միջև երկու լարային հաղորդակցություն ստեղծելու համար:

Նշում. Էլեկտրագծերի բարդ կառուցվածքից խուսափելու համար ես պատրաստվում եմ օգտագործել I2C ադապտեր Adafruit Huzzah- ի համար, որը նախատեսված է I2C սենսորը միացնելու համար:

Որպեսզի նորեկը ստեղծի Esp8266 yo- ն, պետք է անցնի ESP8266 կարգավորումը

Սկզբում գրադարանների նախաստորագրում.

  • Մետաղալար գրադարան
  • ESP8266WiFi
  • WiFiClientSecure

Քայլ 3. I2C մոդուլի կատարման գործընթացը Arduino IDE- ում

Գրադարանների սկզբնականացումից հետո մենք կսահմանենք I2C գործընթացը, որը կօգտագործվի սենսորների ընթերցումները դրանք փոխակերպելու և 8 բիթանոց տվյալները տեղափոխելու համար `ըստ պահանջների.

Նախագծեք գրանցամատյանները երկու մետաղալարով I2C արձանագրության մեջ `I2C սենսորային մոդուլի համար

#սահմանեք Addr 0x40

  • Սկսեք I2C փոխանցումը և նախաստորագրեք գրանցամատյանները և խնդրեք 2 բայթ տվյալների համար, որտեղից մենք կկարդանք սենսորի տվյալները:
  • Եթե հասանելի կլինի 2 բայթ տվյալներ, ապա կարդացեք տվիչների տվյալները և ստորև նշված բանաձևերի միջոցով մենք փոխարկում ենք ցանկալի արժեքները

բոց խոնավություն = (((տվյալներ [0] * 256.0 + տվյալներ [1]) * 125.0) / 65536.0) - 6;

float cTemp = (((տվյալներ [0] * 256.0 + տվյալներ [1]) * 175.72) / 65536.0) - 46.85;

float fTemp = (cTemp * 1.8) + 32;

Տպեք արժեքները սերիական մոնիտորի էկրանին

Քայլ 4. ESP8266 կապ WiFi- ի և Google աղյուսակի հետ

I2C մոդուլների կատարումից հետո մենք կսովորենք, թե ինչպես ստանալ տվյալները և WiFi գրադարանների և հյուրընկալողի id, ինչպես նաև API ստեղների միջոցով տվյալները Google թերթիկներին ուղարկելու համար:

  • ESP8266- ում գլոբալ կերպով սահմանեք WiFi- ի հավատարմագրերը, որոնք կօգնեն մեզ միացնել տախտակը ինտերնետին
  • Քանի որ մենք պատրաստվում ենք օգտագործել HTTP հաճախորդը և սահմանելու ենք HTTPS = 443 արձանագրությունը `HTTP ուղին ապահովելու համար, քանի որ սցենարը կաշխատի միայն ապահով ճանապարհով:
  • Նախագծեք հյուրընկալողի մանրամասները ծածկագրում

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

const int httpsPort = 443;

Լարային SCRIPT_ID = "նշեք սցենարի ID- ն, ինչպես նշված է snaps- ում";

Նշում. Script- ի ID- ն նշված է «վեբ հավելվածների URL» - ում, մինչդեռ Gscript կոդը կհրապարակվի, պարզապես պատճենեք և տեղադրեք ստորև նշված id- ն և նախաստորագրեք վերը նշված հրամաններում

  • Օգտագործելով նաև փոփոխական փոփոխականով, մենք գլոբալ կերպով նախաստորագրելու ենք փոփոխականը, որը տվյալներ է բերում I2C մոդուլից և ուղարկելու այն URL սցենարին, որը հետագայում տվյալները կուղարկի նպատակակետ:
  • ESP8266 WiFi գրադարանի միջոցով մենք կկարողանանք տախտակը միացնել ինտերնետին
  • Սենսորային տվյալները տեղակայվելու են տեղական սերվերին յուրաքանչյուր 5 վայրկյանից հետո:

  • URL սցենարի օգնությամբ տվյալները կտեղափոխվեն google script հրապարակված հղում Ակտիվ էջ յուրաքանչյուր 15 վայրկյանից հետո:

Քայլ 5: Ավտոմատացրեք Google Աղյուսակը `օգտագործելով GScript խմբագիր

Ավտոմատացրեք Google Աղյուսակը ՝ օգտագործելով GScript խմբագիր
Ավտոմատացրեք Google Աղյուսակը ՝ օգտագործելով GScript խմբագիր
Ավտոմատացրեք Google Աղյուսակը ՝ օգտագործելով GScript խմբագիր
Ավտոմատացրեք Google Աղյուսակը ՝ օգտագործելով GScript խմբագիր
Ավտոմատացրեք Google Աղյուսակը ՝ օգտագործելով GScript խմբագիր
Ավտոմատացրեք Google Աղյուսակը ՝ օգտագործելով GScript խմբագիր

Քանի որ մենք բոլորս ունենք google հաշիվ ՝ ձեր հաշվին google թերթ մուտք գործելու համար

  • Նշեք այն արժեքները, որոնք դուք պետք է ստանաք ESP8266- ի հետ կապված սենսորից
  • Գնացեք Գործիքներ> Սկրիպտի խմբագիր
  • Օգտագործեք «Doget» գործառույթը `իրադարձությունները ստանալու համար
  • «Doget» գործառույթում ՝ աղյուսակի API բանալին նախաստորագրելու, ինչպես նաև միացնելու ակտիվ թերթիկը, որտեղ ցանկանում եք ուղարկել սենսորի արժեքները
  • Կոդում նշված ավտոմատացման գործառույթի օգնությամբ տվյալները հեշտությամբ ներկայացվում են տողերում և սյունակներում:
  • Վերջապես, պահպանեք տվյալները և կտտացրեք «Հրապարակել» >> Կտտացրեք «Տեղակայել որպես վեբ ծրագրեր»
  • Համոզվեք, որ երբ որևէ փոփոխություն կլինի «նախագծի տարբերակը» >> «Նոր» >> սեղմել «թարմացում»

Վեբ հավելվածի ընթացիկ URL- ը կհայտնվի հետևյալ կերպ.

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

հետագայում օգտագործվում է ESP8266 ծածկագրում `տվիչներից տվյալները վերցնելու համար

Մենք պատրաստվում ենք օգտագործել HTTPS Get հարցումը ՝ տվյալները միացնելու համար gscript խմբագրում նշված հյուրընկալողի id- ին, որտեղ մենք մեր տվյալները ծածկագրել ենք ՝ Google թերթիկին միանալու համար:

գործառույթ doGet (e) {Logger.log (JSON.stringify (e)); // դիտել պարամետրերը var result = 'Ok'; // ենթադրեք հաջողություն, եթե (ե. պարամետր == 'չսահմանված') {արդյունք = 'Պարամետրեր չկան'; } else {var sheet_id = ''; // Աղյուսակ ID var sheet = SpreadsheetApp.openById (sheet_id).getActiveSheet (); var newRow = sheet.getLastRow () + 1; var rowData = ; } Logger.log (JSON.stringify (rowData)); // Գրեք նոր տող ներքևում var newRange = sheet.getRange (newRow, 1, 1, rowData.length); newRange.setValues ([rowData]); }

Քայլ 6: Սահմանափակումներ

Սահմանափակումներ
Սահմանափակումներ
  • Այս նախագիծը սահմանափակված է միայն I2C սենսորի տվյալները google թերթերում պահելու համար
  • Մենք օգտագործում ենք HTTPS GET հայցը ՝ արժեքները I2C գործառույթների միջոցով ստանալու համար
  • Մենք պետք է փոխենք արժեքը լարային ձևաչափով, այնուհետև տվյալները ուղարկենք gscript URL հղմանը:

Քայլ 7: Կոդ, վարկեր, հղում

Github կոդ:

github.com/varul29/SHT25_GoogleSheets_Goog…

Տեղեկանք

I2C կոդ ՝

Google Script ձեռնարկը ՝

Ներկառուցված խանութ ՝

Ուսումնական բլոգ. Http: //pdacontrolen.com/update-https-redirect-vers…

Խորհուրդ ենք տալիս: