جدول المحتويات:
- الخطوة 1: ما تحتاجه …
- الخطوة 2: ابدأ بإعداد أجهزة الاستشعار BME 280
- الخطوة 3: كود BME 280 Nodemcu ESP8266
- الخطوة 4: نجاح جهاز الاستشعار BME280 + استكشاف الأخطاء وإصلاحها
- الخطوة 5: إعداد جهاز مستشعر التربة
- الخطوة 6: كود DS18B20 Nodemcu ESP8266
- الخطوة 7: نجاح مستشعر التربة واستكشاف الأخطاء وإصلاحها
- الخطوة 8: الإنهاء
فيديو: مستشعرات التمديد Nodemcu ESP8266 لـ Weewx: 8 خطوات (بالصور)
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:41
هذا أمر مفيد لإضافة أجهزة استشعار إلى برنامج محطة الطقس weewx.
إذا لم يكن لديك weewx ، فيمكنك تعلم بعض الأشياء في هذا البرنامج التعليمي.
تحتاج إلى بعض المعرفة الأساسية برمز Arduino وكيفية التحميل على الجهاز.
تجد معلومات weewx هنا:
ما تقوم ببنائه هو جهازان:
1 يقوم الجهاز بإرسال درجة الحرارة والرطوبة إلى برنامج weewx.
1 يقوم الجهاز بإرسال درجات حرارة التربة لأعماق الأرض المختلفة إلى برنامج weewx.
أول جهاز لدينا هو مستشعر BME 280.
جهازنا الثاني عبارة عن سلسلة من 3 مستشعرات درجة حرارة DS18B20. (يمكنك إضافة المزيد إذا أردت).
لنبدأ:
الخطوة 1: ما تحتاجه …
Weewx وتشغيله + الوصول إلى خادم weewx. (على سبيل المثال raspberry PI 3).
2 وحدات Nodemcu ESP8266
3 مستشعرات DS18B20 أو أكثر
1 مستشعر BME 280 كومبو
1 أنبوب ألومنيوم أو ما شابه بقطر 10 مم وسمك جدار 1 مم وحوالي. 1 متر طويل
1 حافظة مقاومة للماء مع غدة كابل وصمولة قفل.
1 مصدر طاقة 5 فولت (محمل متنقل على سبيل المثال).
بعض الأسلاك وأجهزة اللحام.
تجد مستشعر BME280 ووحدات Nodemcu على موقع ئي باي.
بالنسبة لأنابيب الألومنيوم ، اخترت متجرًا محليًا للأجهزة
بالنسبة إلى DS18B20 والحالة المقاومة للماء ، أستخدم www.reichelt.de
www.reichelt.de/DS-18B20/3/index.html؟
www.reichelt.de/EL-FK-110/3/index.html؟
ومجموعة غدد الكابلات بصواميل القفل
www.reichelt.de/Kabelverschraubungen-Bopla…
بالنسبة لـ bme280 ، يمكنك استخدام العلبة المتفرعة اختياريًا
www.reichelt.de/Installationsmaterial/EL-D…
الخطوة 2: ابدأ بإعداد أجهزة الاستشعار BME 280
جندى الشريط في BME280.
ثم توصيل BME بـ Nodemcu:
BME VIN إلى 3.3 فولت
BME GND إلى GND
SCL إلى D4
SDA إلى D3
إذا أردت يمكنك وضع الجهاز في غلاف ، ولكن تأكد من وجود بعض الثقوب في السكن ، بحيث تكون قيم الرطوبة ودرجة الحرارة صحيحة.
الخطوة 3: كود BME 280 Nodemcu ESP8266
للحصول على الكود ، يمكنك استخدام مستودعات github الخاصة بي:
github.com/Landixus/BME280_TO_SERVER_WEEWX
يحتاج ملف ino إلى بعض الإدخالات منك:
عنوان IP لخادم weewx أو عنوان URL الخاص بك
والمسار حيث يوجد ملف php ، تأكد من أن المنطقة قابلة للكتابة.
اخترت public_html dir لأنه خادم منزلي.
إذا كنت ترغب في استنساخ مستودعات git ، وتثبيت git على خادمك ، فيمكنك النسخ باستخدام الأمر:
"git clone" https://github.com/Landixus/BME280_TO_SERVER_WEEWX"
الآن نحن بحاجة إلى القيام ببعض الأشياء على خادم weewx الخاص بنا.
تحتاج إلى جعل المسارات إلى الإعدادات الخاصة بك!
في
/ home / weewx / public_html
إنشاء مجلد بيانات
في مجلد البيانات ، أنشئ ملف bme.txt على سبيل المثال باستخدام:
نانو bme.txt
يجب أن يكون الملف فارغًا.
اجعلها قابلة للكتابة باستخدام:
chmod -R 777 bme.txt
(لا تفعل هذا أبدًا على خادم يمكن الوصول إليه عبر الإنترنت!)
في المجلد
/ home / weewx / public_html
يمكنك وضع bme.php الخاص بي من ريبو github.
الحيلة هي أن ملف INO يرسل القيم إلى bme.php ويكتب bme.php البيانات في bme.txt
في التالي ، نحتاج إلى إضافة الخدمة في weewx
ضع ملف bme.py في المجلد
/ home / weewx / bin / user
افتح ملف weewx.conf في المجلد
/ المنزل / weewx
من الجيد دائمًا الاحتفاظ بنسخة احتياطية قبل تحرير هذا الملف!
انزل إلى line Engine واجعل الخط يشبه خطي:
[محرك]
# يحدد هذا القسم الخدمات التي يجب تشغيلها. هم انهم
# مجمعة حسب النوع وترتيب الخدمات داخل كل مجموعة
# يحدد الترتيب الذي سيتم تشغيل الخدمات به.
data_services = user.pond. PondService، user.bme.bme
إعادة تشغيل weewx باستخدام:
sudo /etc/init.d/weewx stop
بدء sudo /etc/init.d/weewx
مع الأمر
ذيل -f / var / log / syslog
يمكنك البحث في ملف السجل عن الأخطاء أو النجاح ، ابحث عن إخراج bme: تم العثور على قيمة …
امنح خادمك بعض الدقائق لتوليد إخراج في "my" weewx.conf كل 5 دقائق.
إذا كان لديك رسالة خطأ تحقق من مساراتك.
إذا كانت لديك قيم ، فيمكنك الانتقال لإظهارها على صفحة الويب:
فتح الجلد
/ home / weewx / جلود / قياسي
اذهب إلى:
# هذا ربما يكون خاصًا بمحطتي!
extraTemp3 = BME1 درجة الحرارة الإضافية 1 = الرطوبة BME1
احفظ الملف وافتحه في نفس المجلد
index.html.tmpl
ابحث عن خط:
#if $ day.extraTemp..
#إنهاء إذا
بعد أول # نهاية إذا وجدت ، ضع مستشعر BME الخاص بك مع:
^ ^ آسف ولكن لا يمكن وضع هذا كنص:(احفظ الملف واخرج.
ليست هناك حاجة لإعادة تشغيل weewx.
أنت الآن بحاجة إلى تغذية NODEMCU ESP8266 بملف Arduino.
لا تنس إعداد wifi الخاص بك والعناوين في الملف.
بعد التحميل تحقق من الإخراج التسلسلي للأخطاء.
بعد فترة قصيرة سترى القيم على موقع الويب الخاص بك weewx.
الخطوة 4: نجاح جهاز الاستشعار BME280 + استكشاف الأخطاء وإصلاحها
بعض النصائح لك:
افتح أكثر من 1 وحدة تحكم عن طريق المعجون
على وحدة تحكم واحدة ، قم بإجراء تغييراتك ، وعلى وحدة التحكم الأخرى ، اقرأ سجل النظام الخاص بك مباشرةً باستخدام:
ذيل -f / var / log / syslog
إذا كان لديك خطأ ، فابحث عن ملف السجل أولاً.
يجب أن يبدو إخراجك مشابهًا لي:
الخطوة 5: إعداد جهاز مستشعر التربة
بالنسبة لمستشعر DS18B20 ، نحتاج إلى إنشاء نظام ناقل مع بعض الأسلاك واللحام.
تحقق من DS18B20 الخاص بك
البيانات ، GND ، VCC
بين VCC و DATA ، تحتاج إلى مقاوم 4.7K. يكفي إذا كان لديك المقاوم في DS18B20 الأول
DS18B20 الآخر متوازي مع بعضها البعض.
قياس الطول لاحتياجاتك. جندى سلسلة معًا ، لقد قمت بتأمين المسامير بأنبوب الانكماش.
للاختبار ، تقوم بتوصيل DATA بـ D3 و VCC بـ VCC (3.3 فولت) و GND بـ GND.
بالنسبة لخيار النوم العميق ، تحتاج إلى إرفاق جسر بين RST و D0 (GPIO16)
يجب ألا تضع السلسلة في أنبوب الألمنيوم الآن ، قم بإجراء اختباراتك من قبل!
الخطوة 6: كود DS18B20 Nodemcu ESP8266
للحصول على الكود ، يمكنك استخدام مستودعات GITHUB الخاصة بي:
github.com/Landixus/multipleDS18B20WeeWX
يحتاج ملف ino أيضًا إلى بعض الإدخالات منك: عنوان IP لخادم weewx أو عنوان URL الخاص بك والمسار الذي وضعت فيه ملف php ، تأكد من أن المنطقة قابلة للكتابة واختر public_html dir لأنه خادم منزلي.
إذا كنت ترغب في استنساخ مستودعات git وتثبيت git على الخادم الخاص بك ، فيمكنك النسخ باستخدام الأمر git clone
الآن نحن بحاجة إلى القيام ببعض الأشياء التي يعمل كل شيء على خادم weewx الخاص بنا.
تحتاج إلى جعل المسارات إلى الإعدادات الخاصة بك في
/ home / weewx / public_html
قم بإنشاء مجلد "بيانات" في مجلد البيانات ، قم بإنشاء ds18b20.txt على سبيل المثال nano ds18b20.txt ، يجب أن يكون النص emtpy. اجعله قابلاً للكتابة باستخدام chmod -R 777 ds18b20.txt (لا تفعل ذلك أبدًا على خادم يمكن الوصول إليه عبر الإنترنت!) في المجلد / home / weewx / public_html ، يمكنك وضع ground.php لممثل github الخاص بي. الحيلة هي أن ملف INO يرسل القيم إلى ground.php ويكتب ground.php البيانات في ds18b20.txt بعد ذلك نحتاج إلى إضافة الخدمة في weewx ضع ds18b20.py في المجلد / home / weewx / bin / المستعمل
افتح ملف weewx.conf في المجلد / home / weewx
من الجيد دائمًا الاحتفاظ بنسخة احتياطية قبل تحرير هذا الملف!
النزول إلى السطر:
[محرك]
# مجمعة حسب النوع وترتيب الخدمات داخل كل مجموعة
# يحدد الترتيب الذي سيتم تشغيل الخدمات به.
prep_services = weewx.engine. StdTimeSynch، data_services = user.pond. PondService، user.bme.bme، user.ds18b20.ds18b20 أضف المضمن بعد فاصلة
يجب أن يبدو "user.ds18b20.ds18b20" مثل السطر العلوي ^ ^
إعادة تشغيل weewx باستخدام:
sudo /etc/init.d/weewx stop
بدء sudo /etc/init.d/weewx
باستخدام الأمر tail -f / var / log / syslog ، يمكنك البحث في ملف السجل عن الأخطاء أو البحث عن نتيجة ناجحة ds18b20: تم العثور على قيمة أعطِ خادمك بعض الدقائق لتوليدها ، في ملفي weewx.conf كل 5 دقائق يخرج وضع. إذا كان لديك رسالة خطأ تحقق من مساراتك. إذا كانت لديك قيم يمكنك الانتقال لإظهارها على الصفحة: افتح
skin.conf in / home / weewx / skins / Standard انتقل إلى:
# هذا ربما يكون خاصًا بمحطتي!
يضيف
التربةTemp1 = DS18B201
التربةTemp2 = DS18B202
التربةTemp3 = DS18B203
احفظ الملف وافتحه في نفس المجلد index.html.tmpl ابحث عن سطر:
#if $ day.extraTemp..…
#إنهاء إذا
بعد أول # نهاية إذا وجدت ضع مستشعر GroundSensor الخاص بك مع:
^ ^ آسف ولكن لا يمكن وضع هذا كنص: (احفظ الملف واخرج. ليست هناك حاجة لإعادة تشغيل weewx. الآن تحتاج إلى تغذية NODEMCU ESP8266 بملف Arduino.
لا تنس إعداد wifi الخاص بك والعناوين في الملف. بعد التحميل تحقق من الإخراج التسلسلي للأخطاء.
بعد فترة قصيرة سترى القيم على موقع الويب الخاص بك weewx.
الخطوة 7: نجاح مستشعر التربة واستكشاف الأخطاء وإصلاحها
إذا كان لديك كل العمل ورأيت القيم ، فاخرج وضع أنبوب الألومنيوم في الأرض.
هناك طريقة جيدة تتمثل في وضع الغراء الساخن في جانب واحد من الأنبوب ثم الضغط على الأنبوب معًا ، ثم يكون لديك سطح جميل لجعله أسهل في الأرض.
ضع الأنبوب أولاً في الأرض ، يمكنك المطرقة بلوحة خشبية.
إذا كان الأنبوب عميقًا بما يكفي ، يمكنك وضع سلسلة ds18b20 وأسلاك الطاقة في الصندوق المقاوم للماء.
تأكد من أن wifi الخاص بك يعمل في هذا المكان!
إذا كنت لا تعرف ما هو عمق المستشعر ، فهناك احتمالان.
أضع 1 ds18b20 في المرحلة بين إصبعك ، ترتفع درجة الحرارة لهذا.
عندما يكون الأنبوب في الأرض بالفعل ، يكون الوضع الطبيعي هو أعلى قيمة أعمق نقطة.
الخطوة 8: الإنهاء
فقط النهاية
انشر أسئلتك وأظهر موظفيك المؤقتين في التعليقات!
لمزيد من المساعدة ، انضم إلى مجموعات Google weewx على:
groups.google.com/forum/#!forum/weewx-user
موصى به:
كيفية جعل أتمتة المنزل القائمة على إنترنت الأشياء باستخدام مرحل التحكم في مستشعرات NodeMCU: 14 خطوة (بالصور)
كيفية جعل أتمتة المنزل القائمة على إنترنت الأشياء باستخدام مرحل التحكم في مستشعرات NodeMCU: في هذا المشروع القائم على إنترنت الأشياء ، قمت بعمل أتمتة المنزل باستخدام وحدة تحكم Blynk و NodeMCU مع ردود فعل في الوقت الفعلي. في الوضع اليدوي ، يمكن التحكم في وحدة الترحيل هذه من الهاتف المحمول أو الهاتف الذكي والمفتاح اليدوي. في الوضع التلقائي ، هذا ذكي
جهاز التمديد الحسي لشعر القط يمكن ارتداؤه (2.0): 6 خطوات (مع صور)
التمديد الحسي من Cat Whisker يمكن ارتداؤه (2.0): هذا المشروع هو استمرار وإعادة تصور لزملائي السابق (metaterra) & quot؛ Whisker Sensory Extension Weaisker & quot ؛. كان الغرض من هذا المشروع هو التركيز على إنشاء "امتدادات حسية" جديدة ومُثبَّتة حسابيًا والتي
احصل على قص واقي من الصدمات باستخدام مستشعرات الرطوبة و ARDUINO: 4 خطوات (بالصور)
احصل على محصول ممتص مع مستشعرات الرطوبة و ARDUINO: يجب أن أكون مدمنًا على Instructables بين العمل والقيام بمهام المنزل لمواصلة مشاركة معرفتي بدون نقود على Instructables كتابة تعليمات أخرى. العثور على بعض التعليمات
استخدام مستشعرات درجة الحرارة ومياه الأمطار والاهتزاز على Arduino لحماية السكك الحديدية: 8 خطوات (بالصور)
استخدام مستشعرات درجة الحرارة ومياه الأمطار والاهتزاز على Arduino لحماية السكك الحديدية: في المجتمع المعاصر ، تعني الزيادة في عدد ركاب السكك الحديدية أنه يجب على شركات السكك الحديدية بذل المزيد من الجهد لتحسين الشبكات لمواكبة الطلب. في هذا المشروع سوف نوضح على نطاق صغير كيف يمكن لأجهزة استشعار درجة الحرارة ومياه الأمطار والاهتزاز
مستشعرات قرب الأشعة تحت الحمراء الرخيصة لروبوتات الأردوينو: 6 خطوات (بالصور)
مستشعرات قرب الأشعة تحت الحمراء الرخيصة لروبوتات Arduino: مستشعرات القرب بالأشعة تحت الحمراء هذه صغيرة وسهلة الصنع ورخيصة جدًا! إنها تعمل بشكل رائع على الروبوتات ، ومتابعة الخط ، واستشعار الحواف ، واستشعار الحد الأدنى من المسافة. كما أنها غير مكلفة للغاية