Spisu treści:
- Krok 1: Potrzebujesz
- Krok 2: Zbuduj interfejs RS232
- Krok 3: Testowanie interfejsu RS232
- Krok 4: Stwórz czujniki i sieć
- Krok 5: Konfiguracja oprogramowania - akwizycja danych
- Krok 6: Konfiguracja oprogramowania - wykresy
- Krok 7: Wdrożenie 1 – Monitorowanie serwerowni
- Krok 8: Implementacja 2 - Stacja pogodowa
- Krok 9: Wdrożenie 3 - Pokój w akademiku
Wideo: Czujnik temperatury / stacja pogodowa: 9 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:33
Utwórz stację pogodową lub monitor temperatury za pomocą bardzo fajnego cyfrowego czujnika temperatury DS1820. Używam tej konfiguracji do monitorowania serwerowni i jako stacji pogodowej. Ten projekt składa się z:
- Sieć autobusowa Dallas 1-Wire
- Interfejs pomiędzy RS-232 a systemem Dallas 1-Wire
- Cyfrowe czujniki temperatury podłączone do magistrali Dallas 1-Wire (DS1820/DS18s20)
- Konfiguracja oprogramowania do zbierania i wykresu temperatur
Zaktualizowano 18.11.2007, aby uwzględnić automatyczne skrypty graficzne i zdjęcia rzeczywistych implementacji tego systemu.
Krok 1: Potrzebujesz
Oto, czego potrzebujesz do stworzenia stacji pogodowej lub rejestratora temperatury:
- Niektóre umiejętności linuxowe
- Podstawowe umiejętności w zakresie elektroniki, lutowania itp.
składniki
- 1 dioda Zenera 6,2 V (1N5234)
- 1 dioda Zenera 3,9 V (1N5228)
- 2 diody Schottky'ego (1N5818)
- 1 rezystor 1,5 k
- 1 2-pinowy zacisk śrubowy
- 1 złącze żeńskie D-sub 9 z punktami lutowniczymi
- 1 mały kawałek płyty perforowanej.
- Co najmniej jeden cyfrowy czujnik temperatury Dallas Semiconductor DS1820 lub DS18s20
- Okablowanie kategorii 5
- Rurki termokurczliwe
Krok 2: Zbuduj interfejs RS232
Lubię budować busmaster 1-Wire tak mały, że może po prostu siedzieć z tyłu komputera w porcie rs232.
Krok 1) Zastanów się, jak mały możesz to zrobić. Umieść wszystkie komponenty na płycie perf. Umieść je z myślą o obwodzie. Nie chcemy dodawać żadnych przewodów na dole obwodu! Zobacz obraz. Krok 2) Wytnij płytę o odpowiednim rozmiarze. Wystarczy kilka razy przeciągnąć ostrym nożem po rzędzie otworów, w których chcesz wyciąć. Zrób to po obu stronach, a następnie po prostu przełam to na dwie części. Zwykle pęka na utworzonej linii uskoku. 3) Przylutuj elementy na miejscu. i połącz punkty lutowania, aby zakończyć obwód.
Krok 3: Testowanie interfejsu RS232
1) Pobierz i zainstaluj digitemp. W Debianie i Ubuntu Linux odbywa się to poprzez uruchomienie `sudo apt-get install digitemp`. 2) Podłącz DS1820 do swojego obwodu. Środkowa noga wchodzi do portu DQ, pozostałe dwie nogi idą w GND3) Podłącz obwód do portu rs232 komputera. Omówię robienie tego tylko z Linuksem, ale jest to również możliwe w systemie Windows..4) Jeśli polecenie `digitemp` nie działa, to dlatego, że istnieje wiele wersji digitemp.type digitemp, a następnie naciśnij tab, aby zobaczyć je wszystkie.. digitemp_DS9097 jest właściwym dla tego busmastera 1wire. Dla uproszczenia chcemy, aby poleceniem było `digitemp`, a nie `digitemp_DS9097`.type `sudo ln -s /usr/bin/digitemp_DS9097 /usr/bin/digitemp`5)Jako root lub używając sudo:Uruchom `digitemp -s /dev/ttyS0 -i`. Spowoduje to przeszukanie sieci 1wire w poszukiwaniu czujników i utworzenie pliku konfiguracyjnego dla digitemp. Jeśli używasz COM2, użyj -s /dev/ttyS1. Uruchom `digitemp -a`, aby odczytać temperaturę podłączonego czujnika temp. Zobacz zrzut ekranu6)Zrób to dla wszystkich czujników, których zamierzasz użyć, i zapisz adresy dla każdego. Kiedy masz wiele czujników, dobrze jest wiedzieć, który jest który.
Krok 4: Stwórz czujniki i sieć
Podczas okablowania sieci 1wire, chcesz użyć kabli sieciowych kategorii 5.
Mam złe doświadczenia z innymi kablami i łączeniem różnych typów kabli. Podczas przejazdu przez cat5 magistrala 1wire może mieć dość długie kable. W jednej konfiguracji stacji pogodowej prowadzę 30-metrowy cat5 z pomieszczenia technicznego z komputerem Linux i na dach. Na dachu kabel jest podzielony na 3 kable o długości 5-15 metrów z czujnikiem na końcu każdego z nich. Ta konfiguracja działa bezbłędnie. Sieć 1-wire jest dość solidna. Tworzenie czujnika: Chcesz, aby czujnik był zarówno wodoodporny, jak i sztywny. 1) Przytnij kabel Cat 5 do żądanej długości. 2) Odizoluj końcówkę czujnika. Odetnij 3 z 4 par, pozostawiając zieloną/białozieloną. 3) Nasuń małą rurkę termokurczliwą na zielony przewód. 4) Przylutuj zielony przewód do środkowego kołka DS1820 5) Pociągnij rurkę termokurczliwą do góry tak, aby zakryła cały metal środkowej nogi i metal drutu do niej podłączonego. Następnie podgrzej go zapalniczką lub opalarką, aby obkurczyć go na miejscu 6) Przylutuj biało-zielony przewód do dwóch pozostałych pinów. 7) Założyć większą rurkę termokurczliwą na czujnik i kabel. Zobacz zdjęcie. Następnie podgrzej delikatnie zapalniczką, aby skurczyć się na miejscu. Nie chcesz podpalić przedmiotu, po prostu trzymaj płomień w odległości 4-10 mm od rurki termokurczliwej. 8) Umieść swoje czujniki tam, gdzie chcesz je mieć, podłącz do interfejsu rs232 i podłącz do komputera.
Krok 5: Konfiguracja oprogramowania - akwizycja danych
Teraz, gdy mamy już nasze czujniki, chcemy zebrać z nich pewne dane. Jako root na komputerze z Linuksem: 1)Uruchom `digitemp -s /dev/ttyS0 -i -c /etc/digitemp.conf`Spowoduje to utworzenie konfiguracji plik digitemp.conf z czujnikami yoru. Obejrzyj dane wyjściowe, aby zobaczyć, jaki numer otrzymują czujniki.2)Sprawdź temperaturę za pomocą `digitemp -aq -c /etc/digitemp.conf`3)Zrzuć dane wyjściowe do pliku. Zrzucam do pliku w apaches wwwroot, dzięki czemu mogę uzyskać dostęp do temperatury z dowolnego miejsca. Polecenie `digitemp -aq -c /etc/digitemp.conf > /var/www/digitemp.txt` umieszcza dane wyjściowe digitemp w plik digitemp.txt4) Zautomatyzuj ten proces: wpisz `crontab -e`, to otworzy root crontab. Wpisz `* * * * * digitemp -aq -c /etc/digitemp.conf > /tmp/digitemp; mv /tmp/digitemp /var/www/digitemp.txt` do tego pliku i zapisz go. Uruchom `crontab -l`, aby potwierdzić, że crontab został zainstalowany. Powód, dla którego przesyłam dane wyjściowe do /tmp, a następnie przenoszę to do /var/www, jest to, że digitemp zużywa kilka sekund na wykonanie swojego uruchomienia. Jeśli spróbujesz uzyskać dostęp do danych wyjściowych, gdy digitemp jest uruchomiony, otrzymasz niekompletny plik. Może to zepsuć inne skrypty, które odczytują dane z tego pliku. (Nie jest to uwzględnione na zrzucie ekranu, zapomniałem tego zrobić) Twoja stacja pogodowa jest teraz uruchomiona. Użyj danych, aby zrobić, co chcesz, wykreśl to, użyj go do wysyłania wiadomości e-mail w przypadku wysokiej/niskiej temperatury itp.
Krok 6: Konfiguracja oprogramowania - wykresy
To jest trudna część, potrzeba tutaj dużo skryptów. 1) Zrób miejsce na umieszczenie skryptów, miejsce do przechowywania obrazów i miejsce do przechowywania danych.`mkdir /etc/tempsensor``mkdir /var/www /temperature``mkdir /var/log/digitemp_rrd`2)Zainstaluj oprogramowanie:Będziesz potrzebować PHP i RRDtool.`apt-get install rrdtool``apt-get install php` (jest wiele pakietów php, zainstaluj jeden za pomocą plik wykonywalny konsoli)3)Pobierz i zainstaluj skrypty odpowiedzialne za tworzenie wykresów:Pobierz tempsensor-0.1.tar.gz na swój komputer z Linuksem.`tar xvzf tempsensor-0.1.tar.gz``cp -v tempsensor/* /etc/ tempsensor`4)Skonfiguruj skryptyOtwórz /etc/tempsensor/config.php i postępuj zgodnie z komentarzami w tym pliku. Zmień skrypt, aby odczytywał dane wejściowe z "/var/www/digitemp.txt", jeśli postępowałeś zgodnie z przykładem w poprzednim kroku.5) Automatyzacja. Dodaj wpis crontab w taki sam sposób, jak w poprzednim kroku. Skrypt powinien być uruchamiany co 5 minut. Wiersze powinny wyglądać tak:`*/5 * * * * php /etc/tempsensor/logdata.php``*/5 * * * * php /etc/tempsensor/graphdata.php `6)Uruchom skrypty ręcznie, aby sprawdzić, czy to działa.php /etc/tempsensor/logdata.phpphp /etc/tempsensor/graphdata.php7)Odwiedź https://twój.ip.lub.hostname/temperature lub cokolwiek określiłeś w plik konfiguracyjny.
Krok 7: Wdrożenie 1 – Monitorowanie serwerowni
Moje pierwsze wdrożenie tego systemu miało miejsce w serwerowni w akademikach, w których pracuję. Oto kilka zdjęć dla Ciebie.
Krok 8: Implementacja 2 - Stacja pogodowa
Kiedy wyposażyłem serwerownię w czujniki temperatury, po prostu nie mogłem się oprzeć, aby umieścić je na aswelzie na dachu!
Stacja pogodowa jest nieco trudniejsza niż serwerownia. Na zewnątrz jest dużo ingerencji. Słońce może uderzyć w czujnik, wysyłając go od -1 do 30 stopni w ciągu 5 minut. Rozwiązałem to za pomocą trzech czujników umieszczonych w punktach, które otrzymywały światło słoneczne o różnych porach dnia. Ponieważ ciepło jest jedynym „szumem” w pomiarze, po prostu używam czujnika z najniższym odczytem w dowolnym momencie jako mojej „temperatury zewnętrznej”. Ta temperatura jest ponownie wygładzana przez uśrednienie ostatnich kilku minut.
Krok 9: Wdrożenie 3 - Pokój w akademiku
Mój przyjaciel zastosował się do tego polecenia i wyposażył swoje mieszkanie w czujniki temperatury. W lodówce, łazience, komputerze itp.:)
Zalecana:
Stacja pogodowa NaTaLia: stacja pogodowa zasilana energią słoneczną Arduino Wykonana we właściwy sposób: 8 kroków (ze zdjęciami)
Stacja pogodowa NaTaLia: Stacja pogodowa zasilana energią słoneczną Arduino Wykonana we właściwy sposób: po roku udanej pracy w 2 różnych lokalizacjach dzielę się planami projektu stacji pogodowej zasilanej energią słoneczną i wyjaśniam, jak ewoluował w system, który może naprawdę przetrwać przez długi czas okresy z energii słonecznej. Jeśli obserwujesz
Stacja pogodowa DIY i stacja czujników WiFi: 7 kroków (ze zdjęciami)
DIY Stacja pogodowa i stacja z czujnikami WiFi: W tym projekcie pokażę Ci, jak stworzyć stację pogodową wraz ze stacją czujników WiFi. Stacja czujnikowa mierzy lokalne dane dotyczące temperatury i wilgotności i przesyła je przez Wi-Fi do stacji pogodowej. Stacja pogodowa wyświetla następnie t
Zasilany energią słoneczną czujnik temperatury i wilgotności Arduino jako czujnik Oregon 433 mhz: 6 kroków
Czujnik temperatury i wilgotności Arduino zasilany energią słoneczną jako czujnik Oregon 433 mhz: Jest to konstrukcja czujnika temperatury i wilgotności zasilanego energią słoneczną. Czujnik emuluje czujnik Oregon 433 mhz i jest widoczny w bramce Telldus Net. Czujnik ruchu energii słonecznej" z serwisu eBay. Upewnij się, że mówi o cieście 3,7 V
ESP8266 NodeMCU + LM35 + Blynk (stacja pogodowa IOT / cyfrowy czujnik temperatury): 4 kroki
ESP8266 NodeMCU + LM35 + Blynk (stacja pogodowa IOT / cyfrowy czujnik temperatury): Cześć chłopaki! W tej instrukcji nauczymy się, jak łączyć czujnik LM35 z NodeMCU i wyświetlać te informacje o temperaturze przez Internet na smartfonie z aplikacją Blynk. (Również w tym projekcie będziemy używać widżetu SuperChart w Bl
Rejestrowanie temperatury i wilgotności Raspberry PI, stacja pogodowa w chmurze, Wi-Fi i statystyki mobilne: 6 kroków
Rejestrowanie temperatury i wilgotności Raspberry PI, Cloud Weather Station, Wifi i Mobile Stats: Dzięki urządzeniu Raspberry PI można całkowicie za darmo rejestrować dane dotyczące temperatury i wilgotności na zewnątrz, w pokoju, szklarni, laboratorium, pomieszczeniu chłodniczym lub w dowolnym innym miejscu. Ten przykład użyjemy do rejestrowania temperatury i wilgotności.Urządzenie zostanie podłączone do internetu v