Innehållsförteckning:
- Steg 1: Du behöver
- Steg 2: Bygg RS232 -gränssnittet
- Steg 3: Testa RS232 -gränssnittet
- Steg 4: Gör sensorerna och nätverket
- Steg 5: Programinstallation - datainsamling
- Steg 6: Programvaruinställningar - grafer
- Steg 7: Implementering 1 - Övervakning av serverrum
- Steg 8: Implementering 2 - Väderstation
- Steg 9: Implementering 3 - Studentrum
Video: Temperatursensor / väderstation: 9 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:47
Skapa en väderstation eller temperaturmätare med den mycket coola digitala temperatursensorn DS1820. Jag använder den här inställningen för att övervaka ett serverrum och som en väderstation. Detta projekt består av:
- Ett Dallas 1-Wire bussnät
- Gränssnitt mellan RS-232 och Dallas 1-Wire-systemet
- Digitala temperatursensorer anslutna till Dallas 1-Wire-bussen (DS1820/DS18s20)
- Programvaruinställning för att samla och rita temperaturer
Uppdaterade 2007-11-18 för att inkludera automatiska grafskript och bilder av verkliga implementeringar av detta system.
Steg 1: Du behöver
Detta är vad du behöver för att göra en väderstation eller temperaturloggare:
- Några Linux -färdigheter
- Grundläggande elektronikkunskaper, lödning etc.
Komponenter
- 1 6,2V Zenerdiod (1N5234)
- 1 3,9V Zenerdiod (1N5228)
- 2 Schottky -dioder (1N5818)
- 1 1,5 k motstånd
- 1 2 -stifts skruvterminal
- 1 honkontakt D-sub 9 med lödpunkter
- 1 liten bit perfboard.
- En eller flera Dallas Semiconductor DS1820 eller DS18s20 digital temperatursensor
- Cat5 -kablage
- Krympslang
Steg 2: Bygg RS232 -gränssnittet
Jag gillar att bygga 1-Wire busmaster så liten att den bara kan sitta på baksidan av datorn i rs232-porten.
Steg 1) Ta reda på hur liten du kan göra det. Lägg alla komponenter på en perfbaord. Placera dem med kretsen i åtanke. Vi vill inte lägga till några ledningar till kretsens botten! Se bilden. Steg 2) Klipp ut rätt storlek perfboard. Dra bara en vass kniv några gånger över hålraden där du vill skära. Gör detta på båda sidor, bryt det sedan i två. Det går oftast sönder vid fellinjen du skapade. 3) Löd komponenterna på plats. och anslut lödpunkterna för att slutföra kretsen.
Steg 3: Testa RS232 -gränssnittet
1) Ladda ner och installera digitemp. På Debian och Ubuntu Linux görs detta genom att köra `sudo apt-get install digitemp`. 2) Anslut en DS1820 till din krets. Mittbenet går i DQ-porten, de andra två benen går i GND3) Anslut kretsen till en dator rs232 -port. Jag täcker bara att göra detta med Linux, men det är också möjligt att göra detta i windows..4) Om kommandot 'digitemp' inte fungerar beror det på att det finns flera versioner av digitemp.type digitemp, tryck sedan på fliken för att se dem alla. digitemp_DS9097 är den rätta för denna 1wire busmaster. Bara för enkelhetens skull vill vi att kommandot ska vara `digitemp`, inte` digitemp_DS9097`. typ `sudo ln -s/usr/bin/digitemp_DS9097/usr/bin/digitemp`5) Som root eller med sudo: Kör `digitemp -s/dev/ttyS0 -i`. Detta söker efter sensorer i 1wire -nätverket och skapar en konfigurationsfil för digitemp. Om du använder COM2, använd -s /dev/ttyS1. Run `digitemp -a` för att läsa temperaturen på den anslutna tempsensorn. Se skärmdumpen6) Gör detta för alla sensorer du ska använda och skriv ner adresserna När du har flera sensorer är det trevligt att veta vilken som är vilken.
Steg 4: Gör sensorerna och nätverket
När du kopplar upp ditt 1wire -nätverk vill du använda cat 5 -nätverkskablar.
Jag har haft några dåliga erfarenheter av att använda andra kablar och att kombinera olika typer av kablar. När du kör över cat5 kan 1wire -bussen ha ganska långa kablar. I en väderstation -installation kör jag en 30 meter cat5 från ett tekniskt rum med en Linux -dator och upp till taket. På taket delas kabeln upp i 3 5-15 meter långa kablar med en sensor i slutet av var och en. Denna inställning fungerar felfritt. 1-trådsnätet är ganska robust. Gör sensorn: Du vill göra sensorn både vattentät och styv. 1) Klipp en Cat 5 -kabel till önskad längd. 2) Avisolera sensoränden. Klipp av 3 av de 4 paren och lämna det gröna/vitgröna. 3) Skjut ett litet krymprör över den gröna tråden. 4) Löd den gröna tråden till mittstiftet på DS1820 5) Dra upp krympröret så att det täcker all metall på mittbenet och metallen i tråden som är ansluten till den. Värm den sedan med en tändare eller värmepistol för att krympa den på plats 6) Löd den vita/gröna tråden till de två andra stiften. 7) Sätt ett större krympslang över sensorn och kabeln. Se bilden. Värm den sedan försiktigt med en tändare för att krympa på plats. Du vill inte elda upp saken, håll bara lågan 4-10 mm från krympröret. 8) Sätt dina sensorer var du än vill ha dem, anslut till rs232 -gränssnittet och anslut till din dator.
Steg 5: Programinstallation - datainsamling
Nu när vi har våra sensorer på plats vill vi samla in lite data från dem. Som rot på din Linux -maskin: 1) Kör `digitemp -s /dev /ttyS0 -i -c /etc/digitemp.conf`Detta skapar konfigurationen fil digitemp.conf med yoru -sensorer. Titta på utmatningen för att se vilket nummer sensorerna får. 2) Kontrollera temperaturen med `digitemp -aq -c /etc/digitemp.conf`3)Dumpa utdata i en fil. Jag dumpar till en fil i apaches wwwroot, på det sättet kan jag komma åt temperaturen var som helst. Kommandot 'digitemp -aq -c /etc/digitemp.conf>/var/www/digitemp.txt' sätter ut utmatningen av digitemp i fil digitemp.txt4) Automatisera denna process: skriv `crontab -e`, detta öppnar root -crontab. Typ` * * * * * digitemp -aq -c /etc/digitemp.conf> /tmp /digitemp; mv /tmp /digitemp /var /www /digitemp.txt 'i den filen och spara den. Kör' crontab -l 'för att bekräfta att crontab har installerats. Anledningen till att jag leder utmatningen till /tmp och sedan flyttar det till /var /www, är att digitemp använder några sekunder för att tävla sin körning. Om du försöker komma åt utdata medan digitemp körs får du en ofullständig fil. Detta kan förstöra andra skript som läser data från den här filen. (Detta ingår inte i skärmdumpen, glömde att göra det) Din väderstation är nu igång. Använd data för att göra vad du vill, grafa den, använd den för att skicka e -post vid hög/låg temperatur, etc.
Steg 6: Programvaruinställningar - grafer
Detta är den knepiga delen, många skript behövs här. 1) Gör en plats för att lägga skripten, en plats för att lagra bilderna och en plats för att lagra data.`mkdir /etc /tempsensor''mkdir /var /www /temperatur''mkdir/var/log/digitemp_rrd'2) Installera programvara: Du behöver PHP och RRDtool. 'adapt-get install rrdtool''apt-get install php` (det finns många php-paket, installera ett med en konsol körbar) 3) Ladda ner och installera skripten som är ansvariga för att göra graferna: Ladda ner tempsensor-0.1.tar.gz till din Linux-maskin.`tar xvzf tempsensor-0.1.tar.gz``cp -v tempsensor/*/etc/ tempsensor`4) Konfigurera skriptet Öppna /etc/tempsensor/config.php och följ kommentarerna i den här filen. Ändra skriptet för att läsa indata från "/var/www/digitemp.txt" om du följde exemplet i föregående steg.5) Automatisera. Lägg till en crontab -post på samma sätt som i föregående steg. Skriptet ska köras var 5: e minut. Raderna ska se ut så här: ' */5 * * * * php /etc/tempsensor/logdata.php''*/5 * * * * php /etc/tempsensor/graphdata.php `6) Kör skripten manuellt för att kontrollera om det fungerar. Php /etc/tempsensor/logdata.phpphp /etc/tempsensor/graphdata.php7)Besök https://your.ip.or.hostname/temperature eller vad du angav i konfigurationsfilen.
Steg 7: Implementering 1 - Övervakning av serverrum
Min första implementering av detta system var i serverrummet på studenthemmen där jag arbetar. Här är några bilder för dig.
Steg 8: Implementering 2 - Väderstation
När jag utrustade serverrummet med temperatursensorer kunde jag bara inte låta bli att lägga några på taket!
Väderstationen är lite knepigare än serverrummet. Det är mycket störningar utanför. Solen kan träffa en sensor och skicka den från -1 till 30 c på 5 minuter. Jag löste detta genom att använda tre sensorer placerade vid punkter som skulle ta emot solljus vid olika tidpunkter under dagen. Eftersom värme är det enda "bruset" i mätningen använder jag bara sensorn med den lägsta avläsningen när som helst som min "utomhustemperatur". Denna temperatur utjämnas igen genom att medelvärdet av de senaste minuterna.
Steg 9: Implementering 3 - Studentrum
En vän till mig följde detta instruerbara och utrustade sin lägenhet med temperatursensorer. I kylskåp, badrum, dator etc.:)
Rekommenderad:
Professionell väderstation med ESP8266 och ESP32 DIY: 9 steg (med bilder)
Professionell väderstation med hjälp av ESP8266 och ESP32 DIY: LineaMeteoStazione är en komplett väderstation som kan anslutas till professionella sensorer från Sensirion samt en viss Davis Instrument -komponent (regnmätare, vindmätare) Projektet är avsett som en DIY väderstation men kräver bara
Enkel väderstation med ESP8266 .: 6 steg (med bilder)
Enkel väderstation som använder ESP8266 .: I den här instruktionsboken kommer jag att dela hur jag använder ESP8266 för att få data som temperatur, tryck, klimat etc. Och YouTube -data som prenumeranter och amp; Totalt antal visningar. och visa data på seriell bildskärm och visa dem på LCD. Uppgifterna kommer att vara
Komplett DIY Raspberry Pi -väderstation med programvara: 7 steg (med bilder)
Komplett DIY Raspberry Pi -väderstation med programvara: I slutet av februari såg jag det här inlägget på Raspberry Pi -webbplatsen. http://www.raspberrypi.org/school-weather-station-…They hade skapat Raspberry Pi väderstationer för skolor. Jag ville helt ha en! Men vid den tiden (och jag tror fortfarande från och med skrivande
Väderstation med Arduino, BME280 och display för att se trenden inom de senaste 1-2 dagarna: 3 steg (med bilder)
Väderstation Med Arduino, BME280 & Display för att se trenden under de senaste 1-2 dagarna: Hej! Här på instruerbara väderstationer har redan införts. De visar det aktuella lufttrycket, temperaturen och luftfuktigheten. Vad de saknade hittills var en presentation av kursen under de senaste 1-2 dagarna. Denna process skulle ha
Väderstation med dataloggning: 7 steg (med bilder)
Väderstation med dataloggning: I den här instruktören kommer jag att visa dig hur du gör väderstationssystem själv. Allt du behöver är grundläggande kunskaper inom elektronik, programmering och lite tid. Detta projekt är fortfarande på gång. Detta är bara första delen. Uppgraderingar kommer