آموزش ESP32 48/55 - نظارت بر دما از راه دور و کنترل LED MQTT | کیت IoT ESP32 سن_founder
در این آموزش، ما بررسی خواهیم کرد که چگونه میتوان از ماجیول ESP32 به همراه برد توسعه ESP32 سنفاندور برای نظارت بر دما و رطوبت بهطور از راه دور با استفاده از پلتفرم Adafruit IO استفاده کرد. علاوه بر این، ما قابلیت کنترل یک LED از طریق یک رابط وب را پیادهسازی خواهیم کرد. در پایان این پروژه، شما قادر خواهید بود دادههای دما و رطوبت را بهطور زنده مشاهده کنید و یک LED را از مرورگر خود روشن و خاموش کنید.
این پروژه از پروتکل MQTT برای ارتباط مؤثر بین ESP32 و سرویس Adafruit IO استفاده میکند. MQTT سبکوزن است و برای برنامههای IoT مناسب است و به ما این امکان را میدهد که به راحتی دادههای حساس(حس کننده) را منتشر کنیم و به دستورات کنترل LED مشترک شویم. برای توضیح بیشتر در مورد شِفر (کود) و سیمکشی، حتماً ویدیوی همراه با این آموزش را بررسی کنید (در ویدیو در 00:00).
توضیح سختافزار
اجزای اصلی این پروژه شامل میکروکنترلر ESP32، حساس(حس کننده) دما و رطوبت DHT11 و یک LED است. ESP32 یک میکروکنترلر قدرتمند است که ویژگیهای Wi-Fi و بلوتوث داخلی را داراست و آن را به گزینهای ایدهآل برای پروژههای IoT تبدیل میکند. این میکروکنترلر قادر است چندین کار را همزمان پردازش کرده و به اینترنت بهطور بیوقفه متصل شود.
حساس(حس کننده) DHT11 مسئول اندازهگیری دما و رطوبت است. این حساس(حس کننده) سیگنالهای دیجیتالی را خروجی میدهد که میتوانند توسط ESP32 خوانده شوند. LED به عنوان یک نشانگر عمل میکند و میتوان آن را بهصورت از راه دور کنترل کرد تا کارایی پروتکل MQTT در مدیریت دستگاهها از طریق اینترنت را نشان دهد.
جزئیات ورق داده
| تولیدکننده | ادافرادیت |
|---|---|
| شماره قطعه | دیتاهای DHT11 |
| ولتاژ منطق/ورودی و خروجی | ۳.۳ ولت |
| ولتاژ منبع | ۳.۳ ولت |
| جریان خروجی (به ازای هر کانال) | ۲۰ میلیآمپر |
| جریان اوج (برای هر کانال) | 50 میلی آمپر |
| راهنمایی فرکانس PWM | N/A |
| آستانههای منطقی ورودی | ۰.۳ ولت (کم)، ۰.۷ ولت (زیاد) |
| افت ولتاژ / RDS(on)/ اشباع | N/A |
| محدودیتهای حرارتی | ۰ تا ۵۰ درجه سلسیوس |
| بسته | سه پایه |
| یادداشتها / انواع | از DHT22 برای دقت بالاتر استفاده کنید. |
- مطمئن شوید که سیمکشی به درستی انجام شده باشد تا از آسیب جلوگیری شود.
- از یک مقاومت 220 اهمی همراه LED برای محدود کردن جریان استفاده کنید.
- در صورت لزوم از مقاومتهای کششی برای پایه داده DHT11 استفاده کنید.
- مجوزهای Wi-Fi را از نظر حساسیت به حروف بزرگ و کوچک بررسی کنید.
- خروجی سریال را برای اشکالزدایی مشکلات اتصال زیر نظر داشته باشید.
- تضمین کنید که موضوعات MQTT منحصر به فرد باشند تا از بروز تعارضات جلوگیری شود.
- خوانشهای حساس را آزمایش کنید تا اطمینان حاصل شود که معتبر هستند.
- به زمان پاسخگویی DHT11 توجه داشته باشید؛ ممکن است مدتی طول بکشد تا قرائتها پایدار شوند.
LED= کنترل LED؛temperatureدادههای دما را منتشر کنید;humidity= انتشار دادههای رطوبت.
دستورالعملهای سیمکشی
برای سیمکشی اجزا، با اتصال حساس(حس کننده) DHT11 شروع کنید. پایه چپ DHT11 را با استفاده از یک سیم قرمز به ریل تغذیه ۳.۳ ولت روی برد برد متصل کنید. پایه وسط DHT11 باید با استفاده از یک سیم زرد به پایه ۱۳ روی ESP32 متصل شود. در نهایت، پایه راست DHT11 را با استفاده از یک سیم آبی به ریل زمین متصل کنید.
سپس، برای LED، پایانه آَنُدی (پایانه بلندتر) را از طریق یک مقاومت ۲۲۰ اهم به پایه ۱۵ ESP32 متصل کنید. پایانه کاتدی (پایانه کوتاهتر) را مستقیماً به ریل زمین روی برد بُرد متصل کنید. اطمینان حاصل کنید که تمام اتصالات محکم هستند و دوباره برای هر گونه سیم شل بررسی کنید.
راهاندازی داشبورد
-
بازدیدآدافروت آیاوسپس روی کلیک کنیدبرای شروع رایگان ثبتنام کنیدبرای ایجاد یک حساب کاربری رایگان.

-
فرم را پر کنید تا یک حساب کاربری ایجاد کنید.

-
پس از ایجاد یک حساب کاربری Adafruit، لازم است دوباره وارد Adafruit io شوید. بر رویداشبوردهاسپس روی کلیک کنیدداشبورد جدید.

-
یک را ایجاد کنیدداشبورد جدید.

-
وارد کنید تازه ایجاد شدهداشبوردو یک بلوک جدید ایجاد کنید.

-
1 را ایجاد کنیدتغییر وضعیتبلوک.

-
سپس، شما نیاز دارید که یک فید جدید اینجا ایجاد کنید. این کلید برای کنترل LED استفاده خواهد شد و ما این فید را "LED" نامگذاری خواهیم کرد.

-
بررسی کنیددیود ساطع کننده نورتغذیه کنید، سپس به مرحله بعدی بروید.

-
تنظیمات بلوک را کامل کنید (در درجه اول عنوان بلوک، متن روشن و متن خاموش)، سپس رویایجاد بلوکدکمه در گوشه پایین右 برای اتمام.

-
ما همچنین باید دو تا ایجاد کنیمبلوکهای متنیبعدی. آنها برای نمایش دما و رطوبت استفاده خواهند شد. بنابراین، دو خوراک به نامدماورطوبت.

-
پس از ایجاد، داشبورد شما باید به این شکل باشد:

-
شما میتوانید طرح را با استفاده ازویرایش طرحگزینه در داشبورد.

-
کلیک کنید بر رویکلید API، و شما نام کاربری خود را مشاهده خواهید کرد وکلید APIاین موارد را یادداشت کنید زیرا برای شِفر (کود) شما به آنها نیاز خواهید داشت.

مثالهای شِفر (کود) و راهنما
شِفر (کود) با گنجاندن کتابخانههای لازم آغاز میشود، اعتبارنامههای Wi-Fi را تنظیم میکند و پارامترهای MQTT را تعریف میکند. شناسههای کلیدی مانندAIO_USERNAMEوAIO_KEYبرای احراز هویت با سرویس Adafruit IO استفاده میشوند.
#define AIO_USERNAME "YourUsername"
#define AIO_KEY "YourKey"این خطوط نام کاربری و کلید Adafruit IO شما را تعریف میکنند که برای اتصال به کارگزار MQTT ضروری هستند. اطمینان حاصل کنید که این مقادیر دقیق هستند تا یک اتصال موفق برقرار شود.
در الsetup()عملکرد، اتصال Wi-Fi راهاندازی میشود و مشتری MQTT با گواهینامه CA ریشه برای ارتباط امن تنظیم میشود.
WiFi.begin(WLAN_SSID, WLAN_PASS);
client.setCACert(adafruitio_root_ca);این شِفر (کود) ESP32 را به شبکه Wi-Fi مشخص شده متصل کرده و CA ریشه را برای اتصالات MQTT امن تنظیم میکند. مدیریت صحیح این اتصالات برای انتقال دادههای قابل اعتماد حیاتی است.
در نهایت، الloop()عملکرد اتصال MQTT را مدیریت کرده و دما و رطوبت را در فواصل منظم منتشر میکند.
mqtt.processPackets(5000);این خط به ESP32 اجازه میدهد تا پیامهای وارد شده برای موضوعات مشترک را پردازش کند و اطمینان حاصل کند که دستگاه به دستورات ارسال شده از رابط وب پاسخگو باقی بماند.
برای شِفر (کود) کامل، لطفاً به برنامه کامل بارگذاریشده در زیر مقاله مراجعه کنید.
نمایشگاه / چه انتظاری داشته باشیم
پس از راهاندازی موفق، باید بهروزرسانیهای بلادرنگ دما و رطوبت را در داشبورد Adafruit IO خود مشاهده کنید. همچنین میتوانید LED را از طریق رابط وب روشن و خاموش کنید. اگر LED بهطور مورد انتظار پاسخ نمیدهد، اتصالات خود را بررسی کنید و مطمئن شوید که نامهای موضوع MQTT با آنچه در شِفر (کود) تعریف شده هماهنگ هستند.
به خاطر داشته باشید که ممکن است برخی از خطاهای اتصال MQTT به دلیل گواهینامههای منقضی شده رخ دهند. اطمینان حاصل کنید که جدیدترین گواهی ریشه CA را در شِفر (کود) خود دارید تا از بروز این مشکلات جلوگیری کنید (در ویدیو در ساعت ۱۵:۳۰).
زمانبندی ویدیو
- ۰۰:۰۰ شروع
- مقدمه به پروژه 1:50
- 3:16 MQTT چیست
- تنظیمات Adafruit IO 6:36
- 11:13 سیم کشی
- شِفر (کود) آردوینو توضیح داده شده: ۱۳:۳۸
- انتخاب برد ESP32 و پورت COM :03
- ۲۳:۴۴ نمایش پروژه
- بهروزرسانی داشبورد ۲۷:۰۵
Common Course Links
Common Course Files
منابع و مراجع
-
مستندات
فایلها📁
هیچ فایلی موجود نیست.