Mundarija:

Google Sheets va Google Script yordamida ob -havo ma'lumotlari: 7 qadam
Google Sheets va Google Script yordamida ob -havo ma'lumotlari: 7 qadam

Video: Google Sheets va Google Script yordamida ob -havo ma'lumotlari: 7 qadam

Video: Google Sheets va Google Script yordamida ob -havo ma'lumotlari: 7 qadam
Video: Как самому создать QR-код в Google-таблицах? +Как создавать красивые QR-коды! 2024, Iyul
Anonim
Google Sheets va Google Script yordamida ob -havo ma'lumoti
Google Sheets va Google Script yordamida ob -havo ma'lumoti

Ushbu Blogtutda biz SHT25 sensori o'qilishini google varaqlariga Adafruit huzzah ESP8266 yordamida yuboramiz, bu ma'lumotni internetga yuborishga yordam beradi.

  • Ma'lumotni google varaqchasiga yuborish - bu ma'lumotlarni jadval shaklida saqlashning juda foydali va asosiy usuli.
  • Qutini yoki MQTT NODE RED yoki boshqa turdagi REST API -ni bosish kabi har qanday maxsus ko'prikni ishlatishning o'rniga, biz ma'lumotlarni skript havolasi yordamida sensordan ma'lumotlarni osongina oladigan google skriptidan foydalanib yuboramiz. Google skript ilovasi nashrdan keyin
  • Biz skript yordamida ma'lumotlarni Google varaqlaridan, hujjatlaridan yoki hatto Google diskidan yuborishimiz mumkin.
  • Bu bilan tugamang, siz google varaqlarini foydalanuvchilar bilan xohlagan tarzda almashadigan har qanday veb-ilovaga ulashingiz mumkin.
  • Boshqa onlayn -serverlardan farqli o'laroq, hech qanday qo'shimcha haq to'lanmaydi va siz ma'lumotlarni 10 Gbaytgacha saqlashingiz mumkin.
  • Eng yaxshi harakatlardan biri shundaki, siz ma'lumotlarni real vaqt rejimida Internetga osongina ulashingiz mumkin.
  • Ma'lumotni google varaqlari bilan moslashuvchan tarzda almashish uchun biz master-slave protokolini bajaradigan I2C ulanishidan foydalanamiz.
  • I2C protokoli platformasi sensor uskunalarini birlashtiradi va bir vaqtning o'zida 256 ta sensorlar bilan ishlaydi, sensorlar ma'lumotlarini 8 bitli apparatlarga uzatish uchun faqat 2 ta simli tortish moslamasi yordamida.

1 -qadam: Uskuna

Adafruit Feather HUZZAH to'plamlari

Adafruit patlari Huzzah taxtasi

Adafruit I2C o'rnatilgan va USB adapter

SHT25 harorat va namlik sensori

I2C kabeli

2 -qadam: Stuff qanday ishlaydi

ESP8266 orqali real vaqtda sensorlar ma'lumotlarini o'qish va ma'lumotlarni turli xil bulutli platformalarga yuborish juda oddiy.

Adafruit Huzzah Board va SHT25 sensori I2C moduli va I2C kabeli o'rtasida ikkita simli aloqa o'rnatish uchun biz Arduino IDE -dagi Wire.h kutubxonasidan foydalanamiz.

Eslatma: Murakkab simlar tuzilishini oldini olish uchun men I2C sensorini ulash uchun mo'ljallangan Adafruit Huzzah uchun I2C adapteridan foydalanmoqchiman.

Yangi kelgan kishi Esp8266 ni o'rnatishi uchun ESP8266 sozlamasidan o'tishi kerak

Avval kutubxonalarni ishga tushiring:

  • Tel kutubxona
  • ESP8266 Wi -Fi
  • WiFiClientSecure

3 -qadam: Arduino IDE -da I2C modulini bajarish jarayoni

Kutubxonalarni ishga tushirgandan so'ng, biz I2C jarayonini aniqlaymiz, bu esa sensorlar o'qilishini o'zgartiradi va 8 bitli ma'lumotlarni talablarga muvofiq o'zgartiradi.

I2C sensor moduli uchun ikkita simli I2C protokolidagi registrlarni ishga tushiring

#aniqlang Addr 0x40

  • I2C uzatishni boshlang va registrlarni ishga tushiring va sensor ma'lumotlarini o'qiy oladigan 2 baytli ma'lumotlarni so'rang.
  • Agar 2 baytli ma'lumotlar mavjud bo'lsa, sensor ma'lumotlarini o'qing va biz quyida keltirilgan formulalar yordamida kerakli qiymatlarni o'zgartiramiz

suzuvchi namlik = (((ma'lumotlar [0] * 256.0 + ma'lumotlar [1]) * 125.0) / 65536.0) - 6;

float cTemp = (((ma'lumotlar [0] * 256.0 + ma'lumotlar [1]) * 175.72) / 65536.0) - 46.85;

float fTemp = (cTemp * 1.8) + 32;

Qiymatlarni ketma -ket monitor ekranida chop eting

4 -qadam: ESP8266 WiFi va Google elektron jadval bilan ulanish

I2C modullari bajarilgandan so'ng, biz ma'lumotlarni qanday olish haqida, WiFi kutubxonalari va host identifikatori, shuningdek API kalitlari yordamida ma'lumotlarni Google varaqlariga yuborish haqida bilib olamiz.

  • ESP8266 -da butun dunyo bo'ylab WiFi hisob ma'lumotlarini aniqlang, bu bizga taxtani Internetga ulashimizga yordam beradi
  • Biz HTTP mijozidan foydalanmoqchimiz va HTTP yo'lini ta'minlash uchun HTTPS = 443 protokolini aniqlaymiz, chunki skript faqat xavfsiz yo'lda ishlaydi.
  • Xost tafsilotlarini kodda boshlang

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

const int httpsPort = 443;

String SCRIPT_ID = "lahzada aytilganidek skript identifikatorini eslang";

Eslatma: Skript identifikatori "veb -ilovalarning URL -manzili" da ko'rsatilgan, Gscript kodi e'lon qilinadi, shunchaki quyida ko'rsatilgan idni nusxa ko'chiring va joylashtiring va yuqoridagi buyruqlarni boshlang

  • Shuningdek, o'zgaruvchan o'zgaruvchanlikdan foydalanib, biz global o'zgaruvchini ishga tushiramiz, u I2C modulidan ma'lumotlarni oladi va ma'lumotlarni URL manziliga yuboradi, bu esa ma'lumotlarni manzilga yuboradi.
  • ESP8266 WiFi kutubxonasi yordamida biz taxtani Internetga ulashimiz mumkin
  • Sensor ma'lumotlari har 5 soniyadan so'ng mahalliy serverga joylashtiriladi.

  • URL skript yordamida ma'lumotlar har 15 soniyadan so'ng Google sahifasida chop etilgan faol sahifaga joylashtiriladi.

5 -qadam: GScript muharriri yordamida Google jadvalini avtomatlashtirish

GScript muharriri yordamida Google jadvalini avtomatlashtiring
GScript muharriri yordamida Google jadvalini avtomatlashtiring
GScript muharriri yordamida Google jadvalini avtomatlashtiring
GScript muharriri yordamida Google jadvalini avtomatlashtiring
GScript muharriri yordamida Google jadvalini avtomatlashtiring
GScript muharriri yordamida Google jadvalini avtomatlashtiring

Hammamizda Google hisobi bor, sizning hisobingiz bilan google sahifasiga kirish

  • ESP8266 bilan ulangan sensordan olish kerak bo'lgan qiymatlarni eslang
  • Asboblar> Skript muharriri -ga o'ting
  • Voqealarni qabul qilish uchun "Doget" funktsiyasidan foydalaning
  • "Doget" funktsiyasida elektron jadval API kalitini ishga tushirish, shuningdek sensorli qiymatlarni yuborish kerak bo'lgan faol varaqni ulash.
  • Ma'lumotni satr va ustunlarda osongina ko'rsatish uchun kodda aytib o'tilgan avtomatlashtirish funktsiyasi yordamida.
  • Nihoyat, ma'lumotlarni saqlang va "Chop etish" ni bosing "Veb -ilovalar sifatida joylashtirish" ni bosing.
  • "Loyiha versiyasi" >> "Yangi" >> "yangilash" tugmachasini tanlashda har qanday o'zgarish bo'lganda ishonch hosil qiling.

Joriy veb -ilovaning URL manzili quyidagicha ko'rinadi:

script.google.com/macros/s/ITEMGScript identifikatori”/exec:

Sensorlardan ma'lumotlarni olish uchun ESP8266 kodida ishlatiladi

Ma'lumotni gscript muharririda ko'rsatilgan xost identifikatoriga ulanish uchun biz HTTPS Get so'rovidan foydalanamiz, u erda biz Google varaqqa ulanish uchun o'z ma'lumotlarimizni kodladik.

doGet (e) funktsiyasi {Logger.log (JSON.stringify (e)); // ko'rish parametrlari var result = 'Ok'; // muvaffaqiyatga erishing, agar (e.parameter == 'undefined') {result = 'Parametrlar yo'q'; } boshqa {var sheet_id = ''; // Elektron jadval identifikatori var var = SpreadsheetApp.openById (sheet_id).getActiveSheet (); var newRow = sheet.getLastRow () + 1; var rowData = ; } Logger.log (JSON.stringify (rowData)); // Quyida yangi qator yozing var newRange = sheet.getRange (newRow, 1, 1, rowData.length); newRange.setValues ([rowData]); }

6 -qadam: cheklovlar:

Cheklovlar
Cheklovlar
  • Bu loyiha faqat I2C sensori ma'lumotlarini google varaqlarida saqlash bilan cheklangan
  • I2C funktsiyalari orqali qiymatlarni olish uchun biz HTTPS GET so'rovidan foydalanmoqdamiz
  • Biz qiymatni string formatida o'zgartirishimiz va keyin ma'lumotlarni gscript URL havolasiga yuborishimiz kerak.

7 -qadam: Kod, kredit, ma'lumotnoma

Github kodi:

github.com/varul29/SHT25_GoogleSheets_Goog…

Malumot

I2C kodi:

Google Skript bo'yicha qo'llanma:

O'rnatilgan do'kon:

Qo'llanma blogi:

Tavsiya: