Spisu treści:

Czujniki rozszerzenia Nodemcu ESP8266 dla Weewx: 8 kroków (ze zdjęciami)
Czujniki rozszerzenia Nodemcu ESP8266 dla Weewx: 8 kroków (ze zdjęciami)

Wideo: Czujniki rozszerzenia Nodemcu ESP8266 dla Weewx: 8 kroków (ze zdjęciami)

Wideo: Czujniki rozszerzenia Nodemcu ESP8266 dla Weewx: 8 kroków (ze zdjęciami)
Wideo: Podłączenie Raspberry Pi i Stacji Pogody ActiveWeather.org 2024, Lipiec
Anonim
Czujniki rozszerzenia Nodemcu ESP8266 dla Weewx
Czujniki rozszerzenia Nodemcu ESP8266 dla Weewx

Jest to instrukcja dodawania czujników do oprogramowania stacji pogodowej weewx.

Jeśli nie masz weewx, możesz dowiedzieć się kilku rzeczy z tego samouczka.

potrzebujesz podstawowej wiedzy na temat kodu Arduino i sposobu przesyłania na urządzenie.

Informacje o weewx znajdziesz tutaj:

To, co budujesz, to 2 urządzenia:

1 Urządzenie wysyła temperaturę i wilgotność do oprogramowania weewx.

1 Urządzenie wysyła temperatury gleby o różnych głębokościach gruntu do oprogramowania weewx.

Naszym pierwszym urządzeniem jest czujnik BME 280.

Drugim naszym urządzeniem jest łańcuch 3 czujników temperatury DS18B20. (Możesz dodać więcej, jeśli chcesz).

Zaczynajmy:

Krok 1: Czego potrzebujesz…

Czego potrzebujesz…
Czego potrzebujesz…
Czego potrzebujesz…
Czego potrzebujesz…
Czego potrzebujesz…
Czego potrzebujesz…

Uruchomienie i działanie Weewx + dostęp do serwera weewx. (na przykład malina PI 3).

2 moduły Nodemcu ESP8266

3 lub więcej czujników DS18B20

1 czujnik kombi BME 280

1 Rura aluminiowa lub podobna o średnicy 10mm i grubości ścianki 1mm i ca. 1 metr długości

1 Wodoodporna obudowa z dławikiem kablowym i przeciwnakrętką.

1 źródło zasilania 5 V (na przykład ładowarka mobilna).

Trochę przewodów i sprzętu do lutowania.

Na ebay znajdziesz czujnik BME280 i moduły Nodemcu.

W przypadku rur aluminiowych wybieram lokalny sklep ze sprzętem

W przypadku DS18B20 i wodoodpornej obudowy używam www.reichelt.de

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

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

oraz grupa dławików kablowych z nakrętkami zabezpieczającymi

www.reichelt.de/Kabelverschraubungen-Bopla…

W przypadku bme280 można opcjonalnie użyć puszki rozgałęziającej

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

Krok 2: Rozpocznij od konfiguracji sprzętowej czujnika BME 280

Zacznij od konfiguracji sprzętowej czujnika BME 280
Zacznij od konfiguracji sprzętowej czujnika BME 280

Przylutuj pasek w BME280.

Następnie okablowanie BME do Nodemcu:

BME VIN do 3,3V

BME GND do GND

SCL do D4

SDA do D3

Jeśli chcesz, możesz umieścić Urządzenie w obudowie, ale upewnij się, że w obudowie znajdują się otwory, aby wartości wilgotności i temperatury były prawidłowe.

Krok 3: Kod BME 280 Nodemcu ESP8266

Kod BME 280 Nodemcu ESP8266
Kod BME 280 Nodemcu ESP8266
Kod BME 280 Nodemcu ESP8266
Kod BME 280 Nodemcu ESP8266
Kod BME 280 Nodemcu ESP8266
Kod BME 280 Nodemcu ESP8266

Do kodu możesz użyć moich repozytoriów github:

github.com/Landixus/BME280_TO_SERVER_WEEWX

Plik ino wymaga od ciebie kilku wstawek:

Adres IP twojego serwera weewx lub URL

i trasę, na której masz plik php, upewnij się, że obszar jest zapisywalny.

wybieram katalog public_html, ponieważ jest to serwer domowy.

jeśli chcesz sklonować repozytoria git i mieć zainstalowany git na swoim serwerze, możesz sklonować za pomocą polecenia:

„Klon Gita”https://github.com/Landixus/BME280_TO_SERVER_WEEWX”

Teraz musimy zrobić kilka rzeczy na naszym serwerze weewx.

Musisz stworzyć ścieżki do swoich ustawień!

w

/home/weewx/public_html

utwórz folder dane

w folderze danych utwórz plik bme.txt na przykład z:

nano bme.txt

plik powinien być pusty.

uczyń go zapisywalnym za pomocą:

chmod -R 777 bme.txt

(nigdy tego nie robisz na serwerze, który jest dostępny przez Internet!)

w folderze

/home/weewx/public_html

umieściłeś bme.php mojego repozytorium github.

Sztuczka polega na tym, że plik INO wysyła wartości do bme.php, a bme.php zapisuje dane w bme.txt

W następnym musimy dodać usługę w weewx

umieść bme.py w folderze

/home/weewx/bin/użytkownik

otwórz plik weewx.conf w folderze

/dom/weewx

zawsze dobrze jest mieć kopię zapasową przed edycją tego pliku!

zejdź do linii Engine i spraw, aby linia wyglądała jak moja:

[Silnik]

# Ta sekcja określa usługi, które powinny być uruchomione. Oni są

# pogrupowane według typu i kolejności usług w każdej grupie

# określa kolejność uruchamiania usług.

data_services = użytkownik.pond. PondService, użytkownik.bme.bme

uruchom ponownie weewx za pomocą:

sudo /etc/init.d/weewx stop

sudo /etc/init.d/weewx start

z poleceniem

tail -f /var/log/syslog

możesz zajrzeć do pliku dziennika pod kątem błędów lub sukcesu, poszukaj wyjścia bme: znaleziona wartość…

Daj swojemu serwerowi kilka minut na wygenerowanie, w "moim" pliku weewx.conf co 5 minut pojawiają się dane wyjściowe.

Jeśli masz komunikat o błędzie, sprawdź swoje ścieżki.

Jeśli masz wartości, możesz przejść do wyświetlenia ich na stronie:

otwórz skin.conf w

/home/weewx/skórki/Standard

iść do:

# Ten jest prawdopodobnie specyficzny dla mojej stacji!add

extraTemp3 = BME1 TemperaturaextraWilgot1 = BME1 Wilgotność

zapisz plik i otwórz w tym samym folderze

index.html.tmpl

poszukaj linii:

#if $day.extraTemp..

#zakończ, jeśli

po pierwszym #end, jeśli znajdziesz, umieść czujnik BME z:

^^ przepraszam, ale nie można tego zamieścić jako tekst:(zapisz plik i wyjdź.

nie ma potrzeby ponownego uruchamiania weewx.

Teraz musisz zasilić NODEMCU ESP8266 plikiem Arduino.

Nie zapomnij skonfigurować Wi-Fi i adresów w pliku.

Po załadowaniu sprawdź wyjście szeregowe pod kątem błędów.

Po krótkim czasie powinieneś zobaczyć wartości na swojej stronie weewx.

Krok 4: Sukces urządzenia czujnikowego BME280 + rozwiązywanie problemów

Sukces urządzenia czujnikowego BME280 + rozwiązywanie problemów
Sukces urządzenia czujnikowego BME280 + rozwiązywanie problemów
Sukces urządzenia czujnikowego BME280 + rozwiązywanie problemów
Sukces urządzenia czujnikowego BME280 + rozwiązywanie problemów

Kilka wskazówek dla Ciebie:

Otwórz więcej niż 1 konsole za pomocą kitu

na 1 konsoli dokonaj zmian, a na drugiej odczytaj swój syslog na żywo za pomocą:

tail -f /var/log/syslog

Jeśli masz błąd, najpierw zajrzyj do pliku dziennika.

Twój wynik powinien wyglądać podobnie do mojego:

Krok 5: Konfiguracja sprzętu czujnika gleby

Konfiguracja sprzętu czujnika gleby
Konfiguracja sprzętu czujnika gleby
Konfiguracja sprzętu czujnika gleby
Konfiguracja sprzętu czujnika gleby
Konfiguracja sprzętu czujnika gleby
Konfiguracja sprzętu czujnika gleby

Dla czujnika DS18B20 musimy wykonać system magistrali z kilkoma przewodami i lutowaniem.

Sprawdź swój DS18B20

DANE, GND, VCC

Pomiędzy VCC a DATA potrzebujesz rezystora 4,7K. Wystarczy, że masz rezystor przy pierwszym DS18B20

Pozostałe DS18B20 są do siebie równoległe.

Zmierz długość do swoich potrzeb. Zlutuj łańcuszek, bolce zabezpieczyłem kurczliwą rurką.

W przypadku TESTU podłącz DATA do D3 i VCC do VCC (3,3 V) i GND do GND.

W przypadku opcji głębokiego uśpienia należy podłączyć mostek między RST a D0 (GPIO16)

Nie powinieneś teraz wkładać łańcucha do aluminiowej rurki, wcześniej przetestuj!

Krok 6: Kod DS18B20 Nodemcu ESP8266

DS18B20 Nodemcu ESP8266 Kod
DS18B20 Nodemcu ESP8266 Kod

Do kodu możesz użyć moich repozytoriów GITHUB:

github.com/Landixus/multipleDS18B20WeeWX

Również plik ino wymaga od ciebie kilku wstawek: Adres IP twojego serwera weewx lub URL i trasa, na której umieściłeś plik php, upewnij się, że obszar jest zapisywalny i wybierz katalog public_html, ponieważ jest to serwer macierzysty.

Jeśli chcesz sklonować repozytoria git i mieć zainstalowany git na swoim serwerze, możesz sklonować za pomocą polecenia „git clone

Teraz musimy zrobić kilka rzeczy, które działają na naszym serwerze weewx.

Musisz utworzyć ścieżki do swoich ustawień w

/home/weewx/public_html

utwórz folder "data" w folderze danych utwórz ds18b20.txt na przykład nano ds18b20.txt txt powinien być pusty. uczyń go zapisywalnym za pomocą chmod -R 777 ds18b20.txt (nigdy tego nie robisz na serwerze, który jest dostępny przez Internet!) W folderze /home/weewx/public_html umieściłeś ground.php mojego rep na githubie. Sztuczka polega na tym, że plik INO wysyła wartości do ground.php, a ground.php zapisuje dane w ds18b20.txt, a następnie musimy dodać usługę w weewx umieścić ds18b20.py w folderze /home/weewx/bin/ użytkownik

otwórz plik weewx.conf w folderze /home/weewx

zawsze dobrze jest mieć kopię zapasową przed edycją tego pliku!

zejdź do linii:

[Silnik]

# pogrupowane według typu i kolejności usług w każdej grupie

# określa kolejność uruchamiania usług.

prep_services = weewx.engine. StdTimeSyncch, data_services = user.pond. PondService, user.bme.bme, user.ds18b20.ds18b20 dodaj inline po przecinku

"user.ds18b20.ds18b20" powinien wyglądać jak górna linia^^

uruchom ponownie weewx za pomocą:

sudo /etc/init.d/weewx stop

sudo /etc/init.d/weewx start

komendą tail -f /var/log/syslog możesz poszukać w logu błędów lub sukcesu poszukać danych wyjściowych ds18b20: znaleziona wartość Daj swojemu serwerowi kilka minut na wygenerowanie, w moim weewx.conf co 5 minut wyjdzie położyć. Jeśli masz komunikat o błędzie, sprawdź swoje ścieżki. Jeśli masz wartości, możesz przejść, aby pokazać je na stronie: otwórz

skin.conf w /home/weewx/skins/Standard przejdź do:

# Ten jest prawdopodobnie specyficzny dla mojej stacji!

Dodaj

GlebaTemp1 = DS18B201

temperatura gleby2 = DS18B202

temperatura gleby3 = DS18B203

zapisz plik i otwórz w tym samym folderze index.html.tmpl poszukaj linii:

#if $day.extraTemp.. …

#zakończ, jeśli

po pierwszym #end, jeśli znajdziesz czujnik GroundSensor z:

^^ przepraszam, ale nie można umieścić tego jako tekst:(zapisz plik i wyjdź. nie ma potrzeby ponownego uruchamiania weewx. Teraz musisz załadować NODEMCU ESP8266 plikiem Arduino.

Nie zapomnij skonfigurować Wi-Fi i adresów w pliku. Po załadowaniu sprawdź wyjście szeregowe pod kątem błędów.

Po krótkim czasie powinieneś zobaczyć wartości na swojej stronie weewx.

Krok 7: Czujnik sukcesu i rozwiązywanie problemów

Czujnik sukcesu i rozwiązywanie problemów
Czujnik sukcesu i rozwiązywanie problemów

Jeśli wszystko działa i widzisz wartości, wyjdź na zewnątrz i umieść rurę aluminiową w ziemi.

Dobrym sposobem jest umieszczenie gorącego kleju z jednej strony rury, a następnie ściśnięcie rury razem, wtedy masz ładny wierzch, aby łatwiej go wbić w ziemię.

Najpierw umieść fajkę w ziemi, możesz delikatnie młotkować drewnianą deską.

Jeśli rura jest wystarczająco głęboka, możesz włożyć łańcuch ds18b20 i przewody zasilające do wodoodpornego pudełka.

Upewnij się, że w tym miejscu działa Wi-Fi!

Jeśli nie wiesz jaki czujnik jest jak głęboki, są 2 możliwości.

W fazie testowej wkładam 1 ds18b20 między palec, temperatura rośnie dla tego.

Gdy rura jest już w ziemi, to zwykle Najwyższa wartość jest najgłębszym punktem.

Krok 8: Zakończ

Skończyć
Skończyć

Tylko koniec

Opublikuj swoje pytania i pokaż swoje tempa naziemne w komentarzach!

Aby uzyskać dalszą pomoc, dołącz do Grup weewx google na:

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

Zalecana: