Mündəricat:

Weewx üçün Nodemcu ESP8266 Uzatma Sensorları: 8 Addım (Şəkillərlə)
Weewx üçün Nodemcu ESP8266 Uzatma Sensorları: 8 Addım (Şəkillərlə)

Video: Weewx üçün Nodemcu ESP8266 Uzatma Sensorları: 8 Addım (Şəkillərlə)

Video: Weewx üçün Nodemcu ESP8266 Uzatma Sensorları: 8 Addım (Şəkillərlə)
Video: Put your weather station on the air! 2024, Noyabr
Anonim
Weewx üçün Nodemcu ESP8266 Uzatma Sensorları
Weewx üçün Nodemcu ESP8266 Uzatma Sensorları

Weewx hava stansiyası proqramına Sensor əlavə etmək təlimatdır.

Weewx yoxdursa, bu dərslikdə bəzi şeylər öyrənə bilərsiniz.

Arduino kodu və cihaza yükləmə qaydaları haqqında bəzi əsas biliklərə ehtiyacınız var.

Weewx məlumatlarını burada tapa bilərsiniz:

Qurduğunuz 2 cihazdır:

1 Cihaz Weewx proqramına İstilik və Nəmlik göndərir.

1 Cihaz, Weewx proqramına müxtəlif yerin dərinliklərində olan Torpaq İstiliyini göndərir.

İlk cihazımız BME 280 sensorudur.

İkinci cihazımız 3 DS18B20 Temperatur sensoru zənciridir. (İstəsəniz daha çox əlavə edə bilərsiniz).

Gəlin başlayaq:

Addım 1: Ehtiyacınız olan…

Ehtiyacınız olan…
Ehtiyacınız olan…
Ehtiyacınız olan…
Ehtiyacınız olan…
Ehtiyacınız olan…
Ehtiyacınız olan…

Weewx işə düşür və + weewx serverinə giriş. (məsələn, moruq PI 3).

2 Nodemcu ESP8266 modulu

3 və ya daha çox DS18B20 Sensoru

1 BME 280 Combo Sensor

1 Alüminium boru və ya buna bənzər diametri 10 mm və 1 mm olan divar qalınlığı və təxminən. 1 metr uzunluğunda

1 Su keçirməyən korpus kabel kəməri və kilid qozu ilə.

1 5V enerji mənbəyi (məsələn, mobil yükləyici).

Bəzi tellər və lehim əşyaları.

Ebayda BME280 sensoru və Nodemcu modullarını tapa bilərsiniz.

Alüminium boru üçün yerli bir hardware mağazası seçirəm

DS18B20 və su keçirməyən korpus üçün www.reichelt.de saytından istifadə edirəm

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

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

və kilid qoz -fındıqları olan kabel kanalı qrupu

www.reichelt.de/Kabelverschraubungen-Bopla…

Bme280 üçün isteğe bağlı olaraq bir budaq qutusu istifadə edə bilərsiniz

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

Addım 2: BME 280 Sensor Hardware Setup ilə başlayın

BME 280 Sensor Hardware Setup ilə başlayın
BME 280 Sensor Hardware Setup ilə başlayın

Şeridi BME280 -də lehimləyin.

Sonra BME -ni Nodemcu -ya bağlayın:

BME VIN 3.3V -ə qədər

BME GND -dən GND -ə

SCL -dən D4 -ə qədər

SDA -dan D3 -ə qədər

İstəyirsinizsə, Cihazı bir yuvaya qoya bilərsiniz, ancaq rütubət və temperatur dəyərlərinin doğru olması üçün korpusda bəzi deşiklərin olduğundan əmin olun.

Addım 3: BME 280 Nodemcu ESP8266 Kodu

BME 280 Nodemcu ESP8266 Kodu
BME 280 Nodemcu ESP8266 Kodu
BME 280 Nodemcu ESP8266 Kodu
BME 280 Nodemcu ESP8266 Kodu
BME 280 Nodemcu ESP8266 Kodu
BME 280 Nodemcu ESP8266 Kodu

Kod üçün github depolarımdan istifadə edə bilərsiniz:

github.com/Landixus/BME280_TO_SERVER_WEEWX

İno faylına sizdən bəzi əlavələr lazımdır:

Weewx serverinizin və ya URL -nin IP ünvanı

və php faylına sahib olduğunuz marşrut, ərazinin yazıla biləcəyinə əmin olun.

public_html dir seçirəm, çünki ev serveridir.

git depolarını klonlaşdırmaq və serverinizdə git yükləmək istəyirsinizsə, əmrlə klonlaya bilərsiniz:

"git klonu" https://github.com/Landixus/BME280_TO_SERVER_WEEWX"

İndi weewx serverimizdə bəzi işlər görməliyik.

Ayarlarınızın yollarını etməlisiniz!

daxilində

/home/weewx/public_html

qovluq məlumatı yaradın

Məlumat qovluğunda bme.txt yaradın, məsələn:

nano bme.txt

fayl boş olmalıdır.

ilə yazıla bilər:

chmod -R 777 bme.txt

(bunu heç vaxt internetə çıxışı olan bir serverdə etməzsən!)

qovluqda

/home/weewx/public_html

github repo bme.php -ni qoyursan.

Hiylə budur ki, INO faylı bme.php -ə dəyər göndərir və bme.php bme.txt -də məlumat yazır.

Sonrakı xidməti weewx -ə əlavə etməliyik

bme.py qovluğuna qoyun

/home/weewx/bin/user

weewx.conf qovluğunuzu açın

/ev/weewx

Bu faylı redaktə etməzdən əvvəl bir nüsxənin olması həmişə yaxşıdır!

Mühərrik xəttinə enin və xətti mənim kimi görün:

[Mühərrik]

# Bu bölmədə işləməli olan xidmətlər göstərilir. Onlar

# növünə və hər qrupdakı xidmətlərin sırasına görə qruplaşdırılmışdır

# xidmətlərin işlənmə qaydasını təyin edir.

data_services = user.pond. PondService, user.bme.bme

weewx -i yenidən başladın:

sudo /etc/init.d/weewx dayandırın

sudo /etc/init.d/weewx başlanğıcı

əmri ilə

quyruq -f/var/log/syslog

səhvlər və ya müvəffəqiyyətlər üçün logfile baxa bilərsiniz, bme çıxışını axtarın: tapılan dəyər …

Yaratmaq üçün serverinizə bir neçə dəqiqə verin, "mənim" weewx.conf -də hər 5 dəqiqədə bir çıxış gəlir.

Bir səhv mesajınız varsa, yollarınızı yoxlayın.

Dəyərləriniz varsa, onu veb səhifədə göstərmək üçün gedə bilərsiniz:

açıq dəri

/home/weewx/skins/Standart

getmək:

# Bu yəqin ki, stansiyama xasdır! Əlavə et

extraTemp3 = BME1 TemperaturextraHumid1 = BME1 Rütubət

faylı qeyd edin və eyni qovluqda açın

index.html.tmpl

bir xətt axtarın:

#if $ day.extraTemp..

#əgər bitərsə

ilk #sondan sonra taparsanız, BME Sensorunuzu qoyun:

^^ üzr istəyirəm amma bunu mətn kimi yazmaq mümkün deyil:(faylı qeyd edin və çıxın.

weewx'i yenidən başlatmağa ehtiyac yoxdur.

İndi NODEMCU ESP8266 -nı Arduino faylı ilə qidalandırmaq lazımdır.

Faylda wifi və ünvanlarınızı qurmağı unutmayın.

Yüklədikdən sonra seriya çıxışını yoxlayın.

Qısa müddətdən sonra Weewx veb saytınızdakı dəyərləri görməlisiniz.

Addım 4: BME280 Sensor Cihazının Müvəffəqiyyəti + Problemlərin Giderme

Uğur BME280 Sensor Cihazı + Problem Giderme
Uğur BME280 Sensor Cihazı + Problem Giderme
Uğur BME280 Sensor Cihazı + Problem Giderme
Uğur BME280 Sensor Cihazı + Problem Giderme

Sizin üçün bəzi məsləhətlər:

Macun vasitəsilə 1 -dən çox konsol açın

1 konsolda dəyişikliklərinizi edin və digər konsolda syslogunuzu canlı oxuyun:

quyruq -f/var/log/syslog

Səhviniz varsa, əvvəlcə logfile baxın.

Çıxışınız mənimkinə bənzəməlidir:

Addım 5: Torpaq Sensorunun Quraşdırılması

Torpaq sensoru aparat qurğusu
Torpaq sensoru aparat qurğusu
Torpaq sensoru aparat qurğusu
Torpaq sensoru aparat qurğusu
Torpaq sensoru aparat qurğusu
Torpaq sensoru aparat qurğusu

DS18B20 Sensoru üçün bir az telli və lehimli bir avtobus sistemi qurmalıyıq.

DS18B20 -ni yoxlayın

VERİLƏR, GND, VCC

VCC və DATA arasında 4.7K rezistora ehtiyacınız var. İlk DS18B20 -də rezistorunuz varsa kifayətdir

Digər DS18B20 bir -birinə paraleldir.

Ehtiyaclarınız üçün uzunluğu ölçün. Bir zənciri birlikdə lehimləyin, sancaqları daralan boru ilə təmin etdim.

TEST üçün DATA -nı D3 -ə və VCC -ni VCC -yə (3.3V) və GND -ni GND -ə bağlayırsınız.

Dərin yuxu seçimi üçün RST ilə D0 (GPIO16) arasında bir körpü bağlamalısınız.

Zənciri hazırda Alüminium boruya qoymamalısınız, əvvəl testlərinizi edin!

Addım 6: DS18B20 Nodemcu ESP8266 Kodu

DS18B20 Nodemcu ESP8266 Kodu
DS18B20 Nodemcu ESP8266 Kodu

Kod üçün GITHUB depolarımdan istifadə edə bilərsiniz:

github.com/Landixus/multipleDS18B20WeeWX

Həmçinin ino faylının sizdən bəzi əlavələrə ehtiyacı var: Weewx serverinizin və ya URL -nin IP ünvanı və php faylını qoyduğunuz marşrut, sahənin yazılabilir olduğundan əmin olun, public_html dir -i ev serveri olduğu üçün seçirəm.

Git anbarlarını klonlamaq və serverinizdə git yükləmək istəyirsinizsə "git clone https://github.com/Landixus/multipleDS18B20WeeWX" əmri ilə klonlaya bilərsiniz.

İndi hər şeyin weewx serverimizdə işlədiyi bəzi şeylər etməliyik.

Parametrlərinizə gedən yolları daxil etməlisiniz

/home/weewx/public_html

Məlumat qovluğunda "data" qovluğu yaradın, məsələn nano ds18b20.txt ds18b20.txt yaradın, txt emtpy olmalıdır. chmod -R 777 ds18b20.txt (bunu heç vaxt internetə çıxışı olan bir serverdə etməzsiniz!) ilə/home/weewx/public_html qovluğunda yaza bilərsiniz, mənim github nümayəndəmin ground.php faylını qoydunuz. Hiylə budur ki, INO faylı dəyərləri ground.php -ə göndərir və ground.php məlumatları ds18b20.txt -ə yazır, xidməti weewx -ə əlavə etməliyik, ds18b20.py qovluğuna/home/weewx/bin/ istifadəçi

weewx.conf qovluğunu /home /weewx -də açın

Bu faylı redaktə etməzdən əvvəl bir nüsxənin olması həmişə yaxşıdır!

xəttə enin:

[Mühərrik]

# növünə və hər qrupdakı xidmətlərin sırasına görə qruplaşdırılmışdır

# xidmətlərin işlənmə qaydasını təyin edir.

prep_services = weewx.engine. StdTimeSynch, data_services = user.pond. PondService, user.bme.bme, user.ds18b20.ds18b20 sətirini vergüldən sonra əlavə edin

"user.ds18b20.ds18b20" sətrin yuxarı hissəsinə bənzəməlidir ^^

weewx -i yenidən başladın:

sudo /etc/init.d/weewx dayandırın

sudo /etc/init.d/weewx başlayın

tail -f/var/log/syslog əmri ilə səhvlər və ya müvəffəqiyyətlər üçün günlük faylına baxa bilərsiniz ds18b20: tapılan dəyər serverinizə yaratmaq üçün bir neçə dəqiqə verin, hər 5 dəqiqədə mənim weewx.conf -də qoy. Bir səhv mesajınız varsa, yollarınızı yoxlayın. Dəyərləriniz varsa onu səhifədə göstərmək üçün gedə bilərsiniz: açın

skin.conf in/home/weewx/skins/Standart gedin:

# Bu yəqin ki, stansiyama xasdır!

əlavə et

torpaqTemp1 = DS18B201

torpaqTemp2 = DS18B202

torpaqTemp3 = DS18B203

faylı qeyd edin və index.html.tmpl qovluğunda açın, bir xətt axtarın:

#if $ day.extraTemp..…

#əgər bitərsə

ilk #sondan sonra GroundSensor Sensorunuzu qoyun:

^^ Üzr istəyirik, ancaq bunu mətn kimi qoymaq mümkün deyil: (faylı qeyd edin və çıxın. weewx -i yenidən başlatmağa ehtiyac yoxdur. İndi NODEMCU ESP8266 -nı Arduino faylı ilə qidalandırmalısınız.

Faylda wifi və ünvanlarınızı qurmağı unutmayın. Yüklədikdən sonra seriya çıxışını yoxlayın.

Qısa müddətdən sonra Weewx veb saytınızdakı dəyərləri görməlisiniz.

Addım 7: Uğurlu Torpaq Sensor və Problem Giderme

Torpaq sensoru və problemlərin həlli
Torpaq sensoru və problemlərin həlli

Bütün işləriniz varsa və dəyərləri görürsünüzsə, çölə çıxın və alüminium borunu yerə qoyun.

Yaxşı bir yol borunun 1 tərəfinə isti yapışqan qoymaq və sonra borunu bir -birinə sıxmaqdır, sonra yerə asanlaşdırmaq üçün gözəl bir üstə sahibsiniz.

Borunuzu əvvəlcə yerə qoyun, taxta lövhə ilə yumşaq bir şəkildə çəkə bilərsiniz.

Boru kifayət qədər dərindirsə, ds18b20 zəncirinizi və elektrik naqillərini su keçirməyən qutuya qoya bilərsiniz.

Wi -Fi -nın bu yerdə işlədiyinə əmin olun!

Hansı sensorun nə qədər dərin olduğunu bilmirsinizsə, 2 variant var.

Test mərhələsi barmağınızın arasına 1 ds18b20 qoydu, bunun üçün temperatur daha yüksək olur.

Boru artıq torpaqda olduqda, normal olaraq ən yüksək dəyər ən dərin nöqtədir.

Addım 8: Bitirin

Bitirin
Bitirin

Yalnız sonu

Suallarınızı yazın və əsas istiliyinizi şərhlərdə göstərin!

Daha çox kömək üçün weewx google Groups -a qoşulun:

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

Tövsiyə: