دليل ESP32 48/55 - مراقبة درجة الحرارة عن بُعد وتحكم في LED عبر MQTT | مجموعة إنترنت الأشياء ESP32 من SunFounder
في هذا البرنامج التعليمي، سنستكشف كيفية استخدام وحدة ESP32 بالتزامن مع لوحة تمديد ESP32 من شركة SunFounder لمراقبة درجة الحرارة والرطوبة عن بُعد باستخدام منصة Adafruit IO. بالإضافة إلى ذلك، سنقوم بتنفيذ وظيفة التحكم في مصباح LED عبر واجهة ويب. بنهاية هذا المشروع، ستكون قادرًا على عرض بيانات درجة الحرارة والرطوبة في الوقت الحقيقي وتبديل مصباح LED التشغيل والإيقاف من متصفحك.
يستفيد هذا المشروع من بروتوكول MQTT للتواصل الفعال بين ESP32 وخدمة Adafruit IO. يعتبر MQTT خفيف الوزن ومناسب لتطبيقات إنترنت الأشياء، مما يسمح لنا بنشر بيانات المستشعر بسهولة والاشتراك في الأوامر الخاصة بتحكم LED. لمزيد من التوضيح حول الكود والتوصيلات، تأكد من مشاهدة الفيديو المصاحب لهذا الدليل (في الفيديو عند 00:00).
شرح الأجهزة
تشمل المكونات الرئيسية لهذا المشروع المتحكم الدقيق ESP32، ومستشعر درجة الحرارة والرطوبة DHT11، ومصباح LED. يعتبر ESP32 متحكمًا دقيقًا قويًا يتميز بإمكانيات الواي فاي والبلوتوث المدمجة، مما يجعله خيارًا مثاليًا لمشاريع إنترنت الأشياء. يمكنه التعامل مع مهام متعددة والاتصال بالإنترنت بسلاسة.
حساس DHT11 مسؤول عن قياس درجة الحرارة والرطوبة. يقوم بإخراج إشارات رقمية يمكن قراءتها بواسطة ESP32. تعمل مصباح LED كمؤشر ويمكن التحكم بها عن بُعد لإظهار فعالية بروتوكول MQTT في إدارة الأجهزة عبر الإنترنت.
تفاصيل ورقة البيانات
| الصانع | أدافروت |
|---|---|
| رقم الجزء | دي إتش تي 11 |
| جهد المنطق/المدخلات والمخرجات | ٣.٣ فولت |
| جهد الإمداد | 3.3 فولت |
| تيار الخرج (لكل قناة) | 20 مللي أمبير |
| التيار الذروي (لكل قناة) | 50 مللي أمبير |
| إرشادات تردد PWM | N/A |
| عتبات منطق الإدخال | 0.3 فولت (منخفض)، 0.7 فولت (مرتفع) |
| انخفاض الجهد / ردي إس (أون)/ تشبع | N/A |
| الحدود الحرارية | 0 إلى 50 درجة مئوية |
| حزمة | 3-دبوس |
| ملاحظات / متغيرات | استخدم DHT22 للحصول على دقة أعلى. |
- تأكد من التوصيل الصحيح لتجنب الأضرار.
- استخدم مقاومة بقيمة 220 أوم مع LED لتحديد التيار.
- استخدم مقاومات السحب لأعلى لمنفذ بيانات DHT11 إذا لزم الأمر.
- تحقق من بيانات اعتماد Wi-Fi لعدم حساسية حالة الأحرف.
- راقب الناتج التسلسلي لاكتشاف مشاكل الاتصال.
- اجعل موضوعات MQTT فريدة لتجنب النزاعات.
- اختبر قراءات المستشعرات للتأكد من صحتها.
- كن حذرًا من وقت استجابة DHT11؛ قد يستغرق الأمر بعض الوقت لاستقرار القراءات.
LED= التحكم في LED;temperatureنشر بيانات درجة الحرارة;humidityنشر بيانات الرطوبة.
تعليمات الأسلاك
لتوصيل المكونات، ابدأ بتوصيل مستشعر DHT11. قم بتوصيل السلك الأيسر من DHT11 إلى سكة الطاقة 3.3 فولت على لوحة الدوائر باستخدام سلك أحمر. يجب توصيل السلك الأوسط من DHT11 بالعلبة 13 على ESP32 باستخدام سلك أصفر. أخيرًا، قم بتوصيل السلك الأيمن من DHT11 بسكة الأرض باستخدام سلك أزرق.
بعد ذلك، بالنسبة لمصباح LED، قم بتوصيل القاعدة (الساق الأطول) بالسن 15 من ESP32 عبر مقاومة 220 أوم. قم بتوصيل القطب السالب (الساق الأقصر) مباشرة إلى سكة الأرض في لوحة الدائرة. تأكد من أن جميع الاتصالات آمنة وتحقق مرة أخرى من أي أسلاك غير مشدودة.
إعداد لوحة المعلومات
-
زيارةأدا فروت آيو، ثم انقر علىابدأ مجاناًلإنشاء حساب مجاني.

-
املأ النموذج لإنشاء حساب.

-
بعد إنشاء حساب Adafruit، ستحتاج إلى إعادة فتح Adafruit io. انقر علىلوحات المعلومات، ثم انقر علىلوحة معلومات جديدة.

-
أنشئ إصداراًلوحة تحكم جديدة.

-
أدخل المُنشَأ حديثًالوحة المعلوماتوإنشاء كتلة جديدة.

-
إنشاء 1تبديلبلوك.

-
بعد ذلك، ستحتاج إلى إنشاء تغذية جديدة هنا. سيتم استخدام هذا المفتاح للتحكم في الـ LED، وسنسمي هذه التغذية "LED".

-
تحقق من الـإل إي ديقم بالتغذية، ثم انتقل إلى الخطوة التالية.

-
أكمل إعدادات الكتلة (بشكل رئيسي عنوان الكتلة، نص التشغيل، ونص الإيقاف)، ثم انقر على إنشاء كتلةزر في أسفل اليمين لإنهاء.

-
نحن بحاجة أيضًا إلى إنشاء اثنينكتل النصوصالتالي. ستستخدم لعرض درجة الحرارة والرطوبة. لذا، أنشئ تدفقين مسمييندرجة الحرارةورطوبة.

-
بعد الإنشاء، يجب أن يبدو لوحة التحكم الخاصة بك شيئًا مثل هذا:

-
يمكنك ضبط التصميم عن طريق استخدام الـتعديل التخطيطخيار في لوحة التحكم.

-
انقر علىمفتاح واجهة برمجة التطبيقات، وسترى اسم المستخدم الخاص بك ومفتاح APIسجل هذه المعلومات لأنك ستحتاج إليها في الشيفرة الخاصة بك.

أمثلة على الشيفرة وإرشادات التطبيق
يبدأ الكود بإدراج المكتبات الضرورية، وإعداد بيانات اعتماد الواي فاي، وتحديد معلمات MQTT. تشمل المعرفات الرئيسية مثلAIO_USERNAMEوAIO_KEYتُستخدم للمصادقة مع خدمة Adafruit IO.
#define AIO_USERNAME "YourUsername"
#define AIO_KEY "YourKey"تحدد هذه الأسطر اسم مستخدم Adafruit IO و المفتاح الخاص بك، وهما ضروريان للاتصال بوسيط MQTT. تأكد من أن هذه القيم دقيقة لإنشاء اتصال ناجح.
فيsetup()يتم تهيئة اتصال الواي فاي، ويتم إعداد عميل 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 الجذرية في كودك لتجنب هذه المشكلات (في الفيديو في 15:30).
طوابع الفيديو الزمنية
- 00:00 ابدأ
- ١:٥٠ مقدمة عن المشروع
- 3:16 ما هو MQTT
- إعداد Adafruit IO :36
- 11:13 الأسلاك
- كود أردوينو مشروح 13:38
- 22:03 اختيار لوحة ESP32 ومنفذ COM
- 23:44 عرض المشروع
- 27:05 تحديث لوحة المعلومات
Common Course Links
Common Course Files
الموارد والمراجع
-
توثيق
ملفات📁
لا توجد ملفات متاحة.