فهرست مطالب:

داده های آب و هوا با استفاده از 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 را با استفاده از Adafruit huzzah ESP8266 به صفحات گوگل ارسال کنیم که به ارسال اطلاعات به اینترنت کمک می کند.

  • ارسال داده به سلول ورق google راه بسیار مفید و اساسی است که داده ها را بصورت جداول بصورت آنلاین ذخیره می کند.
  • به جای استفاده از هر نوع پل مخصوص مانند فشار دادن جعبه یا MQTT NODE RED یا هر نوع دیگر API REST ، ما داده ها را با استفاده از اسکریپت google ارسال می کنیم که با استفاده از پیوند اسکریپت ارائه شده توسط اسناد ، داده ها را به راحتی دریافت می کند. برنامه اسکریپت گوگل پس از انتشار
  • ما می توانیم از اسکریپت برای ارسال داده ها از صفحه گوگل ، اسناد یا حتی به google drive استفاده کنیم.
  • فقط به اینجا خاتمه ندهید ، ممکن است صفحات google را با هر برنامه مبتنی بر وب متصل کنید که داده ها را به شیوه ای که می خواهند با کاربران به اشتراک بگذارند
  • برخلاف دیگر سرورهای آنلاین در اینجا هیچ هزینه اضافی پرداخت نمی شود و می توانید داده ها را حداکثر تا 10 گیگابایت در حساب کاربری ذخیره کنید و می توانید از
  • یکی از بهترین تلاش ها این است که می توانید در مورد اتصال داده ها به اینترنت با این نوع برنامه های زمان واقعی به راحتی یاد بگیرید.
  • ما قصد داریم از اتصال I2C که پروتکل master-slave را انجام می دهد برای به اشتراک گذاری داده ها با صفحات google به شیوه ای انعطاف پذیر استفاده کنیم.
  • پلت فرم پروتکل I2C سخت افزار سنسور را متصل می کند و همزمان با حدود 256 سنسور کار می کند و تنها با استفاده از 2 کشش سیمی به انتقال داده های حسگر در سخت افزار 8 بیتی می پردازد.

مرحله 1: سخت افزار

کیت پر آدافروت HUZZAH

هیئت پرز Adafruit Feat Huzzah

Adafruit I2C یکپارچه و آداپتور USB

سنسور دما و رطوبت SHT25

کابل I2C

مرحله 2: نحوه کار Stuff

دریافت قرائت داده های زمان واقعی سنسورها از طریق 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 و شناسه میزبان و کلیدهای API داده ها را به صفحات گوگل ارسال کنیم.

  • اعتبار WiFi را در سطح جهانی در ESP8266 تعریف کنید که به ما در اتصال برد به اینترنت کمک می کند
  • همانطور که می خواهیم از کلاینت HTTP استفاده کنیم و پروتکل HTTPS = 443 را برای ایمن سازی مسیر HTTP تعریف می کنیم ، زیرا اسکریپت فقط در مسیر امن کار می کند.
  • مقداردهی میزبان را در کد اولیه کنید

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

const int httpsPort = 443؛

رشته SCRIPT_ID = "شناسه اسکریپت را همانطور که در اسنپ ها ذکر شده ذکر کنید"؛

توجه: شناسه اسکریپت در "URL برنامه های وب" ذکر شده است در حالی که کد Gscript منتشر می شود ، فقط شناسه ذکر شده در زیر را کپی و جایگذاری کرده و در دستورات بالا مقداردهی کنید

  • همچنین با استفاده از فرار با متغیر ، ما قصد داریم متغیر را در سطح جهانی مقداردهی کنیم که داده ها را از ماژول I2C دریافت می کند و به اسکریپت URL ارسال می کند تا اطلاعات را به مقصد ارسال کند.
  • با استفاده از ESP8266 WiFi Library می توانیم برد را به اینترنت متصل کنیم
  • داده های حسگر پس از هر 5 ثانیه به سرور محلی میزبانی می شوند.
  • با کمک اسکریپت URL ، داده ها پس از هر 15 ثانیه در صفحه فعال پیوند منتشر شده توسط google میزبانی می شوند.

مرحله 5: خودکار Google Sheet با استفاده از GScript Editor

خودکار Google Sheet با استفاده از GScript Editor
خودکار Google Sheet با استفاده از GScript Editor
خودکار Google Sheet با استفاده از GScript Editor
خودکار Google Sheet با استفاده از GScript Editor
خودکار Google Sheet با استفاده از GScript Editor
خودکار Google Sheet با استفاده از GScript Editor

همانطور که همه ما یک حساب Google برای ورود به صفحه Google با حساب شما داریم

  • مقادیری را که باید از سنسور متصل به ESP8266 دریافت کنید ذکر کنید
  • به Tools> Script Editor بروید
  • برای دریافت رویدادها از عملکرد "Doget" استفاده کنید
  • در عملکرد "Doget" برای راه اندازی کلید API صفحه گسترده و همچنین اتصال Active Sheet به جایی که می خواهید مقادیر سنسور را ارسال کنید
  • با استفاده از عملکرد اتوماسیون در کد ذکر شده است تا داده ها را در سطرها و ستون ها به راحتی نمایش دهد.
  • در نهایت ، داده ها را ذخیره کرده و روی "انتشار" کلیک کنید> روی "استقرار به عنوان برنامه های وب" کلیک کنید
  • اطمینان حاصل کنید که هر زمان تغییری در انتخاب "نسخه پروژه" >> "جدید" ایجاد شود> "به روز رسانی" را فشار دهید

آدرس فعلی برنامه وب به صورت زیر ظاهر می شود:

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

بیشتر در کد ESP8266 برای واکشی داده ها از حسگرها استفاده می شود

ما قصد داریم از درخواست HTTPS Get برای اتصال داده ها به شناسه میزبان ذکر شده در ویرایشگر gscript که در آن ما داده های خود را برای اتصال به صفحه گوگل کدگذاری کرده ایم ، استفاده کنیم.

تابع doGet (e) {Logger.log (JSON.stringify (e))؛ // مشاهده پارامترها var result = 'Ok'؛ // فرض موفقیت اگر (e.parameter == 'undefined') {result = 'No Parameters'؛ } 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)) ؛ // ردیف جدید زیر var newRange = sheet.getRange (newRow ، 1 ، 1 ، rowData.length) بنویسید ؛ newRange.setValues ([rowData]) ؛ }

مرحله 6: محدودیت ها:

محدودیت ها
محدودیت ها
  • این پروژه فقط برای ذخیره داده های سنسور I2C در برگه های گوگل محدود شده است
  • ما از درخواست HTTPS GET برای دریافت مقادیر از طریق توابع I2C استفاده می کنیم
  • ما باید مقدار را در قالب رشته تغییر دهیم و سپس داده ها را به پیوند URL gscript ارسال کنیم.

مرحله 7: کد ، اعتبار ، مرجع

کد Github:

github.com/varul29/SHT25_GoogleSheets_Goog…

ارجاع

کد I2C:

آموزش Google Script:

فروشگاه جاسازی شده:

وبلاگ آموزشی:

توصیه شده: