Innholdsfortegnelse:
- Trinn 1: Du trenger
- Trinn 2: Bygg RS232 -grensesnittet
- Trinn 3: Testing av RS232 -grensesnittet
- Trinn 4: Lag sensorene og nettverket
- Trinn 5: Programvareoppsett - Datainnsamling
- Trinn 6: Programvareoppsett - Graftegning
- Trinn 7: Implementering 1 - Overvåking av serverrom
- Trinn 8: Implementering 2 - Værstasjon
- Trinn 9: Implementering 3 - Student sovesal
Video: Temperatursensor / værstasjon: 9 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:25
Lag en værstasjon eller temperaturmonitor ved hjelp av den veldig kule digitale temperatursensoren DS1820. Jeg bruker dette oppsettet til å overvåke et serverrom, og som en værstasjon. Dette prosjektet består av:
- Et Dallas 1-Wire bussnettverk
- Grensesnitt mellom RS-232 og Dallas 1-Wire-systemet
- Digitale temperatursensorer koblet til Dallas 1-Wire-bussen (DS1820/DS18s20)
- Programvareoppsett for å samle og tegne temperaturer
Oppdatert 2007-11-18 for å inkludere automatiske grafskript og bilder av virkelige implementeringer av dette systemet.
Trinn 1: Du trenger
Dette er hva du trenger for å lage en værstasjon eller temperaturlogger:
- Noen Linux -ferdigheter
- Grunnleggende elektronikkferdigheter, lodding osv.
Komponenter
- 1 6.2V Zenerdiode (1N5234)
- 1 3,9V Zenerdiode (1N5228)
- 2 Schottky -dioder (1N5818)
- 1 1,5 k motstand
- 1 2 -pins skrueterminal
- 1 D-sub 9 hunnkontakt med loddepunkter
- 1 lite stykke perfboard.
- En eller flere Dallas Semiconductor DS1820 eller DS18s20 digital temperatursensor
- Cat5 kabling
- Krymp rør
Trinn 2: Bygg RS232 -grensesnittet
Jeg liker å bygge 1-Wire busmaster så liten at den bare kan sitte bak på datamaskinen i rs232-porten.
Trinn 1) Finn ut hvor liten du kan gjøre den. Legg alle komponentene på en perfbaord. Plasser dem med kretsen i tankene. Vi ønsker ikke å legge noen ledninger til bunnen av kretsen! Se bildet. Trinn 2) Klipp ut perfboard i riktig størrelse. Bare dra en skarp kniv et par ganger over hullrekken der du vil skjære. Gjør dette på begge sider, så bare del det i to. Det bryter vanligvis ved feillinjen du opprettet. 3) Lodd komponentene på plass. og koble loddepunktene for å fullføre kretsen.
Trinn 3: Testing av RS232 -grensesnittet
1) Last ned og installer digitemp. På Debian og Ubuntu Linux gjøres dette ved å kjøre `sudo apt-get install digitemp`. 2) Koble en DS1820 til kretsen din. Midtbenet går i DQ-porten, de to andre benene går i GND3) Koble kretsen til en datamaskin rs232 -port. Jeg dekker bare å gjøre dette med Linux, men det er også mulig å gjøre dette i windows..4) Hvis kommandoen 'digitemp' ikke fungerer, er det fordi det er flere versjoner av digitemp.type digitemp, og trykk deretter på tabulator for å se dem alle. digitemp_DS9097 er den riktige for denne 1wire bussmasteren. Bare for enkelhets skyld vil vi at kommandoen skal være `digitemp`, ikke` digitemp_DS9097`. type `sudo ln -s/usr/bin/digitemp_DS9097/usr/bin/digitemp`5) Som root, eller bruk sudo: Kjør `digitemp -s/dev/ttyS0 -i`. Dette søker etter sensorer i 1wire -nettverket, og oppretter en konfigurasjonsfil for digitemp. Hvis du bruker COM2, bruk -s /dev/ttyS1. Run `digitemp -a` for å lese temperaturen på den tilkoblede temposensoren. Se skjermbildet6) Gjør dette for alle sensorene du skal bruke, og skriv ned adressene Når du har flere sensorer, er det hyggelig å vite hvilken som er hvilken.
Trinn 4: Lag sensorene og nettverket
Når du kobler ditt 1wire -nettverk, vil du bruke cat 5 -nettverkskabler.
Jeg har hatt noen dårlige erfaringer med å bruke andre kabler, og med å kombinere forskjellige typer kabel. Når du kjører over cat5, kan 1wire -bussen ha ganske lange kabler. I et værstasjonsoppsett kjører jeg en 30 meter cat5 fra et teknisk rom med en Linux -datamaskin og opp til taket. På taket er kabelen delt i 3 5-15 meter lange kabler med en sensor i enden av hver. Dette oppsettet fungerer feilfritt. 1-tråds nettverket er ganske robust. Lage sensoren: Du vil gjøre sensoren både vanntett og stiv. 1) Klipp en Cat 5 -kabel til ønsket lengde. 2) Avisolere sensorenden. Klipp av 3 av de 4 parene, og la det grønne/hvittgrønne bli igjen. 3) Skyv et lite krympeslange over den grønne ledningen. 4) Lodd den grønne ledningen til den midtre tappen på DS1820 5) Trekk krympeslangen opp, slik at den dekker alt metallet på mellombenet og metallet til ledningen som er koblet til det. Varm den deretter opp med en lighter eller varmepistol for å krympe den på plass 6) Lodd den hvite/grønne ledningen til de to andre pinnene. 7) Sett et større krympeslange over sensoren og kabelen. Se bildet. Varm den deretter forsiktig med en lighter for å krympe på plass. Du vil ikke sette fyr på tingen, bare hold flammen 4-10 mm unna krympeslangen. 8) Sett sensorene dine hvor du vil ha dem, koble til rs232 -grensesnittet og koble til datamaskinen.
Trinn 5: Programvareoppsett - Datainnsamling
Nå som vi har sensorene våre på plass, ønsker vi å samle noen data fra dem. Som rot på din Linux -maskin: 1) Kjør `digitemp -s /dev /ttyS0 -i -c /etc/digitemp.conf`Dette oppretter konfigurasjonen fil digitemp.conf med yoru -sensorer. Se utgangen for å se hvilket nummer sensorene får. 2) Sjekk temperaturen med `digitemp -aq -c /etc/digitemp.conf`3)Dump utdataene til en fil. Jeg dumper til en fil i apaches wwwroot, på den måten kan jeg få tilgang til temperaturen hvor som helst. Kommandoen `digitemp -aq -c /etc/digitemp.conf>/var/www/digitemp.txt` setter utgangen fra digitemp inn i fil digitemp.txt4) Automatiser denne prosessen: skriv `crontab -e`, dette åpner røttene crontab. Type` * * * * * digitemp -aq -c /etc/digitemp.conf> /tmp /digitemp; mv /tmp /digitemp /var /www /digitemp.txt` i den filen, og lagre den. Kjør `crontab -l` for å bekrefte at crontab er installert. Grunnen til at jeg pipetter utgangen til /tmp og deretter flytter det til /var /www, er at digitemp bruker noen sekunder på å konkurrere løpet sitt. Hvis du prøver å få tilgang til utgangen mens digitemp kjører, vil du få en ufullstendig fil. Dette kan ødelegge andre skript som leser data fra denne filen. (Dette er ikke inkludert i skjermbildet, glemte å gjøre det) Værstasjonen din er nå i gang. Bruk dataene til å gjøre hva du vil, graf den, bruk den til å sende e -post ved høy/lav temperatur, etc.
Trinn 6: Programvareoppsett - Graftegning
Dette er den vanskelige delen, mye skripting er nødvendig her. 1) Lag et sted å sette skriptene, et sted å lagre bildene og et sted å lagre dataene. /temperatur``mkdir/var/log/digitemp_rrd`2) Installer programvare: Du trenger PHP og RRDtool. `adapt-get install rrdtool`` adapt-get install php` (det er mange php-pakker, installer en med en konsoll kjørbar) 3) Last ned og installer skriptene som er ansvarlige for å lage grafene: Last ned tempsensor-0.1.tar.gz til din Linux-maskin.`tar xvzf tempsensor-0.1.tar.gz``cp -v tempsensor/*/etc/ tempsensor`4) Konfigurer scriptsOpen /etc/tempsensor/config.php og følg kommentarene i denne filen. Endre scriptet for å lese inndata fra "/var/www/digitemp.txt" hvis du fulgte eksemplet i forrige trinn.5) Automatiser. Legg til en crontab -oppføring på samme måte som i forrige trinn. Skriptet skal kjøre hvert 5. minutt. Linjene skal se slik ut: `` */5 * * * * php /etc/tempsensor/logdata.php''*/5 * * * * php /etc/tempsensor/graphdata.php `6) Kjør skriptene manuelt for å sjekke om det fungerer. Php /etc/tempsensor/logdata.phpphp /etc/tempsensor/graphdata.php7)Besøk https://your.ip.or.hostname/temperature eller hva du angir i konfigurasjonsfilen.
Trinn 7: Implementering 1 - Overvåking av serverrom
Min første implementering av dette systemet var i serverrommet på studenthjemmene der jeg jobber. Her er noen bilder til deg.
Trinn 8: Implementering 2 - Værstasjon
Da jeg utstyrte serverrommet med temperatursensorer, kunne jeg bare ikke la være å sette noen på taket!
Værstasjonen er litt vanskeligere enn serverrommet. Det er mye interferens utenfor. Solen kan treffe en sensor og sende den fra -1 til 30 c på 5 minutter. Jeg løste dette ved å bruke tre sensorer plassert på punkter som ville motta sollys på forskjellige tidspunkter i løpet av dagen. Siden varme er den eneste "støyen" i målingen, bruker jeg bare sensoren med den laveste avlesningen til enhver tid som min "utetemperatur". Denne temperaturen glattes igjen ved gjennomsnitt av de siste minuttene.
Trinn 9: Implementering 3 - Student sovesal
En venn av meg fulgte denne instruksen og utstyrte leiligheten hans med temperatursensorer. I kjøleskap, bad, datamaskin etc.:)
Anbefalt:
NaTaLia værstasjon: Arduino solcelledrevet værstasjon gjort den riktige måten: 8 trinn (med bilder)
NaTaLia værstasjon: Arduino solcelledrevet værstasjon gjort på riktig måte: Etter 1 års vellykket drift på 2 forskjellige steder deler jeg mine solcelledrevne værstasjonsprosjektplaner og forklarer hvordan det utviklet seg til et system som virkelig kan overleve over lang tid perioder fra solenergi. Hvis du følger
Komplett DIY Raspberry Pi værstasjon med programvare: 7 trinn (med bilder)
Komplett DIY Raspberry Pi værstasjon med programvare: I slutten av februar så jeg dette innlegget på Raspberry Pi -nettstedet. http://www.raspberrypi.org/school-weather-station-…De hadde opprettet Raspberry Pi værstasjoner for skoler. Jeg ville helt ha en! Men på det tidspunktet (og jeg tror fremdeles i skrivende stund
Mini værstasjon med Attiny85: 6 trinn (med bilder)
Mini Weather Station With Attiny85: I en nylig instruerbar Indigod0g beskrev en mini værstasjon som fungerer ganske bra, ved hjelp av to Arduinos. Kanskje ikke alle ønsker å ofre 2 Arduinos for å få fuktighets- og temperaturavlesninger, og jeg kommenterte at det burde være mulig å
Værstasjon med Arduino, BME280 og display for å se trenden i løpet av de siste 1-2 dagene: 3 trinn (med bilder)
Værstasjon Med Arduino, BME280 og display for å se trenden i løpet av de siste 1-2 dagene: Hei! Her på instruksjonsbare værstasjoner har allerede blitt introdusert. De viser gjeldende lufttrykk, temperatur og fuktighet. Det de manglet så langt var en presentasjon av kurset i løpet av de siste 1-2 dagene. Denne prosessen vil ha en
Værstasjon med datalogging: 7 trinn (med bilder)
Værstasjon med datalogging: I denne instruksen vil jeg vise deg hvordan du lager værstasjonssystem selv. Alt du trenger er grunnleggende kunnskap innen elektronikk, programmering og litt tid. Dette prosjektet er fremdeles under utvikling. Dette er bare første del. Oppgraderinger blir