فهرست مطالب:

سنسورهای فرمت Nodemcu ESP8266 برای Weewx: 8 مرحله (همراه با تصاویر)
سنسورهای فرمت Nodemcu ESP8266 برای Weewx: 8 مرحله (همراه با تصاویر)

تصویری: سنسورهای فرمت Nodemcu ESP8266 برای Weewx: 8 مرحله (همراه با تصاویر)

تصویری: سنسورهای فرمت Nodemcu ESP8266 برای Weewx: 8 مرحله (همراه با تصاویر)
تصویری: Water level monitoring system with Nodemcu ESP8266 with new blynk app 2024, جولای
Anonim
سنسورهای فرمت Nodemcu ESP8266 برای Weewx
سنسورهای فرمت Nodemcu ESP8266 برای Weewx

این یک دستورالعمل برای افزودن حسگرها به نرم افزار ایستگاه هواشناسی weewx است.

اگر weewx را ندارید ، می توانید مطالبی را در این آموزش بیاموزید.

شما نیاز به دانش اولیه در مورد کد آردوینو و نحوه بارگذاری بر روی دستگاه دارید.

اطلاعات weewx را در اینجا پیدا می کنید:

آنچه شما می سازید 2 دستگاه است:

1 دستگاه دما و رطوبت را به نرم افزار weewx ارسال می کند.

1 دستگاه دمای خاک در اعماق مختلف زمین را به نرم افزار weewx ارسال می کند.

اولین دستگاه ما یک سنسور BME 280 است.

دستگاه دوم ما زنجیره ای از 3 سنسور DS18B20 Temperatur است. (در صورت تمایل می توانید موارد بیشتری را اضافه کنید).

بیا شروع کنیم:

مرحله 1: آنچه شما نیاز دارید…

آنچه شما نیاز دارید…
آنچه شما نیاز دارید…
آنچه شما نیاز دارید…
آنچه شما نیاز دارید…
آنچه شما نیاز دارید…
آنچه شما نیاز دارید…

Weewx در حال اجراست + دسترسی به سرور weewx. (به عنوان مثال PI تمشک 3).

2 ماژول Nodemcu ESP8266

3 یا بیشتر سنسور DS18B20

1 سنسور ترکیبی BME 280

1 لوله آلومینیومی یا مشابه با قطر 10 میلی متر و ضخامت دیوار 1 میلی متر و حدود. طول 1 متر

1 کیف ضد آب با بند کابل و مهره قفل.

1 منبع تغذیه 5 ولت (برای مثال لودر تلفن همراه).

مقداری سیم و لحیم کاری.

سنسور BME280 و ماژول های Nodemcu را در ebay پیدا می کنید.

برای لوله آلومینیومی یک فروشگاه سخت افزار محلی را انتخاب می کنم

برای مورد DS18B20 و ضد آب از www.reichelt.de استفاده می کنم

www.reichelt.de/DS-18B20/3/index.html؟ACTI…

www.reichelt.de/EL-FK-110/3/index.html؟ACT…

و گروه غلاف کابل با مهره قفل

www.reichelt.de/Kabelverschraubungen-Bopla…

برای bme280 می توانید به صورت اختیاری از قوطی انشعابی استفاده کنید

www.reichelt.de/Installationsmaterial/EL-D…

مرحله 2: با نصب سخت افزار BME 280 Sensor Hardware Setup شروع کنید

با تنظیم سخت افزار BME 280 Sensor شروع کنید
با تنظیم سخت افزار BME 280 Sensor شروع کنید

نوار را در BME280 لحیم کنید.

سپس BME را به Nodemcu وصل کنید:

BME VIN تا 3.3V

BME GND به GND

SCL تا D4

SDA تا D3

اگر دوست دارید می توانید دستگاه را در یک محفظه قرار دهید ، اما مطمئن شوید که سوراخ هایی در محفظه وجود دارد ، به طوری که مقادیر رطوبت و دما درست است.

مرحله 3: کد BME 280 Nodemcu ESP8266

کد BME 280 Nodemcu ESP8266
کد BME 280 Nodemcu ESP8266
کد BME 280 Nodemcu ESP8266
کد BME 280 Nodemcu ESP8266
کد BME 280 Nodemcu ESP8266
کد 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

ایجاد اطلاعات پوشه

در پوشه data یک bme.txt ایجاد کنید ، به عنوان مثال با:

nano bme.txt

فایل باید خالی باشد

نوشتن آن با:

chmod -R 777 bme.txt

(هرگز این کار را روی سروری انجام نمی دهید که به اینترنت دسترسی داشته باشد!)

در پوشه

/home/weewx/public_html

شما bme.php از repo github من را قرار می دهید.

ترفند این است که فایل INO مقادیر را به bme.php ارسال می کند و bme.php داده ها را در bme.txt می نویسد

در مرحله بعد باید سرویس را در weewx اضافه کنیم

bme.py را در پوشه قرار دهید

/home/weewx/bin/user

weewx.conf خود را در پوشه باز کنید

/home/weewx

همیشه خوب است که قبل از ویرایش این فایل پشتیبان داشته باشید!

به خط Engine بروید و خط را شبیه به خط من کنید:

[موتور]

# این بخش خدماتی را که باید اجرا شوند مشخص می کند. آن ها هستند

# بر اساس نوع ، و ترتیب خدمات در هر گروه

# ترتیب اجرای سرویس ها را تعیین می کند.

data_services = user.pond. PondService ، user.bme.bme

راه اندازی مجدد weewx با:

sudo /etc/init.d/weewx stop

sudo /etc/init.d/weewx start

با فرمان

tail -f/var/log/syslog

می توانید در logfile به دنبال اشتباهات یا موفقیت باشید ، به دنبال خروجی bme باشید: مقدار یافت شده از…

به سرور خود چند دقیقه زمان دهید تا تولید شود ، در weewx.conf "my" هر 5 دقیقه یک خروجی وارد کنید.

اگر پیام خطایی دارید مسیرهای خود را بررسی کنید.

اگر مقادیری دارید ، می توانید آن را در صفحه وب نشان دهید:

skin open.conf in

/home/weewx/skins/استاندارد

قابل اعتماد و متخصص:

# این احتمالاً مخصوص ایستگاه من است! اضافه کنید

extraTemp3 = BME1 TemperatureextraHumid1 = BME1 رطوبت

فایل را ذخیره کرده و در همان پوشه باز کنید

index.html.tmpl

به دنبال خط باشید:

#if $ day.extraTemp..

#پایان اگر

بعد از اولین #پایان در صورت پیدا کردن ، سنسور BME خود را با موارد زیر قرار دهید:

^^ متأسفم اما نمی توان این را به عنوان متن قرار داد:(پرونده را ذخیره کرده و خارج شوید.

نیازی به راه اندازی مجدد weewx نیست

اکنون باید NODEMCU ESP8266 را با فایل آردوینو تغذیه کنید.

فراموش نکنید که فای و آدرس خود را در فایل تنظیم کنید.

پس از بارگیری خروجی سریال را برای خطاها بررسی کنید.

پس از مدت کوتاهی باید مقادیر موجود در وب سایت weewx خود را مشاهده کنید.

مرحله 4: موفقیت دستگاه حسگر BME280 + عیب یابی

موفقیت سنسور BME280 + عیب یابی
موفقیت سنسور BME280 + عیب یابی
موفقیت سنسور BME280 + عیب یابی
موفقیت سنسور BME280 + عیب یابی

چند نکته برای شما:

بیش از 1 کنسول را از طریق بتونه باز کنید

در 1 کنسول تغییرات خود را اعمال کنید ، و در کنسول دیگر syslog خود را به صورت زنده با موارد زیر بخوانید:

tail -f/var/log/syslog

اگر خطایی دارید ، ابتدا به logfile خود مراجعه کنید.

خروجی شما باید شبیه خروجی من باشد:

مرحله 5: راه اندازی سخت افزار Soilsensor

راه اندازی سخت افزار Soilsensor
راه اندازی سخت افزار Soilsensor
راه اندازی سخت افزار Soilsensor
راه اندازی سخت افزار Soilsensor
راه اندازی سخت افزار Soilsensor
راه اندازی سخت افزار Soilsensor

برای سنسور DS18B20 ما باید یک سیستم گذرگاه با سیم و لحیم کاری بسازیم.

DS18B20 خود را بررسی کنید

DATA ، GND ، VCC

بین VCC و DATA شما به یک مقاومت 4.7K نیاز دارید. اگر در اولین DS18B20 مقاومت داشته باشید کافی است

سایر DS18B20 موازی یکدیگر هستند.

طول را برای نیازهای خود اندازه بگیرید. یک زنجیر را به هم لحیم کنید ، من سنجاق ها را با لوله جمع کننده محکم کرده ام.

برای آزمایش ، DATA را به D3 و VCC را به VCC (3.3V) و GND را به GND متصل می کنید.

برای گزینه خواب عمیق ، باید پلی بین RST و D0 وصل کنید (GPIO16)

شما نباید زنجیر را در لوله آلومینیوم قرار دهید ، آزمایشات خود را قبلاً انجام دهید!

مرحله 6: کد DS18B20 Nodemcu ESP8266

کد DS18B20 Nodemcu ESP8266
کد DS18B20 Nodemcu ESP8266

برای کد می توانید از مخازن GITHUB من استفاده کنید:

github.com/Landixus/multipleDS18B20WeeWX

همچنین فایل ino به تعدادی درج از شما نیاز دارد: آدرس IP سرور weewx یا URL و مسیری که فایل php را در آن قرار داده اید ، مطمئن شوید که ناحیه قابل نوشتن است ، من public_html dir را انتخاب می کنم زیرا سرور خانگی است.

اگر می خواهید مخازن git را کلون کنید و git را روی سرور خود نصب کرده باشید ، می توانید با دستور "git clone https://github.com/Landixus/multipleDS18B20WeeWX کلون کنید"

اکنون ما باید کارهایی را انجام دهیم که همه آنها روی سرور weewx ما کار می کنند.

شما باید مسیرهای تنظیمات خود را در

/home/weewx/public_html

یک پوشه "data" در پوشه data ایجاد کنید ds18b20.txt ایجاد کنید برای مثال nano ds18b20.txt txt باید emtpy باشد. آن را با chmod -R 777 ds18b20.txt (هرگز این کار را روی سروری انجام ندهید که از طریق اینترنت قابل دسترسی است) انجام ندهید (در پوشه/home/weewx/public_html زمینه ایجاد کنید. 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 start

با دستور tail -f/var/log/syslog می توانید در logfile به دنبال خطاها یا موفقیت به دنبال خروجی باشید ds18b20: value found of به سرور خود چند دقیقه زمان بدهید تا در 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 را با فایل آردوینو تغذیه کنید.

فراموش نکنید که فای و آدرس خود را در فایل تنظیم کنید. پس از بارگیری خروجی سریال را برای خطاها بررسی کنید.

پس از مدت کوتاهی باید مقادیر موجود در وب سایت weewx خود را مشاهده کنید.

مرحله 7: موفقیت حسگر خاک و عیب یابی

موفقیت Soilsensor و عیب یابی
موفقیت Soilsensor و عیب یابی

اگر همه کار می کنید و ارزش ها را می بینید ، بیرون بروید و لوله آلومینیوم را در زمین قرار دهید.

یک راه خوب این است که چسب حرارتی را در 1 طرف لوله قرار دهید و سپس لوله را به هم فشار دهید ، سپس قسمت بالایی دارید تا راحت تر در زمین قرار گیرد.

ابتدا لوله خود را در زمین قرار دهید ، می توانید با تخته چوبی نرم چکش کنید.

اگر لوله به اندازه کافی عمیق است می توانید زنجیر ds18b20 خود را داخل آن قرار دهید و سیم های برق را در جعبه ضد آب قرار دهید.

مطمئن شوید فای شما در این مکان کار می کند!

اگر نمی دانید سنسور چقدر عمیق است ، دو احتمال وجود دارد.

مرحله آزمایشی 1 ds18b20 را بین انگشت شما قرار می دهم ، درجه حرارت برای این یکی بالاتر می رود.

هنگامی که لوله در حال حاضر در زمین است ، معمولی بالاترین مقدار عمیق ترین نقطه است.

مرحله 8: کار را تمام کنید

تمام کنید
تمام کنید

فقط پایان

سوالات خود را ارسال کنید و دمای اولیه خود را در نظرات نشان دهید!

برای راهنمایی بیشتر به weewx google Groups در:

groups.google.com/forum/#!forum/weewx-user

توصیه شده: