Სარჩევი:

ამინდის მონაცემები Google Sheets და Google Script გამოყენებით: 7 ნაბიჯი
ამინდის მონაცემები Google Sheets და Google Script გამოყენებით: 7 ნაბიჯი

ვიდეო: ამინდის მონაცემები Google Sheets და Google Script გამოყენებით: 7 ნაბიჯი

ვიდეო: ამინდის მონაცემები Google Sheets და Google Script გამოყენებით: 7 ნაბიჯი
ვიდეო: Google გზების ფორმების სრული სახელმძღვანელო - ონლაინ გამოკითხვა და მონაცემთა შეგროვების ინსტრუმენტი! 2024, ივლისი
Anonim
ამინდის მონაცემები Google Sheets და Google Script– ის გამოყენებით
ამინდის მონაცემები Google Sheets და Google Script– ის გამოყენებით

ამ Blogtut– ში ჩვენ ვაპირებთ SHT25 სენსორის წაკითხვას Google ფურცლებზე Adafruit huzzah ESP8266 გამოყენებით, რაც გვეხმარება მონაცემების ინტერნეტში გაგზავნაში.

  • მონაცემთა გაგზავნა Google ფურცლის უჯრედში არის ძალიან სასარგებლო და ძირითადი გზა, რომელიც ინახავს მონაცემებს ცხრილის სახით ონლაინ რეჟიმში.
  • იმის ნაცვლად, რომ გამოვიყენოთ რაიმე სახის სპეციალური ხიდი, როგორიცაა ყუთის დაყენება ან MQTT NODE RED ან ნებისმიერი სხვა სახის REST API, ჩვენ ვაპირებთ მონაცემების გაგზავნას google სკრიპტის გამოყენებით, რომელიც ადვილად იღებს მონაცემებს სენსორიდან სკრიპტის ბმულის გამოყენებით google სკრიპტის პროგრამა გამოქვეყნების შემდეგ
  • ჩვენ შეგვიძლია გამოვიყენოთ სკრიპტირება მონაცემების გასაგზავნად Google ფურცლიდან, დოკუმენტებიდან ან თუნდაც Google Drive– დან.
  • უბრალოდ აქ არ დამთავრდეს, თქვენ შეგიძლიათ დაუკავშიროთ Google- ის ფურცლები ნებისმიერ ვებ პროგრამას, რომლითაც მომხმარებლებს გაუზიარებთ მონაცემებს ისე, როგორც მათ სურდათ
  • სხვა ონლაინ სერვერებისგან განსხვავებით, თქვენ არ გადაიხდით დამატებით გადასახადს და შეგიძლიათ შეინახოთ მონაცემები მაქსიმუმ 10 გბ -მდე მომხმარებლის ანგარიშში და შეგიძლიათ გამოიყენოთ
  • ერთ-ერთი საუკეთესო მცდელობაა თქვენ გაიგოთ მონაცემები ინტერნეტთან ამ სახის რეალურ დროში მარტივად დაკავშირების შესახებ.
  • ჩვენ ვაპირებთ გამოვიყენოთ I2C კავშირი, რომელიც ასრულებს სამაგისტრო პროტოკოლს, რათა მონაცემები Google- ის ფურცლებთან ერთად მოქნილად გაზიარდეს.
  • I2C პროტოკოლის პლატფორმა აკავშირებს სენსორის აპარატურას და მუშაობს დაახლოებით 256 სენსორთან ერთდროულად, მხოლოდ 2 სადენიანი გადასაადგილებლად სენსორის მონაცემების გადასატანად 8 ბიტიან აპარატურაში

ნაბიჯი 1: აპარატურა

ადაფრუტის ბუმბული HUZZAH ნაკრები

ადაფრუტის ბუმბულის ჰუზას დაფა

Adafruit I2C ინტეგრირებული და USB ადაპტერი

SHT25 ტემპერატურის და ტენიანობის სენსორი

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 ბაიტი მონაცემები, წაიკითხეთ სენსორის მონაცემები და ქვემოთ მოყვანილი ფორმულების გამოყენებით ჩვენ ვაქცევთ სასურველ მნიშვნელობებს

float ტენიანობა = (((მონაცემები [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 ბიბლიოთეკებს და მასპინძლის პირადობის მოწმობას, ასევე API გასაღებებს მონაცემების Google ფურცლებზე გასაგზავნად.

  • განსაზღვრეთ WiFi სერთიფიკატები გლობალურად ESP8266– ში, რაც დაგვეხმარება დაფის ინტერნეტთან დაკავშირებაში
  • როგორც ჩვენ ვიყენებთ HTTP კლიენტს და განვსაზღვრავთ HTTPS = 443 პროტოკოლს HTTP ბილიკის უზრუნველსაყოფად, რადგან სკრიპტი იმუშავებს მხოლოდ უსაფრთხო გზაზე.
  • მასპინძლის დეტალების ინიციალიზაცია კოდში

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

const int httpsPort = 443;

სიმებიანი SCRIPT_ID = "ახსენეთ სკრიპტის ID, როგორც ეს ნახსენებია სნეპებში";

შენიშვნა: სკრიპტის ID მითითებულია "ვებ პროგრამების URL" - ში, ხოლო Gscript კოდი გამოქვეყნდება, უბრალოდ დააკოპირეთ და ჩასვით ქვემოთ მითითებული ID და ინიციალიზაცია მოახდინეთ ზემოთ მითითებულ ბრძანებებში

  • ასევე ცვალებადი ცვლადით, ჩვენ ვაპირებთ ცვლადის ინიციალიზაციას გლობალურად, რომელიც მოიტანს მონაცემებს I2C მოდულიდან და გავუგზავნით URL სკრიპტს, რომელიც შემდგომში მონაცემებს დანიშნულების ადგილას გაგზავნის.
  • ESP8266 WiFi ბიბლიოთეკის გამოყენებით ჩვენ შევძლებთ დაფის ინტერნეტთან დაკავშირებას
  • სენსორის მონაცემები განთავსდება ადგილობრივ სერვერზე ყოველ 5 წამში.

  • URL სკრიპტის დახმარებით, მონაცემები იქნება განთავსებული google script გამოქვეყნებული ბმული აქტიური გვერდი ყოველ 15 წამში.

ნაბიჯი 5: Google Sheet- ის ავტომატიზაცია GScript რედაქტორის გამოყენებით

Google Sheet- ის ავტომატიზაცია GScript რედაქტორის გამოყენებით
Google Sheet- ის ავტომატიზაცია GScript რედაქტორის გამოყენებით
Google Sheet- ის ავტომატიზაცია GScript რედაქტორის გამოყენებით
Google Sheet- ის ავტომატიზაცია GScript რედაქტორის გამოყენებით
Google Sheet- ის ავტომატიზაცია GScript რედაქტორის გამოყენებით
Google Sheet- ის ავტომატიზაცია GScript რედაქტორის გამოყენებით

რადგან ჩვენ ყველას გვაქვს google ანგარიში, რათა შეხვიდეთ google ფურცელზე თქვენი ანგარიშით

  • აღნიშნეთ ის მნიშვნელობები, რომლებიც უნდა მიიღოთ ESP8266– თან დაკავშირებული სენსორისგან
  • გადადით ინსტრუმენტებზე> სკრიპტის რედაქტორზე
  • გამოიყენეთ "დოგეტის" ფუნქცია მოვლენების მისაღებად
  • "დოგეტის" ფუნქციაში ცხრილების API გასაღების ინიციალიზაცია, ასევე აქტიური ფურცლის დაკავშირება, სადაც გსურთ სენსორის მნიშვნელობების გაგზავნა
  • კოდში ნახსენები ავტომატიზაციის ფუნქციის გამოყენებით, რომ ადვილად წარმოადგინოთ მონაცემები სტრიქონებსა და სვეტებში.
  • დაბოლოს, შეინახეთ მონაცემები და დააწკაპუნეთ "გამოქვეყნებაზე" >> დააწკაპუნეთ "განთავსება ვებ აპლიკაციებზე"
  • დარწმუნდით, რომ როდესაც იქნება რაიმე ცვლილება "პროექტის ვერსია" >> "ახალი" >> დააჭირეთ "განახლებას"

ვებ -აპლიკაციის ამჟამინდელი URL გამოჩნდება ქვემოთ:

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

შემდგომ გამოიყენება ESP8266 კოდში მონაცემების სენსორების მოსაპოვებლად

ჩვენ ვაპირებთ გამოვიყენოთ HTTPS Get მოთხოვნა მონაცემების დასაკავშირებლად gscript რედაქტორში ნახსენები მასპინძლის პირადობის მოწმობასთან, სადაც ჩვენ შემდგომში დავწერეთ ჩვენი მონაცემები Google ფურცელთან დასაკავშირებლად.

ფუნქცია doGet (e) {Logger.log (JSON.stringify (e)); // პარამეტრების ნახვა var result = 'Ok'; // ვივარაუდოთ წარმატება, თუ (e.parameter == 'undefined') {result = 'პარამეტრების გარეშე'; } 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 გაკვეთილი:

ჩაშენებული მაღაზია:

სამეურვეო ბლოგი:

გირჩევთ: