Spisu treści:
- Krok 1: Czego potrzebujesz…
- Krok 2: Rozpocznij od konfiguracji sprzętowej czujnika BME 280
- Krok 3: Kod BME 280 Nodemcu ESP8266
- Krok 4: Sukces urządzenia czujnikowego BME280 + rozwiązywanie problemów
- Krok 5: Konfiguracja sprzętu czujnika gleby
- Krok 6: Kod DS18B20 Nodemcu ESP8266
- Krok 7: Czujnik sukcesu i rozwiązywanie problemów
- Krok 8: Zakończ
Wideo: Czujniki rozszerzenia Nodemcu ESP8266 dla Weewx: 8 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:32
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…
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
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
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
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
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
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
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
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:
Rozszerzenia Scratch 3.0: 8 kroków
Rozszerzenia Scratch 3.0: Rozszerzenia Scratch to fragmenty kodu JavaScript, które dodają nowe bloki do Scratch. Chociaż Scratch jest dostarczany w pakiecie z kilkoma oficjalnymi rozszerzeniami, nie ma oficjalnego mechanizmu dodawania rozszerzeń stworzonych przez użytkowników. Kiedy tworzyłem kontroler Minecrafta
Korzystanie z rozszerzenia klatki piersiowej Hope, aby znaleźć niekompletną pracę dotyczącą obrzędów świątynnych w swoim drzewie genealogicznym na temat wyszukiwania rodziny: 11 kroków
Korzystanie z rozszerzenia Skrzynia Nadziei w celu znalezienia niekompletnych obrzędów świątynnych w swoim drzewie genealogicznym w wyszukiwaniu rodzin: Celem tej instrukcji jest zademonstrowanie, jak przeszukiwać drzewo genealogiczne w wyszukiwaniu rodzin w poszukiwaniu przodków z niekompletną pracą w zakresie obrzędów świątynnych przy użyciu rozszerzenia Skrzynia Nadziei. Korzystanie ze Skrzyni Nadziei może znacznie przyspieszyć poszukiwania niekompaty
ESP8266 - Czujniki drzwi i okien - ESP8266. Pomoc dla osób starszych (zapomnienie): 5 kroków
ESP8266 - Czujniki drzwi i okien - ESP8266. Pomoc w podeszłym wieku (zapomnienie): ESP8266 - Czujniki drzwi/okien wykorzystujące GPIO 0 i GPIO 2 (IOT). Można go przeglądać w Internecie lub w sieci lokalnej za pomocą przeglądarek. Widoczne również za pośrednictwem „HelpIdoso Vxapp” podanie. Wykorzystuje zasilanie 110/220 VAC dla 5Vdc, 1 przekaźnik / napięcie
Tanie czujniki zbliżeniowe IR dla robotów Arduino: 6 kroków (ze zdjęciami)
Tanie czujniki zbliżeniowe IR do robotów Arduino: Te czujniki zbliżeniowe na podczerwień są małe, łatwe do wykonania i super tanie! Świetnie sprawdzają się w robotach, do śledzenia linii, wykrywania krawędzi i wykrywania minimalnej odległości. Są też bardzo, bardzo tanie
Tanie czujniki uderzenia dla robotów Arduino: 4 kroki (ze zdjęciami)
Tanie czujniki uderzeń dla robotów Arduino: potrzebujesz tanich, łatwo dostępnych czujników uderzeń do przejęcia robota - mam na myśli projekt Arduino? Te małe czujniki są łatwe w użyciu, łatwe do wykonania i łatwe w portfelu (17 centów za sztukę!) i świetnie sprawdzają się przy prostym wykrywaniu przeszkód na mikrokontrolerze-ba