پروژه الکترونیکپروژه های Espپروژه های اینترنت اشیاپروژه های دما و رطوبت

آموزش ارسال دما و رطوبت محیط به گوگل Sheet (پروژه IoT) با ماژول وایفای ESP8266

سلام. پروژه IoT ارسال دما و رطوبت محیط به گوگل Sheet با ماژول وایفای ESP8266 NodeMCU را آماده کردیم. فیلم عملکرد مدار را ببینید !

پروژه IoT ارسال دما و رطوبت محیط به اسکریپت Google Sheet

پروژه IoT ارسال دما و رطوبت محیط به گوگل Sheet با ماژول ESP8266

در این پروژه اینترنت اشیا IoT ما از گوگل شیت به عنوان ذخیره کننده IoT استفاده خواهیم کرد. یعنی داده های تولید شده توسط سنسور دما را در آن بارگذاری میکنیم. در این پروژه ما از ESP8266 NodeMCU برای ارسال اطلاعات دما و رطوبت از سنسور DHT11 به Google Sheet از طریق اینترنت استفاده خواهیم کرد.

قطعات مورد نیاز

  1. ماژول NodeMCU ESP8266
  2. سنسور DHT11

همانطور که میبینید این پروژه به قطعات خاصی نیاز ندارد و فقط به یک ماژول وای فای ESP8266 ، سنسور دما و رطوبت DHT11 و یک اتصال فعال اینترنت نیاز داریم.

آموزش ایجاد اسکریپت در گوگل برای ثبت اطلاعات در Google Sheet

در این قسمت ایجاد یک اسکریپت در گوگل شیت را به صورت کامل و مرحله به مرحله توضیح خواهیم داد.

مرحله 1: وارد حساب گوگل خود شوید.

مرحله 2: مانند تصویر زیر روی Docs کلیک کنید.

رفتن به Docs برای اتصال پروژه

مرحله 3: در منوی سمت چپ / راست Sheets را انتخاب کنید.

رفتن به Sheets

اگر میخواهید آردوینو را به صورت اصولی و پروژه محور (برنامه نویسی حرفه ای، ارتباط آردوینو با اندروید، ساخت ربات با آردوینو) یاد بگیرید، روی دوره آموزش آردوینو کلیک کنید.

مرحله 4: یک Blank شیت ایجاد کنید.

ایجاد یک Blank شیت

مرحله 5: شیت جدید با نام Untitled Spreadsheet ایجاد میشود. ما آنرا تغییر میدهیم و به طور مثال از ESP8266_Temp_Logger استفاده میکنیم.

نام گوگل شیت

مرحله 6: ما میتوانیم از چند شیت استفاده کنیم اما در این پروژه فقط به یک شیت نیاز داریم. در پایین صفحه شما باید نام Sheet1 را به TempSheet تغییر دهید.

همچنین اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید

تغییر نام شیت اصلی

مرحله 7: حالا در بالای صفحه روی Tools کلیک کرده و Script Editor را انتخاب میکنیم.

Script Editor در گوگل شیت

مرحله 8: گوگل اسکریپت اولیه با نام Untitled project خواهد بود ما آن را به TempLog_Script تغییر دادیم.

تغییر نام اسکریپت گوگل شیت

مرحله 9: حالا کد فایل GoogleScript.gs (در فایل دانلودی قرار داده شده است) را در این قسمت کپی میکنیم. در کدی که کپی میکنید باید Sheet ID و Sheet Name را تغییر دهید. Sheet Name همانطور که تغییر دادیم TempSheet خواهد بود. و Sheet ID را باید با توجه به آدرس صفحه بدست آورید. یعنی مانند تصویر زیر اگر آدرس صفحه https://docs.google.com/spreadsheets/d/Oooooooooooooxxxxxxxxxxxoooooo/edit#gid=0 بود ، ID شما میشود Oooooooooooooxxxxxxxxxxxoooooo .

پیدا کردن Sheet ID

مرحله 10: سپس باید این اسکریپت را ذخیره کنید و کار ما در این قسمت تمام میشود.

نوشتن اسکریپت در Google Sheet

مطلب پیشنهادی :
پروژه راه اندازی دوربین وای با فای با IoT ( آموزش پخش اینترنتی با ESP32-CAM)

دریافت ID اسکریپت گوگل

مرحله 1: ابتدای به منوی Publish و سپس به Deploy as Web App بروید.

Deploy as Web App

مرحله 2: اطلاعات پنجره باز شده را مطابق تصویر زیر تکمیل کنید. در قسمت دوم باید جیمیل خود را انتخاب کنید.

تنظیمات اسکریپت برای گزارشات دما

مرحله 3: سپس در پنجره باز شده روی Review Permissions کلیک کنید.

مرحله 4: در صفحه بعد اکانت جیمیل خود را انتخاب کنید.

مرحله 5: در صفحه بعد روی Advanced کلیک کنید.

گذر از مشکل گوگل

مرحله 6: سپس روی قسمت مشخص شده در تصویر پایین کلیک کنید. این متن با توجه به نام انتخابی پروژه شما میتواند متفاوت باشد.

عبور از مشکل امنیتی گوگل

مرحله 7: سپس در پنجره بعد روی Allow کلیک کنید.

مرحله 8: حالا مانند تصویر زیر شما یک Url دریافت میکنید که حاوی اسکریپت ID شماست.

اسکریپت ID در گوگل Sheet

مرحله 9: وقتی شما این آدرس را کپی کنید دارای همچین فرمتی است :

https://script.google.com/macros/s/____Your_Google _ScriptID___/exec

به طور مثال برای من اگر اینطور باشد :

https://script.google.com/macros/s/AKfycbxy9wAZKoPIpP53AvqYTFFn5kkqK_-avacf2NU_w7ycoEtlkuNt/exec

ID اسکریپ من میشود : AKfycbxy9wAZKoPIpP53AvqYTFFn5kkqK_-avacf2NU_w7ycoEtlkuNt

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

این سنسور قابلیت تشخیص دما در محدوده 0-50 درجه سانتی گراد را دارد. و دقت اندازه گیری دمای سنسور +-2 است. همچنین بخش رطوبت سنج این حسگر میتواند در محدوده 20 تا 90 درصد با دقت +-5% فعالیت کند.

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

سنسور DHT11 هم به صورت ماژول و هم به صورت سنسور در دسترس است. در این پروژه ما از سنسور استفاده میکنیم. تنها تفاوت سنسور و ماژول در این است که ماژول دارای یک خازن و یک مقاومت متصل به پین خروجی است. بنابراین اگر از ماژول استفاده میکنید نیاز نیست که مقاومت و خازن را اضافه کنید.

مطلب پیشنهادی :
دانلود کتابخانه dht.h برای آردوینو + مشخصات سنسور دما و رطوبت DHT11

توضیحات کد پروژه ارسال اطلاعات از ESP8266 به گوگل شیت

کد کامل پروژه در فایل دانلودی قرار داده شده است. در این قسمت ما نحوه قرار دادن ID اسکریپت خود و وارد کردن نام و رمز وایفای خود را در کد آموزش میدهیم.

نحوه قرار دادن ID اسکریپت در کد پروژه

برای قرار دادن آیدی اسکریپت گوگل شیت در کد پروژه ، باید این قسمت از کد را ویرایش کنید :

const char* host = "script.google.com";
const char* GScriptId = "آیدی خود را در این قسمت وارد کنید"; 
const int httpsPort = 443; 

نحوه تعریف نام و رمز وایفای در کد پروژه

const char* ssid = "User"; // نام وایفای            
const char* password = "Pass"; // رمز وایفای

فیلم عملکرد مدار : کلیک کنید !

موارد موجود در فایل : شماتیک مدار ، سورس کد ، کتابخانه ها ، اسکریپت گوگل و …

نظرتان را در مورد این مطلب با ستاره دادن اعلام کنید
امیدوارم این مطلب برای شما مفید بوده باشد. نظرات ، مشکلات و پیشنهادات خود را در پایین صفحه اعلام کنید
محمد رحیمی

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید را قرار دهم. مالکیتی بر مطالب ارائه شده ندارم. اکثر فعالیت بنده در زمینه ترجمه است. (در خصوص سوال در مورد این مطلب از قسمت نظرات همین مطلب اقدام کنید)

20 نظر

    1. سلام جناب. اگر در مورد پروژه ها و مطالب سایته در مطلب مورد نظر اعلام کنید. اگر در مورد مسئله دیگری هست با ایمیلی که در صفحه تماس با ما قرار دادم ارتباط برقرار کنید.

  1. بله اونجا رو هم دیدم.یک فایل notepad هست که فقط یه جمله ی انگلیسی نوشته !و چنتا عکس

    باعرض پوزش🙏
    (اگر امکانش هست فایل رو از یه طریق دیگه به من بدید)

  2. ممنون لطف کردید.
    شرمنده میشه اسم فایل رو محبت کنید؟
    جناب مهندس من کد هایی که توی برنامه اردویینو باید بنویسیم را پیدا کردم
    ولی اون کدهایی که توی حساب گوگل لازم هست رو پیدا نکردم.

    1. سلام جناب. دقت بفرمایید در فایل دانلودی، یک فایل هست به نام
      GoogleScript.gs
      که اسکریپت گوگل هست.

  3. سلام.ببخشید کد مربوط به مرحله9(GoogleScript.gs) که گفتین توی فایل دانبود قراری دادین موجود نیست
    میشه لطف کنید راهنمایی کنید

    1. سلام جناب. بررسی شد، در فایل دانلودی موجود هست. دقت بفرمایید که در فایل دانلودی، فایل های ZIP دیگر قرار داده شده اند که در آن ها فایل مورد نظر موجود است.

  4. سلام من پروژه رو ساختم طبق مدل. برد هم کانکت میشه ولی هیچ داده ای به روی گوگل شیت برام نمیاد مشکل از چیه؟
    با تشکر

    1. سلام جناب. بعضی از دوستان هم اطلاع دادند احتمالا این مشکل از تحریم ها باشه.

  5. اقا خیلی عالی بود این کد رو میشود برای دریافت مختصات جرافیایی هم کاستومایز کرد؟

  6. سلام دوباره،پایه های ماژول به کدوم پایه های برد باید وصل کنیم
    فایل شماتیک نیست

    1. سلام هاتف عزیز.
      در این قسمت کد :
      #define DHTPIN D4
      مشاهده میکنید که نوشته شده است پین دیتای سنسور به پین D4 برد ESP8266 متصل میشود.

  7. من برنامم Compile شد و مشکلی نیست – Script هم ساخته شد اما ارتباط با Google script برقرار نمیشه
    Connecting to wifi: MJ-C5
    .
    WiFi connected
    IP address:
    192.168.43.80
    Connecting to script.google.com

    Write into cell ‘A1’
    ——>
    Error with request. Response status code: 500

    GET: Fetch Google Calendar Data:
    ——>
    Error with request. Response status code: 0

    Start Sending Sensor Data to Google Spreadsheet
    Humidity: 25.00% Temperature: 27.40°C
    Error with request. Response status code: 500
    Sent : Temp and Humid
    POST or SEND Sensor data to Google Spreadsheet:
    Error with request. Response status code: 0

    1. سلام. این مشکل به احتمال زیاد از کد و مدار شما نیست. مربوط به سرور گوگله ، چند ساعت بعد دوباره امتحان کنید باید رفع شده باشه. ولی محض اطمینان مراحل رو یک بار دیگه طی کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *