Სარჩევი:

გაფართოების სენსორები Nodemcu ESP8266 Weewx: 8 ნაბიჯი (სურათებით)
გაფართოების სენსორები Nodemcu ESP8266 Weewx: 8 ნაბიჯი (სურათებით)

ვიდეო: გაფართოების სენსორები Nodemcu ESP8266 Weewx: 8 ნაბიჯი (სურათებით)

ვიდეო: გაფართოების სენსორები Nodemcu ESP8266 Weewx: 8 ნაბიჯი (სურათებით)
ვიდეო: Using Micro SD Card and Data logging with Arduino | Arduino Step by Step Course Lesson 106 2024, ივლისი
Anonim
გაფართოების სენსორები Nodemcu ESP8266 Weewx– ისთვის
გაფართოების სენსორები Nodemcu ESP8266 Weewx– ისთვის

ეს არის გასაგები, რომ დაამატოთ სენსორები weewx ამინდის სადგურის პროგრამულ უზრუნველყოფაში.

თუ weewx არ გაქვთ, შეგიძლიათ გაეცნოთ ამ საგნებში.

გჭირდებათ Arduino კოდის ძირითადი ცოდნა და როგორ ატვირთოთ მოწყობილობაზე.

თქვენ ნახავთ weewx ინფორმაციას აქ:

რასაც თქვენ აშენებთ არის 2 მოწყობილობა:

1 მოწყობილობა გაგზავნეთ ტემპერატურა და ტენიანობა weewx პროგრამულ უზრუნველყოფაზე.

1 მოწყობილობა აგზავნის ნიადაგის ტემპერატურას სხვადასხვა სიღრმეში weewx პროგრამულ უზრუნველყოფაზე.

ჩვენი პირველი მოწყობილობა არის BME 280 სენსორი.

ჩვენი მეორე მოწყობილობა არის 3 DS18B20 ტემპერატურის სენსორის ჯაჭვი. (სურვილისამებრ შეგიძლიათ დაამატოთ მეტი).

Დავიწყოთ:

ნაბიჯი 1: რაც გჭირდებათ…

Რა გჭირდება…
Რა გჭირდება…
Რა გჭირდება…
Რა გჭირდება…
Რა გჭირდება…
Რა გჭირდება…

Weewx მუშაობს და მუშაობს + წვდომა weewx სერვერზე. (მაგალითად, ჟოლოს PI 3).

2 Nodemcu ESP8266 მოდული

3 ან მეტი DS18B20 სენსორი

1 BME 280 კომბინირებული სენსორი

1 ალუმინის მილი ან მსგავსი დიამეტრით 10 მმ და 1 მმ კედლის სისქით და დაახლ. 1 მეტრი სიგრძის

1 წყალგაუმტარი საქმე საკაბელო ჯირკვლით და საკეტი თხილით.

1 5V კვების წყარო (მაგალითად, მობილური ჩამტვირთავი).

ზოგიერთი მავთული და soldering პერსონალი.

თქვენ ნახავთ 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 სენსორის აპარატურის დაყენებით

დაიწყეთ BME 280 სენსორის აპარატურის დაყენებით
დაიწყეთ BME 280 სენსორის აპარატურის დაყენებით

შეაერთეთ ზოლები BME280– ში.

შემდეგ შეაერთეთ BME ნოდემკუზე:

BME VIN 3.3 ვ -მდე

BME GND to GND

SCL– დან D4– მდე

SDA to 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

ინოს ფაილს თქვენგან რამდენიმე ჩანართი სჭირდება:

თქვენი weewx სერვერის ან URL- ის IP მისამართი

და მარშრუტი, სადაც თქვენ გაქვთ php ფაილი, დარწმუნდით, რომ ტერიტორია იწერება.

მე ვირჩევ public_html რეჟ, რადგან ეს არის სახლის სერვერი.

თუ გსურთ git საცავების კლონირება და git თქვენს სერვერზე დაინსტალირებული, შეგიძლიათ კლონირებული ბრძანებით:

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

ახლა ჩვენ უნდა გავაკეთოთ რაღაცეები ჩვენს weewx სერვერზე.

თქვენ უნდა გაიაროთ გზა თქვენი პარამეტრებისკენ!

ში

/home/weewx/public_html

შექმენით საქაღალდის მონაცემები

მონაცემთა საქაღალდეში შექმენით bme.txt მაგალითად:

nano bme.txt

ფაილი ცარიელი უნდა იყოს.

გაწერეთ იგი შემდეგით:

chmod -R 777 bme.txt

(თქვენ ამას არასოდეს აკეთებთ სერვერზე, რომელიც ინტერნეტით არის ხელმისაწვდომი!)

საქაღალდეში

/home/weewx/public_html

თქვენ დააყენეთ bme.php ჩემი github repo.

ხრიკი ის არის, რომ INO ფაილი აგზავნის მნიშვნელობებს bme.php და bme.php წერს მონაცემებს bme.txt

შემდეგ ჩვენ უნდა დავამატოთ სერვისი weewx– ში

ჩადეთ bme.py საქაღალდეში

/მთავარი/weewx/bin/მომხმარებელი

გახსენით თქვენი weewx.conf საქაღალდეში

/მთავარი/weewx

ყოველთვის კარგია, რომ გქონდეს სარეზერვო საშუალება ამ ფაილის რედაქტირებამდე!

ჩამოდი ძრავის ხაზზე და ხაზი დაემსგავსე ჩემსას:

[ძრავა]

# ეს განყოფილება განსაზღვრავს იმ სერვისებს, რომლებიც უნდა გაუშვათ. Ისინი არიან

# დაჯგუფებულია ტიპის მიხედვით და მომსახურების რიგი თითოეულ ჯგუფში

# განსაზღვრავს მომსახურების გატარების თანმიმდევრობას.

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

გადატვირთეთ weewx ერთად:

sudo /etc/init.d/weewx გაჩერება

sudo /etc/init.d/weewx დასაწყისი

ბრძანებით

კუდი -f/var/log/syslog

თქვენ შეგიძლიათ მოძებნოთ ჟურნალში შეცდომები ან წარმატება, მოძებნოთ გამომავალი bme: ნაპოვნია მნიშვნელობა…

მიეცით თქვენს სერვერს რამდენიმე წუთი გენერირებისთვის, "my" weewx.conf– ში ყოველ 5 წუთში მოდის გამომავალი.

თუ თქვენ გაქვთ შეცდომის შეტყობინება, შეამოწმეთ თქვენი გზები.

თუ თქვენ გაქვთ ღირებულებები, შეგიძლიათ გადახვიდეთ ვებგვერდზე:

ღია კანი. კონფიგურაცია

/მთავარი/weewx/ტყავი/სტანდარტული

წადი:

# ეს ალბათ სპეციფიკურია ჩემი სადგურისთვის! დაამატეთ

extraTemp3 = BME1 ტემპერატურა ekstraHumid1 = BME1 ტენიანობა

შეინახეთ ფაილი და გახსენით იმავე საქაღალდეში

index.html.tmpl

მოძებნე ხაზი:

#თუ $ day.extraTemp..

#დაასრულე თუ

პირველი #დასრულების შემდეგ, თუ იპოვით, განათავსეთ თქვენი BME სენსორი:

^^ უკაცრავად, მაგრამ ამის ტექსტად გადმოცემა შეუძლებელია:(შეინახეთ ფაილი და გამოდით.

არ არის საჭირო გადატვირთვა weewx.

ახლა თქვენ უნდა მიაწოდოთ NODEMCU ESP8266 არდუინოს ფაილით.

არ დაგავიწყდეთ ფაილში თქვენი wifi და მისამართების დაყენება.

დატვირთვის შემდეგ შეამოწმეთ სერიული გამომავალი შეცდომები.

მოკლე პერიოდის შემდეგ თქვენ უნდა ნახოთ ღირებულებები თქვენს weewx ვებსაიტზე.

ნაბიჯი 4: წარმატებული BME280 სენსორული მოწყობილობა + პრობლემების მოგვარება

წარმატებული BME280 სენსორული მოწყობილობა + პრობლემების მოგვარება
წარმატებული BME280 სენსორული მოწყობილობა + პრობლემების მოგვარება
წარმატებული BME280 სენსორული მოწყობილობა + პრობლემების მოგვარება
წარმატებული BME280 სენსორული მოწყობილობა + პრობლემების მოგვარება

რამდენიმე რჩევა თქვენთვის:

გახსენით 1 -ზე მეტი კონსოლი ნაყენის საშუალებით

1 კონსოლზე შეიტანეთ ცვლილებები და მეორე კონსოლზე წაიკითხეთ თქვენი syslog პირდაპირ ეთერში:

კუდი -f/var/log/syslog

თუ შეცდომა გაქვთ, ჯერ გადახედეთ თქვენს ლოგ ფაილს.

თქვენი გამომავალი უნდა გამოიყურებოდეს ჩემი მსგავსი:

ნაბიჯი 5: Soilsensor აპარატურის დაყენება

Soilsensor აპარატურის დაყენება
Soilsensor აპარატურის დაყენება
Soilsensor აპარატურის დაყენება
Soilsensor აპარატურის დაყენება
Soilsensor აპარატურის დაყენება
Soilsensor აპარატურის დაყენება

DS18B20 სენსორისთვის ჩვენ უნდა შევქმნათ ავტობუსის სისტემა მავთულხლართებით და შედუღებით.

შეამოწმეთ თქვენი DS18B20

მონაცემები, GND, VCC

VCC– სა და DATA– ს შორის გჭირდებათ 4.7K რეზისტორი. საკმარისია თუ თქვენ გაქვთ რეზისტორი პირველ DS18B20– ზე

სხვა DS18B20 ერთმანეთის პარალელურია.

გაზომეთ სიგრძე თქვენი საჭიროებისთვის. შეაერთეთ ჯაჭვი ერთად, მე დავაფიქსირე ქინძისთავები შემცირების მილით.

ტესტისთვის თქვენ აერთებთ მონაცემთა 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

ასევე ინოს ფაილს სჭირდება რამდენიმე ჩანართი თქვენგან: თქვენი weewx სერვერის IP მისამართი და მარშრუტი, სადაც თქვენ დააყენეთ php ფაილი, დარწმუნდით, რომ ტერიტორია დასაწერია, მე ვარჩევ public_html რეჟიმს, რადგან ის არის სახლის სერვერი.

თუ გსურთ git საცავების კლონირება და თქვენს სერვერზე git დაყენებული, შეგიძლიათ კლონირებული ბრძანებით git clone

ახლა ჩვენ უნდა გავაკეთოთ რაღაცეები, რაც ყველა მუშაობს ჩვენს weewx სერვერზე.

თქვენ უნდა გააკეთოთ ბილიკები თქვენს პარამეტრებში

/home/weewx/public_html

შექმენით საქაღალდე "მონაცემები" მონაცემთა საქაღალდეში შექმენით ds18b20.txt მაგალითად nano ds18b20.txt txt უნდა იყოს emtpy. ჩაწერეთ chmod -R 777 ds18b20.txt (თქვენ ამას არასოდეს გააკეთებთ სერვერზე, რომელიც ინტერნეტით არის ხელმისაწვდომი!) საქაღალდეში/home/weewx/public_html თქვენ აყენებთ ადგილზე. php ჩემი github rep. ხრიკი ის არის, რომ INO ფაილი აგზავნის მნიშვნელობებს ადგილზე. Php და ground.php წერს მონაცემებს ds18b20.txt შემდეგში ჩვენ უნდა დავამატოთ სერვისი weewx დააყენეთ ds18b20.py საქაღალდეში/სახლში/weewx/bin/ მომხმარებელი

გახსენით თქვენი weewx.conf საქაღალდეში /მთავარი /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 გაჩერება

sudo /etc/init.d/weewx დაწყება

ბრძანების კუდით -f/var/log/syslog თქვენ შეგიძლიათ შეხედოთ შეცდომებს შეცდომებში ან წარმატების მიღწევაში მოძებნოთ ds18b20: ნაპოვნი მნიშვნელობა მიეცით თქვენს სერვერს რამდენიმე წუთი გენერირებისთვის, ჩემს weewx.conf ყოველ 5 წუთში გამოდით დადება. თუ თქვენ გაქვთ შეცდომის შეტყობინება, შეამოწმეთ თქვენი გზები. თუ თქვენ გაქვთ ღირებულებები, შეგიძლიათ ნახოთ იგი გვერდზე: გახსენით

skin.conf in/home/weewx/skins/სტანდარტული გადადით:

# ეს ალბათ სპეციფიკურია ჩემი სადგურისთვის!

დამატება

ნიადაგის ტემპი 1 = DS18B201

ნიადაგი Temp2 = DS18B202

ნიადაგიTemp3 = DS18B203

შეინახეთ ფაილი და გახსენით იმავე საქაღალდეში index.html.tmpl მოძებნეთ ხაზი:

#თუ $ day.extraTemp..…

#დაასრულე თუ

პირველი #დასრულების შემდეგ, თუ იპოვით დააყენეთ თქვენი GroundSensor სენსორი შემდეგით:

^^ უკაცრავად, მაგრამ ამის ტექსტად დაყენება შეუძლებელია: (შეინახეთ ფაილი და გამოდით. არ არის საჭირო weewx– ის გადატვირთვა. ახლა თქვენ უნდა მიაწოდოთ NODEMCU ESP8266 არდუინოს ფაილით.

არ დაგავიწყდეთ ფაილში თქვენი wifi და მისამართების დაყენება. დატვირთვის შემდეგ შეამოწმეთ სერიული გამომავალი შეცდომები.

მოკლე პერიოდის შემდეგ თქვენ უნდა ნახოთ ღირებულებები თქვენს weewx ვებსაიტზე.

ნაბიჯი 7: წარმატება Soilsensor და Troubleshooting

წარმატება Soilsensor და Troubleshooting
წარმატება Soilsensor და Troubleshooting

თუ თქვენ გაქვთ ყველა სამუშაო და ხედავთ ღირებულებებს, მაშინ წადით გარეთ და ჩადეთ ალუმინის მილი მიწაში.

კარგი გზაა ცხელი წებოს მილის 1 მხარეს და შემდეგ მილის ერთმანეთზე დაჭერა, შემდეგ კი სასიამოვნო ზედაპირი გაგიადვილდებათ მიწაში.

მიაყენეთ ჯერ მილები მიწაში, შეგიძლიათ რბილი ჩაქუჩი ხის დაფაზე.

თუ მილი საკმარისად ღრმაა, შეგიძლიათ ჩაწეროთ თქვენი ჯაჭვი ds18b20 და წყალგაუმტარი ყუთში მოათავსოთ მავთულები.

დარწმუნდით, რომ თქვენი wifi მუშაობს ამ ადგილას!

თუ არ იცით რა სიღრმისაა სენსორი, არსებობს ორი შესაძლებლობა.

სატესტო ფაზა თქვენს თითებს შორის დადეთ 1 ds18b20, ტემპერატურა უფრო მაღალია.

როდესაც მილსადენი უკვე მიწაშია, მაშინ ნორმალურად უმაღლესი ღირებულებაა ყველაზე ღრმა წერტილი.

ნაბიჯი 8: დასრულება

დასრულება
დასრულება

მხოლოდ დასასრული

განათავსეთ თქვენი შეკითხვები და აჩვენეთ თქვენი ძირითადი ტემპერატურა კომენტარებში!

მეტი დახმარებისთვის შეუერთდით weewx google ჯგუფებს:

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

გირჩევთ: