Სარჩევი:
- ნაბიჯი 1: რაც გჭირდებათ…
- ნაბიჯი 2: დაიწყეთ BME 280 სენსორის აპარატურის დაყენებით
- ნაბიჯი 3: BME 280 Nodemcu ESP8266 კოდი
- ნაბიჯი 4: წარმატებული BME280 სენსორული მოწყობილობა + პრობლემების მოგვარება
- ნაბიჯი 5: Soilsensor აპარატურის დაყენება
- ნაბიჯი 6: DS18B20 Nodemcu ESP8266 კოდი
- ნაბიჯი 7: წარმატება Soilsensor და Troubleshooting
- ნაბიჯი 8: დასრულება
ვიდეო: გაფართოების სენსორები Nodemcu ESP8266 Weewx: 8 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:20
ეს არის გასაგები, რომ დაამატოთ სენსორები 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 სენსორის აპარატურის დაყენებით
შეაერთეთ ზოლები BME280– ში.
შემდეგ შეაერთეთ BME ნოდემკუზე:
BME VIN 3.3 ვ -მდე
BME GND to GND
SCL– დან D4– მდე
SDA to D3
თუ მოგწონთ, შეგიძლიათ ჩადოთ მოწყობილობა კორპუსში, მაგრამ დარწმუნდით, რომ სახურავში არის გარკვეული ხვრელები, ისე რომ ტენიანობა და ტემპერატურა იყოს სწორი.
ნაბიჯი 3: 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 სენსორული მოწყობილობა + პრობლემების მოგვარება
რამდენიმე რჩევა თქვენთვის:
გახსენით 1 -ზე მეტი კონსოლი ნაყენის საშუალებით
1 კონსოლზე შეიტანეთ ცვლილებები და მეორე კონსოლზე წაიკითხეთ თქვენი syslog პირდაპირ ეთერში:
კუდი -f/var/log/syslog
თუ შეცდომა გაქვთ, ჯერ გადახედეთ თქვენს ლოგ ფაილს.
თქვენი გამომავალი უნდა გამოიყურებოდეს ჩემი მსგავსი:
ნაბიჯი 5: 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 კოდი
კოდისთვის შეგიძლიათ გამოიყენოთ ჩემი 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
თუ თქვენ გაქვთ ყველა სამუშაო და ხედავთ ღირებულებებს, მაშინ წადით გარეთ და ჩადეთ ალუმინის მილი მიწაში.
კარგი გზაა ცხელი წებოს მილის 1 მხარეს და შემდეგ მილის ერთმანეთზე დაჭერა, შემდეგ კი სასიამოვნო ზედაპირი გაგიადვილდებათ მიწაში.
მიაყენეთ ჯერ მილები მიწაში, შეგიძლიათ რბილი ჩაქუჩი ხის დაფაზე.
თუ მილი საკმარისად ღრმაა, შეგიძლიათ ჩაწეროთ თქვენი ჯაჭვი ds18b20 და წყალგაუმტარი ყუთში მოათავსოთ მავთულები.
დარწმუნდით, რომ თქვენი wifi მუშაობს ამ ადგილას!
თუ არ იცით რა სიღრმისაა სენსორი, არსებობს ორი შესაძლებლობა.
სატესტო ფაზა თქვენს თითებს შორის დადეთ 1 ds18b20, ტემპერატურა უფრო მაღალია.
როდესაც მილსადენი უკვე მიწაშია, მაშინ ნორმალურად უმაღლესი ღირებულებაა ყველაზე ღრმა წერტილი.
ნაბიჯი 8: დასრულება
მხოლოდ დასასრული
განათავსეთ თქვენი შეკითხვები და აჩვენეთ თქვენი ძირითადი ტემპერატურა კომენტარებში!
მეტი დახმარებისთვის შეუერთდით weewx google ჯგუფებს:
groups.google.com/forum/#!forum/weewx-user
გირჩევთ:
RaspberryPi 3/4 გაფართოების დაფა Raspberry Pi– ს დამატებითი ფუნქციების დასამატებლად: 15 ნაბიჯი (სურათებით)
RaspberryPi 3/4 გაფართოების დაფა Raspberry Pi– ს დამატებითი მახასიათებლების დასამატებლად: ჩვენ ვიცით, რომ ჟოლო pi 3/4 არ არის ჩამონტაჟებული ADC (ანალოგურ ციფრულ გადამყვანად) და RTC (რეალურ დროში საათი), ამიტომ მე ვამზადებ PCB– ს, რომელიც შეიცავს 16 არხი 12bit ADC, RTC, SIM7600 4G მოდული, ღილაკები, რელეები, USB გამორთვა, 5V გამორთვა, 12V ენერგია
DIY ელექტრო გაფართოების დაფის გაყვანილობა: 7 ნაბიჯი (სურათებით)
DIY ელექტრო გაფართოების დაფის გაყვანილობა: ამ ინსტრუქციებში მე გეტყვით ამ ხელნაკეთი ელექტრო გაფართოების დაფის ეტაპობრივად დამზადების მთელ პროცესს. ეს მართლაც ძალიან სასარგებლო ელექტრო დაფაა. ეს აჩვენებს მიმდინარე ძაბვას, ისევე როგორც ამპერს, რომელიც მოიხმარს რეალურ დროში. როდესაც ძაბვა გადის
NLDWRTG ULTIMATE WRT54G გაფართოების დაფა: 8 ნაბიჯი (სურათებით)
NLDWRTG ULTIMATE WRT54G გაფართოება ცოცხალი იყოს
NODEMCU LUA ESP8266 MCP23008 8 ბიტიანი პორტი გაფართოების IC: 6 ნაბიჯი
NODEMCU LUA ESP8266 ერთად MCP23008 8 ბიტიანი პორტი Expander IC: MCP23008 არის 8 ბიტიანი I/O Expander სერიული ინტერფეისით და მუშაობს 1.8 და 5.5 ვოლტს შორის, ამიტომ იდეალურია ESP8266, Arduino, Raspberry Pi, PIC ჩიპებისთვის და სხვა. თუ თქვენ გინახავთ ჩემი სხვა ინსტრუქცია MCP23017– ზე, ალბათ გაინტერესებთ
NODEMCU LUA ESP8266 MCP23017 16 ბიტიანი პორტი გაფართოების IC: 6 ნაბიჯი (სურათებით)
NODEMCU LUA ESP8266 MCP23017 16 ბიტიანი პორტით გაფართოების IC: MCP23017 არის შედარებით ადვილი IC დაფის გასაკეთებლად, რადგან მას აქვს პორტი A და B ჩიპის ორივე მხარეს და ქინძისთავები თანმიმდევრობით. ანალოგიურად I2C მისამართის ავტობუსი არის ასევე ერთად. ამ IC– ზე არის 2 პინი, რომლებიც გამოუყენებელია, რადგან ის