İçindekiler:

Weewx için Uzatma Sensörleri Nodemcu ESP8266: 8 Adım (Resimlerle)
Weewx için Uzatma Sensörleri Nodemcu ESP8266: 8 Adım (Resimlerle)

Video: Weewx için Uzatma Sensörleri Nodemcu ESP8266: 8 Adım (Resimlerle)

Video: Weewx için Uzatma Sensörleri Nodemcu ESP8266: 8 Adım (Resimlerle)
Video: Weather Station Web Tarayıcıdan Verileri Görüntüleme | Davis Vantage Pro 2 2024, Temmuz
Anonim
Weewx için Uzatma Sensörleri Nodemcu ESP8266
Weewx için Uzatma Sensörleri Nodemcu ESP8266

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…

Neye ihtiyacın var…
Neye ihtiyacın var…
Neye ihtiyacın var…
Neye ihtiyacın var…
Neye ihtiyacın var…
Neye ihtiyacın var…

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

BME 280 Sensör Donanım Kurulumu ile Başlayın
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

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

Başarı BME280 Sensör Cihazı + Sorun Giderme
Başarı BME280 Sensör Cihazı + Sorun Giderme
Başarı BME280 Sensör Cihazı + Sorun Giderme
Başarı 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

Toprak Sensörü Donanım Kurulumu
Toprak Sensörü Donanım Kurulumu
Toprak Sensörü Donanım Kurulumu
Toprak Sensörü Donanım Kurulumu
Toprak Sensörü Donanım Kurulumu
Toprak Sensörü 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

DS18B20 Nodemcu ESP8266 Kodu
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

Başarı Toprak Sensörü ve Sorun Giderme
Başarı Toprak Sensörü 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

Bitiş
Bitiş

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: