آموزش نمایش دما و رطوبت در اینترنت با وای فای ESP32
محتویات
سلام. پروژه IoT نمایش دما و رطوبت با سنسور دماسنج و رطوبت سنج DHT11 در اینترنت (آموزش کامل با ماژول وای فای ESP32) را آماده کردیم. فیلم عملکرد مدار را ببینید.
در این پروژه IoT ، ما با استفاده از سنسور دما و رطوبت DHT11 یک دماسنج و رطوبت سنج مبتنی در ESP32 میسازیم و اطلاعات سنسور را در صفحه وب در اینترنت نمایش میدهیم. در این پروژه هم از IFTTT برای ارسال هشدار به ایمیل استفاده میکنیم هنگامی که دما از حد خاصی فراتر رود.
قبل از خواندن ادامه مطلب، آموزش برنامه نویسی ESP32 را بخوانید.
قطعات مورد نیاز پروژه دماسنج و رطوبت سنج
- برد بلوتوث و وایفای ESP-32 Devkit V1
- ماژول سنسور دما و رطوبت DHT11
میکروکنترلر های سری ESP32 میکروکنترلرهای کم مصرفی هستند. سری ESP32 از ریزپردازنده Tensilica Xtensa LX6 برخوردار است. ارتباط حسگر DHT11 با ESP32 بسیار ساده است زیرا تنها سه پین دارد. پین VCC و GND سنسور را به پین 3.3 V و GND ماژول ESP32 وصل میکنیم. سپس پین داده سنسور را به پین D2 ماژول وایفای ESP32 وصل کنید.
نحوه ارسال دما و رطوبت در سایت IFTTT
شما در ابتدا باید یک حساب کاربری در سایت IFTTT ایجاد کنید : کلیک کنید !
مرحله اول : ابتدا در قسمت Services روی Webhooks و سپس روی Documentation کلیک کنید و Key خود را کپی کنید.
مرحله دوم : روی آیکون پروفایل در بالای صفحه کلیک کنید. سپس گزینه Create را انتخاب کنید. پسس در صفحه ای که باز میشود روی دکمه +This کلیک کنید. در این جا webhooks را سرچ کنید و سپس روی آیکون webhooks کلیک کنید .
مرحله سوم : در قسمت choose trigger option روی “receive a web request” کلیک کنید. سپس در اینجا باید یک نام انتخاب کنید. ما به طور مثال از “temp_event” استفاده کردیم. توجه داشته باشید نمیتوانید از اسپیس استفاده کنید.
مرحله چهارم : سپس روی دکمه +That کلیک کنید. در این قسمت send me an email را انتخاب کنید. سپس باید نام ایمیل و متن ایمیل که میخواهید به عنوان هشدار به شما ارسال شد را انتخاب کنید.
سنسور دما و رطوبت DHT11
این سنسور قابلیت تشخیص دما در محدوده 0-50 درجه سانتی گراد را دارد. و دقت اندازه گیری دمای سنسور +-2 است. همچنین بخش رطوبت سنج این حسگر میتواند در محدوده 20 تا 90 درصد با دقت +-5% فعالیت کند
توضیحات کد پروژه دماسنج و رطوبت سنج اینترنتی
کد ما کامل در فایل دانلودی قرار داده شده است. در ابتدای کد ما کتابخانه های مورد نیاز را فراخوانی میکنیم :
#include <WiFi.h> // کتابخانه وایفای #include <Wire.h> // کتابخانه برای ارتباط I2C #include "DHT.h" // کتابخانه سنسور dht11
سپس در قسمت بعد ما پین سنسور را تعریف میکنیم :
#define DHTTYPE DHT11 // DHT 11 uint8_t DHTPin = D2; // انتخاب پین DHT dht(DHTPin, DHTTYPE);
و در قسمت بعد ما باید نام و رمز وای فای خود را وارد کنیم و Key را که در مرحله اول از سایت IFTTT دریافت کردیم را وارد کنیم.
const char* ssid = "Wi-Fi Name"; // نام وای فای const char* password = "Password"; // رمز وایفای const char *host = "maker.ifttt.com"; // بدون تغییر const char *privateKey = "Private key"; // Key را وارد کنید
در قسمت بعد ما پورت HTTP را تعیین میکنیم و طبق معمول روی 80 قرار میدهیم.
WiFiServer server(80);
در این قسمت آستانه را برای ارسال ایمیل تنظیم میکنیم.
if ( Temperature >= 20) { // در صورتی که دما مساوی 20 یا بیشتر از آن باشد send_event("temp_event"); // ایمیل ارسال شود }
تست مدار پروژه اینترنت اشیا نمایش دما و رطوبت
اطمینان حاصل کنید که لپ تاپ و ESP32 شما به یک شبکه Wi-Fi وصل شده اند. بعد از بارگذاری کد ، مانیتور سریال را باز کنید میزان baud را به 115200 تغییر دهید. بعد در مانیتور سریال شما یک آیپی را مشاهده میکنید. آن آیپی را در مرورگر خود باز کنید، دما و رطوبت مانند تصویر بالا نمایش داده میشود. و هر زمان که دما از حد تعیین شده فراتر رود یک ایمیل برای شما ارسال میشود.
همچنین میتوانید به جای ایمیل از هشدار اعلان گوشی استفاده کنید، برای اینکار آموزش های قبلی ما را ببینید :
فیلم عملکرد مدار : کلیک کنید !
برای دانلود فایل ها باید حساب کاربری داشته باشید ثبت نام / ورود
سلام استاد
اگه برد رو با otg به گوشی وقل کرد و در گوشی گزینه اشتراک گذاری اینترنت از طریقusb فعال کرد
بازم آردوینو به اینترنت وصل میشه؟
سلام عزیز
خیر اینکار برای آردوینو جواب نمیده
سلام استاد
اگر بخوام به صورت ريل تايم دما روي مرورگر نمايش بده بدون رفرش كردن چيكار بايد كرد
منم همین مشکلو دارم میشه کمک کنید؟
سلام عزیز
ساده ترین راهش اینه که کدی قرار بدید که خود به خود صفحه رو رفرش کنه
سلام بجایesp32 میشه از ESP8266 استفاده کرد
سلام عزیز. با esp8266 تست نشده
سلام تمام این مراحلو انجام دادم ولی ایمیلی برای هشدار دما ارسال نمیکند بخاطر این نیست که سایت iftt فیلتر است؟
سلام جناب. بله به همین خاطر هست.
سلام من یک سوالی در مورد آپلود کردن این پروژه داشتم تمام مراحلو انجام دادم وقتی آپلود رو میزنم یک خطایی به این صورت میده
Eror campiling for board ESP32 Dev Module
میخاستم بدونم مشکل از کجاست؟
سلام جناب. آموزش برنامه نویسی ESP32 رو مشاهده کنید.