İçindekiler:
- Adım 1: İhtiyacınız Olan Şey…
- 2. Adım: BME 280 Sensör Donanım Kurulumu ile Başlayın
- Adım 3: BME 280 Nodemcu ESP8266 Kodu
- 4. Adım: Başarılı BME280 Sensör Cihazı + Sorun Giderme
- Adım 5: Soilsensor Donanım Kurulumu
- Adım 6: DS18B20 Nodemcu ESP8266 Kodu
- 7. Adım: Başarılı Soilsensor ve Sorun Giderme
- Adım 8: Bitir
Video: Weewx için Uzatma Sensörleri Nodemcu ESP8266: 8 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
Bu, weewx meteoroloji istasyonu yazılımına Sensör ekleme talimatıdır.
Eğer weewx'iniz yoksa, bu eğitimde bazı şeyler öğrenebilirsiniz.
Arduino kodu ve bir cihaza nasıl yükleneceği hakkında bazı temel bilgilere ihtiyacınız var.
weewx bilgilerini burada bulabilirsiniz:
İnşa ettiğiniz şey 2 Cihazdır:
1 Cihaz, Weewx yazılımına Sıcaklık ve Nem gönderir.
1 Cihaz, farklı derinliklerdeki Toprak Sıcaklıklarını weewx yazılımına gönderir.
İlk Cihazımız bir BME 280 sensörüdür.
İkinci cihazımız 3 adet DS18B20 Sıcaklık sensörü zinciridir. (İsterseniz daha fazlasını ekleyebilirsiniz).
Hadi başlayalım:
Adım 1: İhtiyacınız Olan Şey…
Weewx çalışır durumda + weewx sunucusuna erişim. (örneğin bir ahududu PI 3).
2 Nodemcu ESP8266 modülü
3 veya daha fazla DS18B20 Sensör
1 BME 280 kombo Sensör
1 Alüminyum boru veya benzeri, çapı 10 mm ve 1 mm et kalınlığı ve yakl. 1 Metre uzunluğunda
1 Kablo rakorlu ve kilit somunlu su geçirmez kılıf.
1 5V Güç kaynağı (Örneğin mobil yükleyici).
Bazı teller ve lehim malzemeleri.
BME280 sensörünü ve Nodemcu modüllerini ebay'de bulabilirsiniz.
Alüminyum boru için yerel bir hırdavatçı seçiyorum
DS18B20 ve su geçirmez kılıf için www.reichelt.de adresini kullanıyorum
www.reichelt.de/DS-18B20/3/index.html?ACTI…
www.reichelt.de/EL-FK-110/3/index.html?ACT…
ve kilit somunlu kablo rakoru grubu
www.reichelt.de/Kabelverschraubungen-Bopla…
bme280 için isteğe bağlı olarak bir dallanma kutusu kullanabilirsiniz.
www.reichelt.de/Installationsmaterial/EL-D…
2. Adım: BME 280 Sensör Donanım Kurulumu ile Başlayın
BME280'deki şeridi lehimleyin.
Ardından BME'yi Nodemcu'ya bağlayın:
BME VIN'den 3.3V'a
BME GND'den GND'ye dönüştürücü
SCL'den D4'e
SDA'dan D3'e
Dilerseniz Cihazı bir yuvaya koyabilirsiniz, ancak nem ve sıcaklık değerlerinin doğru olması için yuvada bazı deliklerin olduğundan emin olun.
Adım 3: BME 280 Nodemcu ESP8266 Kodu
Kod için github depolarımı kullanabilirsiniz:
github.com/Landixus/BME280_TO_SERVER_WEEWX
ino dosyasının sizden bazı eklere ihtiyacı var:
weewx sunucunuzun veya URL'nizin IP Adresi
ve php dosyasının bulunduğu rota, alanın yazılabilir olduğundan emin olun.
public_html dizinini ev sunucusu olduğu için seçiyorum.
git depolarını klonlamak ve sunucunuzda git'in kurulu olmasını istiyorsanız, şu komutla klonlayabilirsiniz:
"git klonu"https://github.com/Landixus/BME280_TO_SERVER_WEEWX"
Şimdi weewx sunucumuzda bazı şeyler yapmamız gerekiyor.
Ayarlarınıza giden yolları yapmanız gerekiyor!
içinde
/home/weewx/public_html
bir klasör verisi oluştur
veri klasöründe bir bme.txt oluşturun, örneğin:
nano bme.txt
dosya boş olmalıdır.
ile yazılabilir hale getirin:
chmod -R 777 bme.txt
(Bunu asla internet erişimi olan bir sunucuda yapmazsınız!)
klasörde
/home/weewx/public_html
github depomun bme.php'sini koydun.
İşin püf noktası, INO dosyasının değerleri bme.php'ye göndermesi ve bme.php'nin verileri bme.txt dosyasına yazmasıdır.
Daha sonra servisi weewx'e eklememiz gerekiyor
bme.py'yi klasöre koyun
/home/weewx/bin/kullanıcı
wewx.conf'unuzu klasörde açın
/home/weewx
Bu dosyayı düzenlemeden önce bir yedeğinizin olması her zaman iyidir!
Line Engine'e gidin ve çizginin benimki gibi görünmesini sağlayın:
[Motor]
# Bu bölüm çalıştırılması gereken servisleri belirtir. Onlar
# türe ve her gruptaki hizmetlerin sırasına göre gruplandırılmış
# servislerin çalıştırılacağı sırayı belirler.
data_services = user.pond. PondService, user.bme.bme
wewx'i şununla yeniden başlatın:
sudo /etc/init.d/weewx stop
sudo /etc/init.d/weewx başlangıç
komut ile
tail -f /var/log/syslog
hata veya başarı için günlük dosyasına bakabilirsiniz, bir çıktı arayabilirsiniz bme: bulunan değer…
Sunucunuza oluşturması için birkaç dakika verin, "my" weewx.conf dosyasında her 5 dakikada bir çıktı gelir.
Bir hata mesajınız varsa, yollarınızı kontrol edin.
Değerleriniz varsa, web sayfasında göstermeye gidebilirsiniz:
skin.conf'u aç
/home/weewx/skins/Standart
şuraya git:
# Bu muhtemelen benim istasyonuma özel!add
extraTemp3 = BME1 SıcaklıkextraNem1 = BME1 Nem
dosyayı kaydedin ve aynı klasörde açın
index.html.tmpl
bir satır arayın:
#if $gün.ekstraTemp..
#son eğer
ilk #sondan sonra bulursanız, BME Sensörünüzü şununla koyun:
^^ üzgünüm ama bunu metin olarak koymak mümkün değil:(Dosyayı kaydet ve çık.
weewx'i yeniden başlatmaya gerek yoktur.
Şimdi NODEMCU ESP8266'yı Arduino dosyası ile beslemeniz gerekiyor.
Dosya içerisinde wifi ve adreslerinizi kurmayı unutmayınız.
Yüklemeden sonra seri çıktıda hatalar olup olmadığını kontrol edin.
Kısa bir süre sonra değerleri weewx web sitenizde görmelisiniz.
4. Adım: Başarılı BME280 Sensör Cihazı + Sorun Giderme
Sizin için bazı ipuçları:
Putty ile 1'den fazla konsol açın
1 konsolda değişikliklerinizi yapın ve diğer konsolda sistem günlüğünüzü canlı olarak okuyun:
tail -f /var/log/syslog
Bir hatanız varsa, önce günlük dosyanıza bakın.
Çıktınız benimkine benzer görünmelidir:
Adım 5: Soilsensor Donanım Kurulumu
DS18B20 Sensör için bazı teller ve lehimleme ile bir bus Sistemi yapmamız gerekiyor.
DS18B20'nizi kontrol edin
VERİ, GND, VCC
VCC ve DATA arasında 4.7K Direnç gerekir. İlk DS18B20'de direnciniz varsa yeterlidir
Diğer DS18B20 birbirine paraleldir.
İhtiyaçlarınız için uzunluğu ölçün. Zinciri birbirine lehimleyin, pimleri daralan boru ile sabitledim.
TEST için DATA'yı D3'e ve VCC'yi VCC'ye(3.3V) ve GND'yi GND'ye bağlarsınız.
Derin uyku seçeneği için RST ve D0(GPIO16) arasında bir köprü eklemeniz gerekir.
Alüminyum tüpe zinciri hemen takmamalısınız, testlerinizi önceden yapın!
Adım 6: DS18B20 Nodemcu ESP8266 Kodu
Kod için GITHUB depolarımı kullanabilirsiniz:
github.com/Landixus/multipleDS18B20WeeWX
Ayrıca ino dosyasının sizden bazı eklemelere ihtiyacı var: Weewx sunucunuzun veya URL'nizin IP Adresi ve php dosyasını koyduğunuz rota, alanın yazılabilir olduğundan emin olun public_html dizinini seçiyorum çünkü bu bir ev sunucusu.
Git depolarını klonlamak ve sunucunuzda git'in kurulu olmasını istiyorsanız, "git clone https://github.com/Landixus/multipleDS18B20WeeWX" komutuyla klonlayabilirsiniz.
Şimdi weewx sunucumuzda her şeyin çalıştığı bazı şeyler yapmamız gerekiyor.
Ayarlarınıza giden yolları yapmanız gerekir.
/home/weewx/public_html
veri klasöründe bir "data" klasörü oluşturun bir ds18b20.txt oluşturun, örneğin nano ds18b20.txt txt boş olmalıdır. /home/weewx/public_html klasörüne chmod -R 777 ds18b20.txt ile yazılabilir hale getirin (bunu asla internet erişimi olan bir sunucuda yapmayın!) github temsilciminground.php dosyasını koydunuz. İşin püf noktası, INO dosyasının Ground.php'ye değerleri göndermesi ve Ground.php'nin verileri ds18b20.txt'ye yazması, bir sonraki adımda hizmeti weewx'e eklememiz gerekiyor, ds18b20.py'yi /home/weewx/bin/ klasörüne koymamız gerekiyor. kullanıcı
weewx.conf dosyanızı /home/weewx klasöründe açın
Bu dosyayı düzenlemeden önce bir yedeğinizin olması her zaman iyidir!
satıra inin:
[Motor]
# türe ve her gruptaki hizmetlerin sırasına göre gruplandırılmış
# servislerin çalıştırılacağı sırayı belirler.
prep_services = weewx.engine. StdTimeSynch, data_services = user.pond. PondService, user.bme.bme, user.ds18b20.ds18b20 virgülden sonra satır içi ekleyin
"user.ds18b20.ds18b20" üstteki satır gibi görünmelidir^^
wewx'i şununla yeniden başlatın:
sudo /etc/init.d/weewx stop
sudo /etc/init.d/weewx başlangıç
tail -f /var/log/syslog komutuyla günlük dosyasında hata veya başarı olup olmadığına bakabilirsiniz bir çıktı arayabilirsiniz ds18b20: bulundu değeri Sunucunuza oluşturması için birkaç dakika verin, benim weewx.conf dosyamda her 5 dakikada bir sonuç çıkıyor koymak. Bir hata mesajınız varsa, yollarınızı kontrol edin. Değerleriniz varsa, sayfada göstermeye gidebilirsiniz: aç
/home/weewx/skins/Standard içindeki skin.conf şuraya gidin:
# Bu muhtemelen benim istasyonuma özel!
Ekle
toprakTemp1 = DS18B201
toprakTemp2 = DS18B202
toprakTemp3 = DS18B203
dosyayı kaydedin ve aynı klasörde açın index.html.tmpl bir satır arayın:
#if $day.extraTemp.. …
#son eğer
ilk #sondan sonra, GroundSensor Sensörünüzü şununla birlikte bulursanız:
^^ üzgünüm ama bunu metin olarak koymak mümkün değil:(dosyayı kaydedin ve çıkın. weewx'i yeniden başlatmanıza gerek yok. Şimdi NODEMCU ESP8266'yı Arduino dosyasıyla beslemeniz gerekiyor.
Dosya içerisinde wifi ve adreslerinizi kurmayı unutmayınız. Yüklemeden sonra seri çıkışı hatalar için kontrol edin.
Kısa bir süre sonra değerleri weewx web sitenizde görmelisiniz.
7. Adım: Başarılı Soilsensor ve Sorun Giderme
Tüm çalışmalarınız varsa ve değerleri görüyorsanız, dışarı çıkın ve Alüminyum boruyu yere koyun.
İyi bir yol, borunun 1 tarafına sıcak tutkal koymak ve ardından boruyu birbirine bastırmaktır, ardından zemine daha kolay getirmek için güzel bir üstünüz olur.
Önce borunuzu yere koyun, tahta bir tahta ile yumuşak çekiçleyebilirsiniz.
Boru yeterince derinse, ds18b20 zincirinizi ve güç kablolarını su geçirmez kutuya koyabilirsiniz.
Wifi'nizin bu yerde çalıştığından emin olun!
Hangi sensörün ne kadar derin olduğunu bilmiyorsanız 2 ihtimal var.
Test aşamasını parmağınızın arasına 1 ds18b20 koydum, bunun için sıcaklık daha yüksek oluyor.
Boru zaten zemindeyken normal olarak En Yüksek değer en derin noktadır.
Adım 8: Bitir
sadece son
Sorularınızı gönderin ve zemin sıcaklıklarınızı yorumlarda gösterin!
Daha fazla yardım için weewx google Gruplarına katılın:
groups.google.com/forum/#!forum/weewx-user
Önerilen:
Raspberry Pi'ye Ekstra Özellikler Eklemek İçin RaspberryPi 3/4 Uzatma Kartı: 15 Adım (Resimli)
Raspberry Pi'ye Ekstra Özellikler Eklemek için RaspberryPi 3/4 Uzatma Kartı: Raspberry pi 3/4'ün dahili ADC (analogdan dijitale dönüştürücü) ve RTC (gerçek zamanlı saat) ile gelmediğini biliyoruz, bu yüzden 16 içeren bir PCB tasarlıyorum kanal 12bit ADC, RTC, SIM7600 4G modülü, basmalı düğmeler, röleler, USB güç çıkışı, 5V güç çıkışı, 12V güç
Bireysel Örnekleme Pompaları için Çalışma Sensörleri: 3 Adım
Bireysel Örnekleme Pompaları için Çalışma Sensörleri: Bireysel örnekleme pompaları için iyi çalışmayı kontrol etmek için bir sistem yaptım
Kedi Bıyığı Duyusal Uzatma Giyilebilir (2.0): 6 Adım (Resimlerle)
Kedi Bıyığı Duyusal Uzatma Giyilebilir (2.0): Bu proje, eski iş arkadaşımın (metaterra) "Bıyık Duyusal Uzatma Giyilebilir" projesinin devamı ve yeniden tasavvur edilmesidir. Bu projenin amacı, yeni, hesaplama açısından zenginleştirilmiş “duyusal uzantıların” yaratılmasına odaklanmaktı
Arduino Robotları için Ucuz IR Yakınlık Sensörleri: 6 Adım (Resimlerle)
Arduino Robotları için Ucuz IR Yakınlık Sensörleri: Bu kızılötesi yakınlık sensörleri küçük, yapımı kolay ve süper ucuz! Çizgi takibi, kenar algılama ve minimum mesafe algılama için robotlarda harika çalışırlar. Onlar da çok, çok ucuz
Arduino Robotları için Ucuz Çarpma Sensörleri: 4 Adım (Resimlerle)
Arduino Robotlar için Ucuz Çarpma Sensörleri: Robot devralmanız için ucuz, kolay kaynaklı çarpma sensörlerine ihtiyacınız var - Yani, Arduino projesi mi? Bu küçük sensörlerin kullanımı kolay, yapımı kolay ve cüzdanda kolay (17 sent!) mikrodenetleyici-ba üzerinde basit engel tespiti için harika çalışın