جدول المحتويات:

بيانات الطقس باستخدام جداول بيانات Google و Google Script: 7 خطوات
بيانات الطقس باستخدام جداول بيانات Google و Google Script: 7 خطوات

فيديو: بيانات الطقس باستخدام جداول بيانات Google و Google Script: 7 خطوات

فيديو: بيانات الطقس باستخدام جداول بيانات Google و Google Script: 7 خطوات
فيديو: Google Sheets - دليلك لتعلم جوجل شيت من البداية للإحتراف 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 مستشعرًا في وقت واحد باستخدام سحب سلكي فقط لنقل بيانات المستشعر في أجهزة 8 بت

الخطوة 1: الأجهزة

أطقم هزة الريش Adafruit

لوح حوزة من ريش Adafruit

محول Adafruit I2C متكامل ومحول USB

مستشعر درجة الحرارة والرطوبة SHT25

كابل I2C

الخطوة 2: كيف يعمل السخافات

يعد جلب قراءات بيانات المستشعرات في الوقت الفعلي من خلال ESP8266 وإرسال البيانات إلى منصات سحابية مختلفة أمرًا بسيطًا للغاية.

سنستخدم مكتبة Wire.h في Arduino IDE لإنشاء اتصالين سلكيين بين Adafruit Huzzah Board ووحدة استشعار SHT25 I2C وكابل I2C.

ملاحظة: لتجنب هيكل الأسلاك المعقد ، سأستخدم محول I2C لـ Adafruit Huzzah المصمم لتوصيل مستشعر I2C.

لكي يقوم المبتدئ بإعداد Esp8266 ، يجب أن يمر عبر إعداد ESP8266

أولاً ، قم بتهيئة المكتبات:

  • مكتبة الأسلاك
  • واي فاي
  • WiFiClientSecure

الخطوة 3: عملية تنفيذ وحدة I2C في Arduino IDE

بعد تهيئة المكتبات ، سنقوم بتعريف عملية I2C التي سيتم استخدامها لجلب قراءات المستشعر وتحويلها وتحويل بيانات 8 بت وفقًا للمتطلبات:

قم بتهيئة السجلات في بروتوكول I2C من سلكين لوحدة مستشعر I2C

#define Addr 0x40

  • ابدأ إرسال I2C وقم بتهيئة السجلات واطلب بيانات 2 بايت من حيث سنقرأ بيانات المستشعر.
  • إذا توفرت بيانات 2 بايت ، فقم بقراءة بيانات المستشعر وباستخدام الصيغ المذكورة أدناه ، نقوم بتحويل القيم المطلوبة

الرطوبة العائمة = (((البيانات [0] * 256.0 + البيانات [1]) * 125.0) / 65536.0) - 6 ؛

تعويم cTemp = (((البيانات [0] * 256.0 + البيانات [1]) * 175.72) / 65536.0) - 46.85 ؛

تعويم 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 ؛

String SCRIPT_ID = "أذكر معرف البرنامج النصي كما هو مذكور في snaps"؛

ملاحظة: معرف البرنامج النصي مذكور في "عنوان URL لتطبيقات الويب" بينما سيتم نشر كود Gscript ، ما عليك سوى نسخ ولصق المعرف المذكور أدناه وتهيئة الأوامر أعلاه

  • أيضًا باستخدام متغير مع متغير ، سنقوم بتهيئة المتغير عالميًا الذي يجلب البيانات من وحدة I2C ويرسلها إلى البرنامج النصي لعنوان URL الذي سيرسل البيانات إلى الوجهة.
  • باستخدام مكتبة WiFi ESP8266 ، سنتمكن من توصيل اللوحة بالإنترنت
  • ستتم استضافة بيانات المستشعر على خادم محلي بعد كل 5 ثوانٍ.
  • بمساعدة البرنامج النصي URL ، ستتم استضافة البيانات على صفحة نشطة للرابط المنشور لبرنامج google النصي بعد كل 15 ثانية.

الخطوة 5: أتمتة ورقة Google باستخدام محرر GScript

أتمتة ورقة Google باستخدام محرر GScript
أتمتة ورقة Google باستخدام محرر GScript
أتمتة ورقة Google باستخدام محرر GScript
أتمتة ورقة Google باستخدام محرر GScript
أتمتة ورقة Google باستخدام محرر GScript
أتمتة ورقة Google باستخدام محرر GScript

نظرًا لأن لدينا جميعًا حساب google لتسجيل الدخول إلى ورقة google بحسابك

  • اذكر القيم التي تريد الحصول عليها من المستشعر المتصل بـ ESP8266
  • انتقل إلى Tools> Script Editor
  • استخدم وظيفة "Doget" لاستقبال الأحداث
  • في وظيفة "Doget" لتهيئة مفتاح واجهة برمجة تطبيقات جدول البيانات وكذلك توصيل Active Sheet حيث تريد إرسال قيم المستشعر
  • بمساعدة وظيفة الأتمتة المذكورة في الكود لتمثيل البيانات في الصفوف والأعمدة بسهولة.
  • أخيرًا ، احفظ البيانات وانقر على "نشر" >> انقر على "نشر كتطبيقات الويب"
  • تأكد متى سيكون هناك أي تغيير لتحديد "إصدار المشروع" >> "جديد" >> اضغط على "تحديث"

سيظهر عنوان URL الحالي لتطبيق الويب على النحو التالي:

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

يستخدم أيضًا في رمز ESP8266 لجلب البيانات من أجهزة الاستشعار

اتصالات الاستضافة سنستخدم طلب الحصول على HTTPS لربط البيانات بمعرف المضيف المذكور في محرر gscript حيث قمنا بترميز بياناتنا بشكل أكبر للتواصل مع ورقة google.

الدالة 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]) ، }

الخطوة السادسة: القيود:

محددات
محددات
  • يقتصر هذا المشروع فقط على تخزين بيانات مستشعر I2C في أوراق google
  • نحن نستخدم طلب HTTPS GET لتلقي القيم من خلال وظائف I2C
  • يتعين علينا تغيير القيمة في تنسيق السلسلة ثم إرسال البيانات إلى رابط gscript URL.

الخطوة 7: الكود ، الاعتمادات ، المرجع

كود جيثب:

github.com/varul29/SHT25_GoogleSheets_Goog…

المرجعي

كود I2C:

برنامج Google Script التعليمي: https://developers.google.com/apps-script/articles …

المتجر المضمن:

مدونة البرنامج التعليمي:

موصى به: