خادم الويب ESP8266 Weather Monitor Web (بدون Arduino): 4 خطوات
خادم الويب ESP8266 Weather Monitor Web (بدون Arduino): 4 خطوات
Anonim
خادم الويب ESP8266 Weather Monitor Web (بدون Arduino)
خادم الويب ESP8266 Weather Monitor Web (بدون Arduino)

أصبح "إنترنت الأشياء" (IoT) موضوعًا متزايدًا للمحادثة يومًا بعد يوم. إنه مفهوم لا يمتلك فقط القدرة على التأثير على طريقة عيشنا ولكن أيضًا على طريقة عملنا. من الآلات الصناعية إلى الأجهزة القابلة للارتداء - باستخدام أجهزة استشعار مدمجة لجمع البيانات واتخاذ إجراءات بشأن تلك البيانات عبر الشبكة.

لذلك ، قررنا بناء مشروع بسيط للغاية ولكنه مثير للاهتمام بمفهوم - إنترنت الأشياء.

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

لذا ، لنبدأ !!

الخطوة 1: اجمع أدواتك

اجمع أدواتك !!
اجمع أدواتك !!
اجمع أدواتك !!
اجمع أدواتك !!
اجمع أدواتك !!
اجمع أدواتك !!
اجمع أدواتك !!
اجمع أدواتك !!

1 SHT25 حساس الرطوبة ودرجة الحرارة

أصبح مستشعر الرطوبة ودرجة الحرارة عالي الدقة SHT25 من Sensirion معيارًا صناعيًا من حيث عامل الشكل والذكاء: مدمج في حزمة قابلة للحام مزدوجة مسطحة بدون خيوط (DFN) ذات بصمة قدم 3 × 3 مم وارتفاع 1.1 مم توفر معايرة ، إشارات مستشعر خطية بتنسيق رقمي I2C.

1 Adafruit Huzzah ESP8266

المعالج ESP8266 من Espressif عبارة عن متحكم 80 ميجا هرتز مع واجهة WiFi الأمامية كاملة (كعميل ونقطة وصول) ومكدس TCP / IP مع دعم DNS أيضًا. يعد ESP8266 منصة رائعة لتطوير تطبيقات إنترنت الأشياء. يوفر ESP8266 منصة ناضجة لمراقبة التطبيقات والتحكم فيها باستخدام Arduino Wire Language و Arduino IDE.

1 مبرمج USB ESP8266

تم تصميم محول المضيف ESP8266 خصيصًا لإصدار Adafruit Huzzah من ESP8266 ، مما يسمح بواجهة I²C.

1 كابل توصيل I2C

الخطوة 2: توصيل الأجهزة

توصيل الأجهزة
توصيل الأجهزة
توصيل الأجهزة
توصيل الأجهزة
توصيل الأجهزة
توصيل الأجهزة

خذ ESP8266 وادفعه برفق فوق مبرمج USB. ثم قم بتوصيل أحد طرفي كابل I2C بمستشعر SHT25 والطرف الآخر بمبرمج USB. وانت انتهيت. نعم لقد قرأتها بشكل صحيح. لا صداع ، يبدو رائعًا. حق !!

بمساعدة ESP8266 USB Programmer ، من السهل جدًا برمجة ESP. كل ما عليك فعله هو توصيل المستشعر بمبرمج USB وأنت على ما يرام. نحن نفضل استخدام مجموعة المنتجات هذه لأنها تجعل توصيل الأجهزة أسهل كثيرًا. بدون مبرمج USB للتوصيل والتشغيل ، هناك الكثير من مخاطر إجراء اتصال خاطئ. يمكن للأسلاك السيئة أن تقتل شبكة wifi الخاصة بك وكذلك المستشعر الخاص بك.

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

هنا يمكنك التحقق من مجموعة المنتجات بالكامل من خلالهم.

ملاحظة: أثناء إجراء التوصيلات ، يرجى التأكد من توصيل السلك البني لكابل التوصيل بالطرف الأرضي للمستشعر ونفس الشيء بالنسبة لمبرمج USB.

الخطوة 3: الكود

الشفرة
الشفرة
الشفرة
الشفرة
الشفرة
الشفرة
الشفرة
الشفرة

يمكن تنزيل كود ESP8266 الخاص بـ SHT25 من مستودع جيثب الخاص بنا

قبل الانتقال إلى الكود ، تأكد من قراءة الإرشادات الواردة في ملف المستند التمهيدي وإعداد ESP8266 وفقًا لذلك. سيستغرق إعداد ESP 5 دقائق فقط.

الآن ، قم بتنزيل (أو git pull) الكود وافتحه في Arduino IDE.

قم بتجميع وتحميل الكود وشاهد الإخراج على Serial Monitor.

ملاحظة: قبل التحميل ، تأكد من إدخال شبكة SSID وكلمة المرور في الرمز.

انسخ عنوان IP الخاص بـ ESP8266 من Serial Monitor والصقه في متصفح الويب الخاص بك.

سترى خادم ويب مع قراءة الرطوبة ودرجة الحرارة. يظهر إخراج المستشعر على Serial Monitor و Web Server في الصورة أعلاه.

لراحتك ، يمكنك نسخ رمز ESP العامل لهذا المستشعر من هنا أيضًا:

#يشمل

#يشمل

#يشمل

#يشمل

// عنوان SHT25 I2C هو 0x40 (64)

#define Addr 0x40

const char * ssid = "شبكة ssid الخاصة بك" ؛

const char * password = "كلمة المرور الخاصة بك" ؛ الرطوبة العائمة ، cTemp ، fTemp ؛

خادم ESP8266WebServer (80) ؛

معالج باطل ()

{بيانات int غير موقعة [2] ؛

// بدء نقل I2C

Wire.beginTransmission (العنوان) ؛ // أرسل أمر قياس الرطوبة ، لا يوجد HOLD master Wire.write (0xF5) ؛ // إيقاف سلك نقل I2C.endTransmission () ؛ تأخير (500) ؛

// طلب 2 بايت من البيانات

Wire.request From (Addr، 2) ؛

// قراءة 2 بايت من البيانات

// humidity msb، humidity lsb if (Wire.available () == 2) {data [0] = Wire.read ()؛ البيانات [1] = Wire.read () ،

// تحويل البيانات

الرطوبة = (((البيانات [0] * 256.0 + البيانات [1]) * 125.0) / 65536.0) - 6 ؛

// إخراج البيانات إلى Serial Monitor

Serial.print ("الرطوبة النسبية:") ؛ Serial.print (الرطوبة) ؛ Serial.println ("٪ RH") ؛ }

// بدء نقل I2C

Wire.beginTransmission (العنوان) ؛ // إرسال أمر قياس درجة الحرارة ، لا يوجد HOLD master Wire.write (0xF3) ؛ // إيقاف سلك نقل I2C.endTransmission () ؛ تأخير (500) ؛

// طلب 2 بايت من البيانات

Wire.request From (Addr، 2) ؛

// قراءة 2 بايت من البيانات

// temp msb، temp lsb if (Wire.available () == 2) {data [0] = Wire.read ()؛ البيانات [1] = Wire.read () ،

// تحويل البيانات

cTemp = (((البيانات [0] * 256.0 + البيانات [1]) * 175.72) / 65536.0) - 46.85 ؛ fTemp = (cTemp * 1.8) + 32 ؛

// إخراج البيانات إلى Serial Monitor

Serial.print ("درجة الحرارة بالدرجة المئوية:") ؛ Serial.print (cTemp) ؛ Serial.println ("C") ؛ Serial.print ("درجة الحرارة بالفهرنهايت:") ؛ Serial.print (fTemp) ؛ Serial.println ("F") ؛ } // بيانات الإخراج إلى خادم الويب server.sendContent ("<meta http-equiv = 'Refresh' content = '5'""

السيطرة على كل شيء

www.controleverything.com

وحدة مصغرة SHT25 Sensor I2C

") ؛ server.sendContent ("

الرطوبة النسبية = "+ سلسلة (الرطوبة) +"٪ RH ") ؛ server.sendContent ("

درجة الحرارة بالدرجة المئوية = "+ سلسلة (cTemp) +" C ") ؛ server.sendContent ("

درجة الحرارة بالفهرنهايت = "+ سلسلة (fTemp) +" F ") ؛ تأخير (300) ؛}

الإعداد باطل()

{// تهيئة اتصال I2C كـ MASTER Wire.begin (2 ، 14) ؛ // تهيئة الاتصال التسلسلي ، ضبط معدل البث بالباود = 115200 Serial.begin (115200) ؛

// الاتصال بشبكة WiFi

WiFi.begin (SSID ، كلمة المرور) ؛

// انتظر الاتصال

while (WiFi.status ()! = WL_CONNECTED) {delay (500) ؛ Serial.print (".") ؛ } Serial.println ("") ؛ Serial.print ("متصل بـ") ؛ Serial.println (ssid) ؛

// احصل على عنوان IP الخاص بـ ESP8266

Serial.print ("عنوان IP:") ؛ Serial.println (WiFi.localIP ()) ؛

// ابدأ الخادم

server.on ("/"، handleroot)؛ server.begin () ، Serial.println ("بدأ خادم HTTP") ؛ }

حلقة فارغة()

{server.handleClient () ، }

الخطوة 4: الخاتمة

تنقل سلسلة مستشعرات الرطوبة ودرجة الحرارة SHT25 تقنية المستشعر إلى مستوى جديد مع أداء مستشعر لا مثيل له ، ومجموعة من المتغيرات ، وميزات جديدة. مناسب لمجموعة متنوعة من الأسواق ، مثل الأجهزة المنزلية أو الطبية أو إنترنت الأشياء أو HVAC أو الصناعية. بمساعدة ESP8266 ، يمكننا زيادة سعتها إلى طول أكبر. يمكننا التحكم في أجهزتنا ومراقبة الأداء من أجهزة الكمبيوتر المحمولة والأجهزة المحمولة لدينا. يمكننا تخزين البيانات وإدارتها عبر الإنترنت ودراستها في أي وقت لإجراء تعديلات.

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

آمل أن يعجبك هذا الجهد والتفكير في المزيد من الاحتمالات معه. كما قلت أعلاه ، الخيال هو المفتاح.:)

لمزيد من المعلومات حول SHT25 و ESP8266 ، تحقق من الروابط أدناه:

  • SHT25 ورقة بيانات حساس الرطوبة ودرجة الحرارة
  • ورقة البيانات ESP8266

لمزيد من المعلومات ، قم بزيارة ControlEverything.