استخدام Heltec WiFi LoRa 32 V3 لنقل درجة الحرارة باستخدام DHT22 إلى مسافة 1.4 كم

هذه الدرس جزء من: مقدمة عن WiFi LoRa

استخدام Heltec WiFi LoRa 32 V3 لنقل درجة الحرارة باستخدام DHT22 إلى مسافة 1.4 كم

في هذا الدليل، سنتعرف على كيفية استخدام وحدة Heltec WiFi LoRa 32 V3 لنقل بيانات درجة الحرارة من مستشعر DHT22 على مسافات طويلة، حيث يمكن تحقيق نطاق يصل إلى 1.4 كيلومتر. هذه القدرة ممكنة من خلال استخدام تقنية LoRa، التي تسمح بالتواصل منخفض الطاقة بعيدة المدى. بنهاية هذا الدليل، سيكون لديك نظام يعمل يمكنه إرسال قراءات درجة الحرارة لاسلكياً.

واي فاي لورا 32 V3 داخل مشنولوجي N30 RX و TX

سنبدأ بنظرة عامة على مكونات الأجهزة المشاركة في هذا المشروع، بما في ذلك وحدة Heltec WiFi LoRa 32 V3 ومستشعر DHT22. بعد ذلك، سنتوجه إلى تعليمات التوصيل، حيث ستتعلم كيفية ربط هذه المكونات. أخيرًا، سنستعرض الكود المطلوب لجعل هذا النظام عمليًا. للحصول على إرشادات بصرية، يرجى الرجوع إلى الفيديو في أوقات زمنية مختلفة (في الفيديو عند 00:00).

شرح الأجهزة

المكونات الرئيسية لهذا المشروع هي وحدة Heltec WiFi LoRa 32 V3 ومستشعر درجة الحرارة والرطوبة DHT22. تتميز وحدة Heltec بوجود متحكم دقيق ESP32، الذي يوفر قدرات الواي فاي والبلوتوث جنبًا إلى جنب مع الاتصال LoRa. وهذا يسمح بخيارات مرنة لنقل البيانات.

واي فاي لورا 32 V3 داخل موجات نولوجي N30 كم transmitter لدرجة الحرارة

جهاز الاستشعار DHT22 هو جهاز استشعار رقمي يوفر قراءات دقيقة لدرجة الحرارة والرطوبة. يتواصل مع ESP32 من خلال دبوس إخراج رقمي واحد، مما يسهل توصيله واستخدامه في مشاريعك. معًا، تشكل هذه المكونات نظامًا قويًا لمراقبة درجة الحرارة لاسلكيًا.

تفاصيل ورقة البيانات

الشركة المصنعة هلبتك أوتوميشن
رقم الجزء WiFi LoRa 32 V3
جهد المنطق/الإدخال والإخراج ٣٫٣ فولت
جهد الإمداد ٣.٧-٤.٢ ف
التيار الخارجي (لكل قناة) ~1 أ
تيار الذروة (لكل قناة) ~2 أ
توجيه تردد PWM 1 كيلو هرتز (تقريباً)
عتبات منطق الإدخال ٠.٧ فولت (مرتفع)، ٠.٣ فولت (منخفض)
انخفاض الجهد / المقاومةدS(on)/ تشبع 0.3 فولت (أقصى)
الحدود الحرارية 85 °م (最大)
حزمة وحدة PCB
ملاحظات / متنوعات خيارات ترددات متنوعة متاحة (مثل 433 ميجاهرتز، 868 ميجاهرتز، 915 ميجاهرتز)

  • تأكد من تشغيل DHT22 بجهد 3.3 فولت، وليس 5 فولت.
  • استخدم مستويات منطقية مناسبة للتواصل بين ESP32 وDHT22.
  • اعتبر استخدام تبديد الحرارة إذا كنت تعمل عند تيارات عالية لفترات طويلة.
  • تحقق من اتصال الهوائي لـ LoRa لتعظيم المدى.
  • كن حذرًا من لوائح ترددات LoRa في منطقتك.

تعليمات التوصيل

Heltec_WiFi_loRa_32V3_DHT22_wiring

لتوصيل جهاز Heltec WiFi LoRa 32 V3 مع مستشعر DHT22، ابدأ بتوصيل دبوس VCC الخاص بالمستشعر بدبوس 3.3V على وحدة Heltec. بعد ذلك، قم بتوصيل دبوس GND الخاص بـ DHT22 بأحد دبابيس GND على Heltec. يجب توصيل دبوس البيانات الخاص بـ DHT22 بدبوس GPIO 3 على Heltec.

تأكد من استخدام مقاومة سحب (حوالي 10kΩ) بين دبوس البيانات و VCC لقراءات مستقرة. بالإضافة إلى ذلك، تأكد من أن هوائي LoRa متصل بشكل آمن لتحسين نطاق الإرسال. إذا كنت تستخدم طاقة خارجية، فتأكد من أن وحدة Heltec تتلقى الطاقة بشكل صحيح لتجنب أي مشاكل في التشغيل.

تثبيت لوحات هيلتيك ESP32

قم بإضافة هذا المسار إلى تفضيلات IDE الخاص بـ Arduino كما هو موضح في الفيديو:https://resource.heltec.cn/download/package_heltec_esp32_index.json

أمثلة على الشيفرة وجولة توضيحية

توضح مقتطفات الشيفرة التالية كيفية إعداد وحدة Heltec لقراءة بيانات درجة الحرارة من مستشعر DHT22 ونقلها عبر LoRa. تقوم الشيفرة بتهيئة الشاشة وإعداد مستشعر DHT.

#include 
#define DHTPIN 3         // GPIO pin for DHT22
#define DHTTYPE DHT22    // Define DHT type
DHT dht(DHTPIN, DHTTYPE);
void setup() {
  Serial.begin(115200);
  dht.begin(); // Initialize DHT sensor
}

في هذه الشريحة، نحدد الدبوس الذي يتصل به مستشعر DHT22 ونقوم بتهيئته في الـsetup()لا شيءSerial.begin(115200)السطر مخصص لإخراج تصحيح الأخطاء.

void loop() {
  float tempC = dht.readTemperature(); // Read temperature in Celsius
  float tempF = dht.convertCtoF(tempC); // Convert to Fahrenheit
  sendData(tempC, tempF); // Function to send temperature data
}

توضح هذه الفقرة كيفية قراءة بيانات درجة الحرارة في الـloop()وظيفة. الsendData()يتم استدعاء الدالة لنقل قراءات درجة الحرارة عبر LoRa.

void sendData(float tempC, float tempF) {
  String data = "Temperature: " + String(tempC) + "°C"; // Create data string
  Radio.Send(data.c_str(), data.length()); // Send data
}

هنا، نقوم بإنشاء سلسلة البيانات التي تحتوي على درجة الحرارة وإرسالها باستخدام الـRadio.Send()الطريقة. ستقوم هذه بنقل البيانات لاسلكيًا إلى الوحدة المستقبلة.

يرجى الرجوع إلى الشيفرة الكاملة المحملة أسفل المقال للحصول على تنفيذ مفصل.

عرض / ما يمكن توقعه

بمجرد إعداد كل شيء وتحميل الشيفرة على وحدة Heltec، يجب أن ترى قراءات درجة الحرارة معروضة على شاشة OLED. سيقوم النظام بنقل بيانات درجة الحرارة، والتي يمكن استقبالها بواسطة وحدة Heltec أخرى تم تكوينها لقراءة البيانات. يمكنك اختبار النطاق من خلال تحريك جهاز الاستقبال بعيدًا عن جهاز الإرسال، مما يؤكد المسافة القصوى التي تم تحقيقها (في الفيديو عند 1:30).

كن حذرًا من الأخطاء الشائعة مثل الأسلاك الخاطئة، ووجود مصدر طاقة غير كافٍ، أو استخدام تردد LoRa غير الصحيح. تأكد من أن DHT22 يعمل بشكل صحيح وأن الهوائي متصل لتعظيم النطاق.

طوابق الفيديو

  • 00:00 بدء
  • مواصفات 3:51
  • صفحة الوثائق 8:32
  • ٩:٥٢ الحزمة والبطارية
  • 12:58 تشغيله لأول مرة
  • 16:37 تثبيت المكتبة
  • 18:19 الكود الأساسي لجهاز الإرسال
  • 19:43 رمز أساسي للمستلم
  • 20:39 عرض إرسال واستقبال النص
  • ٢٣:٠٢ كود عرض OLED
  • 24:06 نص أساسي على كود عرض OLED
  • نص أساسي حول عرض OLED
  • 26:58 قراءة درجة الحرارة باستخدام DHT22
  • 28:49 درجة حرارة جهاز إرسال LoRa وشاشة العرض
  • 30:07 درجة حرارة مستقبل LoRa والعرض
  • 32:13 تشغيل LED عند زيادة درجة الحرارة
  • اختبار مدى نقل LoRa 22:26
  • 35:01 ديسيبل ميلي وات

الصور

Heltec_WiFi_loRa_32V3_DHT22_wiring
Heltec_WiFi_loRa_32V3_DHT22_wiring
Wifi LoRa 32 V3 inside Meshnology N30 as transmitter of Temperature
Wifi LoRa 32 V3 inside Meshnology N30 as transmitter of Temperature
meshnology-N30-LoRa-v3-red-black
meshnology-N30-LoRa-v3-red-black
Wifi LoRa 32 V3 inside Meshnology N30 RX and TX
Wifi LoRa 32 V3 inside Meshnology N30 RX and TX
563-Printing Simple Text on the screen of WiFi LoRa 32 V3
اللغة: C++
773-Transmitter Code for Heltec WiFi LoRa 32 V3 to send temperature using DHT11, DHT22
اللغة: C++
867-Receiver Code for Heltec WiFi LoRa 32 to receive and display Temperature
اللغة: C++
تم النسخ!

Common Course Files

ملفات📁

ملفات أخرى