جدول المحتويات:

ساعة محطة الطقس ESP8266: 4 خطوات
ساعة محطة الطقس ESP8266: 4 خطوات

فيديو: ساعة محطة الطقس ESP8266: 4 خطوات

فيديو: ساعة محطة الطقس ESP8266: 4 خطوات
فيديو: Smart NTP Clock & Weather Station Using ESP8266 Nodemcu 2024, شهر نوفمبر
Anonim
ESP8266 ساعة محطة الطقس
ESP8266 ساعة محطة الطقس

هذا المشروع هو طريقة جميلة لعرض الوقت والطقس في حزمة صغيرة مريحة. سأشرح المشروع وكيف يعمل وأعرض الكود هنا.

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

ليست هناك حاجة لضبط الوقت حيث تتم مزامنة الوقت من خادم NTP وهو دقيق للغاية. في هذا التكوين لدي الوقت وعنوان IP المحلي. يمكنك تغيير الكود ليشمل التاريخ والطقس والضغط ودرجة الحرارة لعرضه على الشاشة الرئيسية أو على الأزرار.

الخطوة 1: التخطيطي

التخطيطي
التخطيطي
التخطيطي
التخطيطي

التخطيطي بسيط نسبيًا وسهل الاستخدام

إتبع. يوجد ملف جربر إذا كنت ترغب في تدوير PCB الخاص بك. يتم تشغيل الدائرة بأكملها بواسطة 5 فولت قادم من وصلة USB صغيرة. هذا يجعل الدائرة بسيطة وسهلة التشغيل. يتم تغذية 5V في منظم Low Dropout 3.3V و LM 3940 الذي يعطي 3.3V لـ ESP8266. يوجد موصل USB على ESP8266 ومع ذلك ، اخترت عدم استخدامه بشكل عام لأن 5V يقود شاشة LCD أيضًا.

يجب استخدام 3.3 فولت مع ESP8266 ، ولا يمكنك قيادتها مباشرةً بجهد 5 فولت لأنها ستقتل اللوحة.

يتم توصيل المفتاحين اللمسيين بـ D5 و D6 وتم تكوينهما في الكود لإحضار معلومات مختلفة على الشاشة. لقد تم ضبط هذه على درجة الحرارة / الضغط والتنبؤ.

يتم لحام جميع المكونات يدويًا بسهولة على لوحة التحكم أو يتوفر جربر في GitHub الخاص بي على

الخطوة الثانية: الكود

github.com/allenelectronics/esp8266weatherstation

يتم تجميع الكود في Arduino IDE ويحتاج إلى بعض التكوين للعمل

أولاً ، تحتاج إلى تثبيت لوحة ESP8266 على IDE من أجل تحميل الكود عليها.

إرشادات شاملة حول كيفية القيام بذلك هنا:

للحصول على وظيفة الطقس ، اخترت استخدام RemoteMe الذي يجمع بيانات الطقس مباشرة من API وينشئ رمزًا يمكن إدراجه في الكود الخاص بك. ستحتاج إلى التسجيل وإعداد دفق البيانات على موقع الويب الخاص بهم:

يمكن العثور على وثائق حول RemoteMe هنا:

هناك بعض التعريفات المحددة الفريدة لإعدادك والتي ستحتاج إلى إكمالها قبل التحميل:

#define WIFI_NAME "SSID يذهب هنا"

#define WIFI_PASSWORD "كلمة المرور تظهر هنا"

#define DEVICE_ID 1

#define DEVICE_NAME "احصل عليه من REMOTEME. ORG"

#define Token "احصل عليه من REMOTEME. ORG"

يجب تعيين التعريفات هنا بناءً على تفاصيل wifi الخاصة بك والرمز المميز الذي تحصل عليه من RemoteMe.

تحتاج إلى التأكد من تثبيت جميع هذه المكتبات وإدراجها في الكود. لقد قمت بتضمين روابط لتلك التي يصعب الحصول عليها.

# تضمين //https://github.com/remoteme/RemoteMeArduinoLibrary

#يشمل

#يشمل

#يشمل

#يشمل

الجزء الأخير الذي يحتاج إلى تغيير هو موقعك لأن هذا المشروع لا يستخدم نظام تحديد المواقع العالمي (GPS). تحتاج إلى تعديل سلسلة "LOCATION":

وإلا إذا (buttonState2 == LOW && prevButtonState2 == HIGH) {

Serial.print ("الموقع / n") ؛

Serial.println (fc) ؛

lcd.clear () ؛

lcd.print ("الموقع") ؛

lcd.setCursor (0 ، 1) ؛

lcd.print (fc) ؛

lcd.setCursor (0 ، 0) ؛

تأخير (5000) ؛

prevButtonState2 = buttonState2 ؛

الخطوة 3: The Build

البناء
البناء
البناء
البناء

البناء

في الوقت الذي لم يكن لدي فيه إمكانية الوصول إلى طابعة ثلاثية الأبعاد ، كان هذا هو مشروعي الأخير باستخدام علبة جاهزة. لقد استخدمت حالة لوحة إنذار متوفرة بسهولة وهي مصممة لشاشة LCD مقاس 16 × 2.

الرابط: https://www.ebay.co.uk/itm/86-Plastic-project-box-enclosure-case-for-diy-LCD1602-meter-tester-with-buttGA/363214674235؟hash=item549148193b:g: IvQAAOSwNXpcFFrv

كل شيء محشو داخل العلبة ، يتم لصق شاشة LCD مقاس 16 × 2 على اللوحة الأمامية مع لوحة الدائرة اللاصقة في مكانها.

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

استنتاج

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

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

موصى به: