جدول المحتويات:
- الخطوة 1: الأشياء التي تحتاجها
- الخطوة 2: احصل على مكتبات DHT11
- الخطوة 3: التوصيلات
- الخطوة 4: رمز نقطة الوصول
- الخطوة 5: الخطوة النهائية: الاختبار
فيديو: ESP8266 NodeMCU Access Point (AP) لخادم الويب مع مستشعر درجة الحرارة DT11 ودرجة حرارة الطباعة والرطوبة في المستعرض: 5 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:38
مرحبًا يا رفاق في معظم المشاريع التي نستخدمها ESP8266 وفي معظم المشاريع نستخدم ESP8266 كخادم ويب بحيث يمكن الوصول إلى البيانات على أي جهاز عبر شبكة wifi عن طريق الوصول إلى خادم الويب الذي يستضيفه ESP8266 ولكن المشكلة الوحيدة هي أننا بحاجة إلى جهاز توجيه يعمل من أجل يحتاج هذا وجهازنا أيضًا إلى الاتصال بالموجه ونحتاج إلى وضع بيانات اعتماد wifi الخاصة بنا في الكود ، لذلك إذا قمت بتغيير wifi ، فأنت بحاجة إلى تغيير بيانات الاعتماد في الكود وتحتاج إلى إعادة تحميله.: 1- نحتاج إلى اتصال wifi لاستضافة خادم الويب (جهاز التوجيه) 2- في كل مرة إذا احتاج اتصال wifi إلى تغيير ، نحتاج إلى إدخال بيانات الاعتماد وإعادة تحميل الكود. لذلك لتجنب كل هذه المشكلة ، ما يمكننا القيام به هو بدلاً من إعطاء الوصول إلى شبكة wifi يمكننا أن نجعل ESP8266 لإنشاء اتصال wifi خاص به ، لذلك إذا اتصلنا باتصال wifi هذا ، يمكننا الوصول إلى خادم الويب ESP8266 ، لذلك سنستضيف خادم ويب مع ESP8266 مع نقطة وصول. سوف تخلق خادم ويب يستخدم Access Point مع ESP8266 وسنقوم بتوصيل مستشعر DHT11 ودرجة حرارة الطباعة والرطوبة على صفحة خادم الويب.
الخطوة 1: الأشياء التي تحتاجها
1x ESP 8266 Nodemcu: 1x DHT11: 1x لوح التجارب:.: عدد قليل من وصلات العبور:
الخطوة 2: احصل على مكتبات DHT11
افتح Arduino IDE وانتقل إلى Sketch> Include Library> Manage Libraries. يجب أن يفتح مدير المكتبة. ابحث عن "DHT" في مربع البحث وقم بتثبيت مكتبة DHT من Adafruit. بعد تثبيت مكتبة DHT من Adafruit ، اكتب "Adafruit Unified Sensor" في مربع البحث. قم بالتمرير لأسفل للعثور على المكتبة وتثبيتها ، وبعد تثبيت المكتبات ، أعد تشغيل Arduino IDE.
الخطوة 3: التوصيلات
الدائرة سهلة جدًا لتوصيل كل شيء وفقًا لما هو موضح في schmatics
الخطوة 4: رمز نقطة الوصول
من التعليمات السابقة الخاصة بي ، سأقوم بتعديل رمز خادم الويب الخاص بهذه التعليمات:
وقم بتحويله إلى رمز خادم الويب الخاص بنقطة الوصول ، يرجى نسخ الكود الوارد أدناه:
# تضمين "Arduino.h" # تضمين "ESP8266WiFi.h"
# تضمين "Hash.h"
# تضمين "ESPAsyncTCP.h"
# تضمين "ESPAsyncWebServer.h"
# تضمين "Adafruit_Sensor.h"
# تضمين "DHT.h"
const char * ssid = "ESP8266" ؛ const char * password = "password" ؛ # حدد DHTPIN 5 // الدبوس الرقمي المتصل بمستشعر DHT // قم بإلغاء تعليق نوع المستشعر المستخدم: // # حدد DHTTYPE DHT11 // DHT 11 # حدد DHTTYPE DHT22 // DHT 22 (AM2302) // # حدد DHTTYPE DHT21 // DHT 21 (AM2301) DHT dht (DHTPIN ، DHTTYPE) ؛ // درجة الحرارة والرطوبة الحالية ، محدثة في حلقة () تعويم t = 0.0 ؛ float h = 0.0 ؛ // إنشاء كائن AsyncWebServer على المنفذ 80AsyncWebServer server (80) ؛ // بشكل عام ، يجب عليك استخدام "unsigned long" للمتغيرات التي تحتوي على الوقت // ستصبح القيمة بسرعة كبيرة جدًا بحيث لا يمكن تخزينها قبل فترة طويلة غير موقعة = 0 ؛ // سيتم تخزين آخر مرة تم فيها تحديث DHT // تحديث قراءات DHT كل 10 ثوانٍ ؛ فاصل زمني طويل = 10000 ؛ const char index_html PROGMEM = R "rawliteral (ESP8266 DHT Server
درجة الحرارة٪ TEMPERATURE٪ ° C
رطوبة٪ رطوبة٪٪) rawliteral "؛ // يستبدل العنصر النائب بقيم DHT ومعالج السلسلة (const String & var) {//Serial.println(var)؛ if (var ==" TEMPERATURE ") {return String (t)؛} وإلا إذا (var == "HUMIDITY") {return String (h)؛} return String ()؛} void setup () {// المنفذ التسلسلي لأغراض التصحيح Serial.begin (115200)؛ dht.begin ()؛ Serial.print ("إعداد AP (نقطة الوصول) … ") ؛ // قم بإزالة معلمة كلمة المرور ، إذا كنت تريد أن تكون نقطة الوصول (نقطة الوصول) مفتوحة WiFi.softAP (ssid ، كلمة المرور) ؛ IPAddress IP = WiFi.softAPIP () ؛ Serial.print (" عنوان IP لـ AP: ") ؛ Serial.println (IP) ؛ // طباعة ESP8266 عنوان IP المحلي Serial.println (WiFi.localIP ()) ؛ // مسار لخادم صفحة الويب / الجذر. على (" / "، HTTP_GET ، (AsyncWebServerRequest * request) {request-> send_P (200، "text / html"، index_html، processor)؛})؛ server.on ("/ temperature"، HTTP_GET، (AsyncWebServerRequest * request) {request- > send_P (200، "نص / عادي"، String (t).c_str ())؛})؛ server.on ("/ humidity"، HTTP_GET، (AsyncWebServerRequest * request) {request-> send_P (200، "نص عادي"، سلسلة (h).c_str ()) ؛ }) ؛ // بدء الخادم server.begin () ؛} حلقة فارغة () {غير موقعة long currentMillis = millis () ؛ if (currentMillis - previousMillis> = الفاصل الزمني) {// احفظ آخر مرة قمت فيها بتحديث قيم DHT previousMillis = currentMillis ؛ // قراءة درجة الحرارة مئوية (الافتراضي) float newT = dht.readTemperature () ؛ // قراءة درجة الحرارة على أنها فهرنهايت (isFahrenheit = true) // float newT = dht.readTemperature (true) ؛ // إذا فشلت قراءة درجة الحرارة ، لا تغير قيمة t إذا (isnan (newT)) {Serial.println ("فشل للقراءة من مستشعر DHT! ") ؛ } else {t = newT؛ Serial.println (t) ؛ } // قراءة الرطوبة العائمة newH = dht.readHumidity ()؛ // إذا فشلت قراءة الرطوبة ، لا تغير قيمة h إذا (isnan (newH)) {Serial.println ("Failed to read from DHT sensor!")؛ } آخر {h = newH؛ Serial.println (ح) ؛ }}} قبل تحميل الكود تأكد من وضع الأشياء التالية: const char * ssid = "ESP8266"؛ // أيا كان SSID الخاص بشبكة wifi التي تريدهاconst char * password = "password" ؛ // pass للاتصال بـ ssidSet أعلاه. ESP8266 كنقطة وصول: لتعيين esp8266 كنقطة وصول ، سنستخدم أمر softAP كما هو موضح أدناه ؛ لإنشاء نقطة وصول. WiFi.softAP (ssid ، كلمة المرور) ؛ هناك أيضًا معلمات اختيارية أخرى يمكنك تمريرها إلى طريقة softAP (). إليك جميع المعلمات: إذا فتحت الشاشة التسلسلية ، يمكنك رؤية عنوان IP الخاص بنقطة الوصول. يتم ذلك باتباع جزء من الكود. IPAddress IP = WiFi.softAPIP () ؛ Serial.print ("عنوان IP لـ AP:") ؛ Serial.println (IP) ؛ عنوان IP الافتراضي هو: 192.168.4.1
الخطوة 5: الخطوة النهائية: الاختبار
بعد تحميل الكود ، افتح هاتفك المحمول / جهاز الكمبيوتر الشخصي wifi واتصل بشبكة wifi esp8266 (بغض النظر عن ssid وكلمة المرور اللذين أدخلتهما في الرمز ، استخدم ذلك) ، بعد الاتصال فقط افتح عنوان IP في متصفحك الذي حصلنا عليه من الشاشة التسلسلية (https://192.168.4.1.) وستكون قادرًا على رؤية درجة الحرارة والرطوبة في متصفحك على أنها ملكي. ولم نستخدم أي شبكة wifi للقيام بذلك ، فهذه هي طريقة عمل نقطة الوصول esp8266.
موصى به:
ESP8266 مراقبة درجة حرارة Nodemcu باستخدام DHT11 على خادم ويب محلي - احصل على درجة حرارة الغرفة ورطوبتها على متصفحك: 6 خطوات
ESP8266 مراقبة درجة حرارة Nodemcu باستخدام DHT11 على خادم ويب محلي | احصل على درجة حرارة الغرفة ورطوبتها على متصفحك: مرحبًا يا شباب اليوم سنصنع الرطوبة & amp؛ نظام مراقبة درجة الحرارة باستخدام ESP 8266 NODEMCU & amp؛ جهاز استشعار درجة الحرارة DHT11. سيتم الحصول على درجة الحرارة والرطوبة من مستشعر DHT11 & amp؛ يمكن رؤيته على متصفح أي صفحة ويب ستتم إدارتها
قراءة درجة الحرارة باستخدام مستشعر درجة الحرارة LM35 مع Arduino Uno: 4 خطوات
قراءة درجة الحرارة باستخدام مستشعر درجة الحرارة LM35 مع Arduino Uno: مرحبًا يا رفاق في هذه التعليمات ، سوف نتعلم كيفية استخدام LM35 مع Arduino. Lm35 هو مستشعر لدرجة الحرارة يمكنه قراءة قيم درجة الحرارة من -55 درجة مئوية إلى 150 درجة مئوية. إنه جهاز ثلاثي الأطراف يوفر جهدًا تناظريًا يتناسب مع درجة الحرارة. عالية
كيفية استخدام مستشعر درجة الحرارة DHT11 مع Arduino ودرجة حرارة الطباعة والرطوبة: 5 خطوات
كيفية استخدام مستشعر درجة الحرارة DHT11 مع Arduino ودرجة حرارة الطباعة والرطوبة: يستخدم مستشعر DHT11 لقياس درجة الحرارة والرطوبة. إنهم هواة إلكترونيات مشهورون جدًا. يجعل مستشعر الرطوبة ودرجة الحرارة DHT11 من السهل حقًا إضافة بيانات الرطوبة ودرجة الحرارة إلى مشاريع الإلكترونيات الخاصة بك. إنه في
خادم الويب Esp32 درجة الحرارة والرطوبة باستخدام PYTHON & Zerynth IDE: 3 خطوات
خادم الويب Esp32 لدرجة الحرارة والرطوبة باستخدام PYTHON & Zerynth IDE: يعتبر Esp32 وحدة تحكم دقيقة رائعة ، فهي قوية تمامًا مثل Arduino ولكنها أفضل من ذلك! لديها اتصال Wifi ، مما يتيح لك تطوير مشاريع IOT بسعر رخيص وبسهولة. الأجهزة محبطة ، أولاً ليست مستقرة ، ثانية
ميزان حرارة للطهي بمسبار درجة الحرارة ESP32 NTP مع تصحيح Steinhart-Hart وإنذار درجة الحرارة: 7 خطوات (بالصور)
ميزان حرارة للطهي بمسبار درجة الحرارة ESP32 NTP مع تصحيح Steinhart-Hart وإنذار درجة الحرارة: لا يزال في رحلة لإكمال & quot؛ المشروع القادم & quot ؛، & quot؛ ESP32 NTP ميزان حرارة للطهي بمسبار درجة الحرارة مع تصحيح Steinhart-Hart وإنذار درجة الحرارة & quot؛ هو Instructable يوضح كيف يمكنني إضافة مسبار درجة حرارة NTP ، بيزو ب