آموزش ارسال دما و رطوبت محیط به گوگل Sheet

محتویات
- پروژه IoT ارسال دما و رطوبت محیط به اسکریپت Google Sheet
- قطعات مورد نیاز
- آموزش ایجاد اسکریپت در گوگل برای ثبت اطلاعات در Google Sheet
- دریافت ID اسکریپت گوگل
- سنسور دما و رطوبت DHT11
- توضیحات کد پروژه ارسال اطلاعات از ESP8266 به گوگل شیت
- نحوه قرار دادن ID اسکریپت در کد پروژه
- نحوه تعریف نام و رمز وایفای در کد پروژه
سلام. پروژه IoT ارسال دما و رطوبت محیط به گوگل Sheet با ماژول وایفای ESP8266 NodeMCU را آماده کردیم. فیلم عملکرد مدار را ببینید !
پروژه IoT ارسال دما و رطوبت محیط به اسکریپت Google Sheet
در این پروژه اینترنت اشیا IoT ما از گوگل شیت به عنوان ذخیره کننده IoT استفاده خواهیم کرد. یعنی داده های تولید شده توسط سنسور دما را در آن بارگذاری میکنیم. در این پروژه ما از ESP8266 NodeMCU برای ارسال اطلاعات دما و رطوبت از سنسور DHT11 به Google Sheet از طریق اینترنت استفاده خواهیم کرد.
قطعات مورد نیاز
- ماژول NodeMCU ESP8266
- سنسور DHT11
همانطور که میبینید این پروژه به قطعات خاصی نیاز ندارد و فقط به یک ماژول وای فای ESP8266 ، سنسور دما و رطوبت DHT11 و یک اتصال فعال اینترنت نیاز داریم.
پیشنهاد میکنم آموزش برنامه نویسی ESP8266 را بخوانید.
آموزش ایجاد اسکریپت در گوگل برای ثبت اطلاعات در Google Sheet
در این قسمت ایجاد یک اسکریپت در گوگل شیت را به صورت کامل و مرحله به مرحله توضیح خواهیم داد.
مرحله 1: وارد حساب گوگل خود شوید.
مرحله 2: مانند تصویر زیر روی Docs کلیک کنید.
مرحله 3: در منوی سمت چپ / راست Sheets را انتخاب کنید.
مرحله 4: یک Blank شیت ایجاد کنید.
مرحله 5: شیت جدید با نام Untitled Spreadsheet ایجاد میشود. ما آنرا تغییر میدهیم و به طور مثال از ESP8266_Temp_Logger استفاده میکنیم.
مرحله 6: ما میتوانیم از چند شیت استفاده کنیم اما در این پروژه فقط به یک شیت نیاز داریم. در پایین صفحه شما باید نام Sheet1 را به TempSheet تغییر دهید.
مرحله 7: حالا در بالای صفحه روی Tools کلیک کرده و 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 .
مرحله 10: سپس باید این اسکریپت را ذخیره کنید و کار ما در این قسمت تمام میشود.
دریافت ID اسکریپت گوگل
مرحله 1: ابتدای به منوی Publish و سپس به Deploy as Web App بروید.
مرحله 2: اطلاعات پنجره باز شده را مطابق تصویر زیر تکمیل کنید. در قسمت دوم باید جیمیل خود را انتخاب کنید.
مرحله 3: سپس در پنجره باز شده روی Review Permissions کلیک کنید.
مرحله 4: در صفحه بعد اکانت جیمیل خود را انتخاب کنید.
مرحله 5: در صفحه بعد روی Advanced کلیک کنید.
مرحله 6: سپس روی قسمت مشخص شده در تصویر پایین کلیک کنید. این متن با توجه به نام انتخابی پروژه شما میتواند متفاوت باشد.
مرحله 7: سپس در پنجره بعد روی Allow کلیک کنید.
مرحله 8: حالا مانند تصویر زیر شما یک Url دریافت میکنید که حاوی اسکریپت ID شماست.
مرحله 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 هم به صورت ماژول و هم به صورت سنسور در دسترس است. در این پروژه ما از سنسور استفاده میکنیم. تنها تفاوت سنسور و ماژول در این است که ماژول دارای یک خازن و یک مقاومت متصل به پین خروجی است. بنابراین اگر از ماژول استفاده میکنید نیاز نیست که مقاومت و خازن را اضافه کنید.
توضیحات کد پروژه ارسال اطلاعات از ESP8266 به گوگل شیت
کد کامل پروژه در فایل دانلودی قرار داده شده است. در این قسمت ما نحوه قرار دادن ID اسکریپت خود و وارد کردن نام و رمز وایفای خود را در کد آموزش میدهیم.
نحوه قرار دادن ID اسکریپت در کد پروژه
برای قرار دادن آیدی اسکریپت گوگل شیت در کد پروژه ، باید این قسمت از کد را ویرایش کنید :
const char* host = "script.google.com"; const char* GScriptId = "آیدی خود را در این قسمت وارد کنید"; const int httpsPort = 443;
نحوه تعریف نام و رمز وایفای در کد پروژه
const char* ssid = "User"; // نام وایفای const char* password = "Pass"; // رمز وایفای
با عرض سلام من در گوگل اسکریپت با ارور Type Error: Cannot read properties of undefined (reading ‘parameter’)برخوردم لطفا بفرمایید علت چیست؟
سلام وقت به خیر. من برد nodemcu ندارم و از esp8266-01 استفاده می کنم، ایا می تونم این پروژه را انجام بدم؟
سلام عزیز
باید از یک آردوینو در کنارش استفاده کنید
سلام من داخل برنامه ااردینو به یک خطا برخورد کردم
Error compiling for board NodeMCU 0.9 (ESP-12 Module).این خطا رو چطوری حلش کنم
سلام خسته نباشید
برنامه ی اردینو داخل کدام پوشه هستش
مهندس ولی دفعات قبلی تست میکردم حتی بعد از آپلود کد چشمک را میزد ولی الان ن تنظیمات خاصی داره راهنمایی میکنید چون چراغ وضعیت برام مهمه باشه
سلام وقت بخیر مهندس من این پروژه را انجام دادم من از پایه D2 برای دیتای سنسور DHT22 استفاده کردم و فرقی با DHT11 نداره ومورد دیگه اینکه بحث تحریم GOOGLE نیست چون بدون استفاده VPN و تحریم شکن ارتباط با گوگل شیت برقرار شد و مقادیر ذخیره میشه ..فقط مشکلی که بهش بر خوردم اینکه بعد از آپلود کد روی ماژول NODE MCU چراغ چشمک زن روی ماژول خاموش میشه و لی حین آپلود کردن ودر حال برقراری ارتباط چشمک میزنه علت چی می تونه باشه ایا دوستان تنونستن رفع ش کنن ؟
سلام جناب، خوشحالم که تونستید انجام بدید. روشن شدن چشمک زن به دلیل ارتباط سریال برای دریافت کد از کامپیوتر هست و مشکل خاصی نیست.
شما میفرمایید که بعضی از دوستان جواب نگرفتند ممکنه تفاوت مدل بین ماژول NodeMcu به همراه ماژول وای فای ESP8266 با مبدل CP2102 و یه مدل دیگه همین ماژول فقط با مبدل CH340G باشه؟ (تفاوت در مدل ها) آیا در این پروژه مدل ماژول wifi مهمه ؟رشته تحصیلی بنده الکترونیک نیست …
مشکلات اغلب از سمت اسکریپت گوگل بوده و مبدل تاثیری در این قضیه نداره.
مهندس فقط یه موردی که بهش بر خوردم اینکه جایی خوندم شرایط نگهداری سنسور DHT11 دردمای 10-40⁰C و رطوبت کمتر از 60%RH باشه چرا علت چیه ؟ آیا صحت داره ؟ وسوال دوم ماژول که شما استفاده کردید مدل ش
برد توسعه NodeMcu به همراه ماژول وای فای ESP8266 با مبدل CP2102?
سلام جناب، بهترین شرایط کاری سنسور DHT11 در دمای 0 تا 50 و رطوبت 20 تا 60 هست. همچنین ممکنه این پروژه عمل نکنه بعضی از دوستان جواب نگرفتند.
سلام وقت بخیر مهندس کدها رو بررسی کردم ولی متوجه نشدم امکان هست خودتون بگید یا شماتیک ش رو بزارید ممنون
سلام مجدد، تصویر شماتیک در دسترس ندارم فقط پین خروجی سنسور رو به پین D4 متصل کنید و پایه های تغذیه سنسور رو به 5 ولت
سلام وقت بخیر مهندس ای کاش نحوه اتصالات چامپر رطوبت سنج و ماژول وای فای رو هم میگفتی ممنون.
سلام جناب، نحوه اتصال رو با استفاده از کد میتونید متوجه بشید اگر بازم سوالی بود اعلام کنید.
سلام وقت بخیر بسیار عالی هست
چگونه میتوانیم با استفاده اپ این برنامه ، این اطلاعات سنسور را در موبایل مشاهده کنیم . ممنون
سلام جناب، اگر پروژه رو با موفقیت اجرا کردید میتونید گوگل شیت رو در موبایلتون باز کنید.
سلام ببخشید میشه بقیه کتاب خانه ها رو هم داخل بخش دانلود بزارید ممنون.
سلام جناب، کتابخانه های مورد نیاز در فایل دانلودی قرار گرفته اند.
ببخشید جور دیگه ای میشه باهاتون ارتباط داشته باشیم؟
سلام جناب. اگر در مورد پروژه ها و مطالب سایته در مطلب مورد نظر اعلام کنید. اگر در مورد مسئله دیگری هست با ایمیلی که در صفحه تماس با ما قرار دادم ارتباط برقرار کنید.
سلام مهندس رحیمی.ممنون بابت برنامه و راهنماییتون 🙏.
سلام جناب. خواهش میکنم موفق باشید.
بله اونجا رو هم دیدم.یک فایل notepad هست که فقط یه جمله ی انگلیسی نوشته !و چنتا عکس
باعرض پوزش🙏
(اگر امکانش هست فایل رو از یه طریق دیگه به من بدید)
جناب من چندین بار فایل رو بررسی کردم صحیح هست !
ممنون لطف کردید.
شرمنده میشه اسم فایل رو محبت کنید؟
جناب مهندس من کد هایی که توی برنامه اردویینو باید بنویسیم را پیدا کردم
ولی اون کدهایی که توی حساب گوگل لازم هست رو پیدا نکردم.
سلام جناب. دقت بفرمایید در فایل دانلودی، یک فایل هست به نام
GoogleScript.gs
که اسکریپت گوگل هست.
چرا پیام من نمیاد؟
سلام جناب. پاسختون رو دادم.
سلام.ببخشید کد مربوط به مرحله9(GoogleScript.gs) که گفتین توی فایل دانبود قراری دادین موجود نیست
میشه لطف کنید راهنمایی کنید
سلام جناب. بررسی شد، در فایل دانلودی موجود هست. دقت بفرمایید که در فایل دانلودی، فایل های ZIP دیگر قرار داده شده اند که در آن ها فایل مورد نظر موجود است.
سلام من پروژه رو ساختم طبق مدل. برد هم کانکت میشه ولی هیچ داده ای به روی گوگل شیت برام نمیاد مشکل از چیه؟
با تشکر
سلام جناب. بعضی از دوستان هم اطلاع دادند احتمالا این مشکل از تحریم ها باشه.
اقا خیلی عالی بود این کد رو میشود برای دریافت مختصات جرافیایی هم کاستومایز کرد؟
سلام حمیدرضای عزیز.
بله صد درصد میتونید.
سلام دوباره،پایه های ماژول به کدوم پایه های برد باید وصل کنیم
فایل شماتیک نیست
سلام هاتف عزیز.
در این قسمت کد :
#define DHTPIN D4
مشاهده میکنید که نوشته شده است پین دیتای سنسور به پین D4 برد ESP8266 متصل میشود.
من برنامم 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
سلام. این مشکل به احتمال زیاد از کد و مدار شما نیست. مربوط به سرور گوگله ، چند ساعت بعد دوباره امتحان کنید باید رفع شده باشه. ولی محض اطمینان مراحل رو یک بار دیگه طی کنید.