Indholdsfortegnelse:
- Trin 1: Du har brug for
- Trin 2: Byg RS232 -grænsefladen
- Trin 3: Test af RS232 -grænsefladen
- Trin 4: Lav sensorerne og netværket
- Trin 5: Softwareopsætning - dataindsamling
- Trin 6: Softwareopsætning - graftegning
- Trin 7: Implementering 1 - Monitorering af serverrum
- Trin 8: Implementering 2 - Vejrstation
- Trin 9: Implementering 3 - Student Dorm Room
Video: Temperatursensor / vejrstation: 9 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:30
Opret en vejrstation eller temperaturmonitor ved hjælp af den meget fede digitale temperatursensor DS1820. Jeg bruger denne opsætning til at overvåge et serverrum og som en vejrstation. Dette projekt består af:
- Et Dallas 1-Wire busnetværk
- Interface mellem RS-232 og Dallas 1-Wire-systemet
- Digitale temperatursensorer forbundet til Dallas 1-Wire-bussen (DS1820/DS18s20)
- Software opsætning til at indsamle og tegne temperaturer
Opdateret 2007-11-18 til at inkludere automatiske grafscripts og billeder af virkelige implementeringer af dette system.
Trin 1: Du har brug for
Dette er hvad du har brug for for at lave en vejrstation eller temperaturlogger:
- Nogle linux -færdigheder
- Grundlæggende elektronikfærdigheder, lodning osv.
Komponenter
- 1 6,2V zener -diode (1N5234)
- 1 3,9V zener -diode (1N5228)
- 2 Schottky -dioder (1N5818)
- 1 1,5 k modstand
- 1 2 -polet skrueterminal
- 1 D-sub 9 hunstik med loddepunkter
- 1 lille stykke perfboard.
- En eller flere Dallas Semiconductor DS1820 eller DS18s20 digital temperatursensor
- Cat5 kabelføring
- Krymp rør
Trin 2: Byg RS232 -grænsefladen
Jeg kan godt lide at bygge 1-Wire busmaster så lille, at den bare kan sidde bag på computeren i rs232-porten.
Trin 1) Find ud af, hvor lille du kan gøre det. Sæt alle komponenterne på en perfbaord. Placer dem med kredsløbet i tankerne. Vi ønsker ikke at tilføje ledninger til bunden af kredsløbet! Se billedet. Trin 2) Klip den rigtige størrelse perfboard ud. Bare træk en skarp kniv et par gange hen over rækken af huller, hvor du vil skære. Gør dette på begge sider, og del det bare i to. Det går normalt i stykker ved den fejllinje, du har oprettet. 3) Loddet komponenterne på plads. og tilslut loddepunkterne for at fuldføre kredsløbet.
Trin 3: Test af RS232 -grænsefladen
1) Download og installer digitemp. På Debian og Ubuntu Linux gøres dette ved at køre `sudo apt-get install digitemp`. 2) Tilslut en DS1820 til dit kredsløb. Mellembenet går i DQ-porten, de to andre ben går i GND3) Tilslut kredsløbet til en computere rs232 port. Jeg dækker kun at gøre dette med Linux, men det er også muligt at gøre dette i windows..4) Hvis kommandoen 'digitemp' ikke virker, er det fordi der er flere versioner af digitemp.type digitemp, og tryk derefter på fanen for at se dem alle. digitemp_DS9097 er den rigtige for denne 1wire busmaster. Bare for enkelthedens skyld vil vi have kommandoen til at være `digitemp`, ikke` digitemp_DS9097`. type `sudo ln -s/usr/bin/digitemp_DS9097/usr/bin/digitemp`5) Som root, eller brug sudo: Kør `digitemp -s/dev/ttyS0 -i`. Dette søger i 1wire -netværket efter sensorer og opretter en konfigurationsfil til digitemp. Hvis du bruger COM2, skal du bruge -s /dev/ttyS1. Run `digitemp -a` for at aflæse temperaturen på den tilsluttede temperatursensor. Se skærmbilledet6) Gør dette for alle de sensorer, du skal bruge, og skriv adresserne ned Når du har flere sensorer, er det rart at vide, hvilken der er hvilken.
Trin 4: Lav sensorerne og netværket
Når du tilslutter dit 1wire -netværk, vil du bruge kat 5 netværkskabler.
Jeg har haft nogle dårlige oplevelser med at bruge andre kabler og med at kombinere forskellige typer kabel. Når du kører over cat5, kan 1wire -bussen have ret lange kabler. I en vejrstationopsætning kører jeg en 30 meter cat5 fra et teknisk rum med en Linux -computer og op til taget. På taget er kablet delt op i 3 5-15 meter lange kabler med en sensor i enden af hver enkelt. Denne opsætning fungerer upåklageligt. 1-ledernetværket er ret robust. Gør sensoren: Du vil gøre sensoren både vandtæt og stiv. 1) Klip et Cat 5 -kabel til den ønskede længde. 2) Afisolér sensorenden. Skær 3 af de 4 par af, og lad det grønne/hvidgrønne blive. 3) Skub et lille krympeslange hen over den grønne ledning. 4) Lod den grønne ledning til den midterste pin på DS1820 5) Træk krympeslangen op, så den dækker alt metal af midterbenet og metallet af ledningen forbundet til det. Opvarm den derefter med en lighter eller varmepistol for at krympe den på plads 6) Lod den hvide/grønne ledning til de to andre ben. 7) Sæt et større krympeslange over sensoren og kablet. Se billedet. Opvarm det derefter forsigtigt med en lighter for at krympe på plads. Du vil ikke tænde tingen, bare hold flammen 4-10 mm væk fra krympeslangen. 8) Sæt dine sensorer, hvor du vil have dem, tilslut til rs232 interface og tilslut din computer.
Trin 5: Softwareopsætning - dataindsamling
Nu hvor vi har vores sensorer på plads, vil vi indsamle nogle data fra dem. Som root på din linux -maskine: 1) Kør `digitemp -s /dev /ttyS0 -i -c /etc/digitemp.conf`Dette opretter konfigurationen fil digitemp.conf med yoru -sensorer. Se output for at se, hvilket nummer sensorerne får. 2) Kontroller temperaturen med `digitemp -aq -c /etc/digitemp.conf`3)Dump outputdataene i en fil. Jeg dumper til en fil i apaches wwwroot, på den måde kan jeg få adgang til temperaturen hvor som helst. Kommandoen 'digitemp -aq -c /etc/digitemp.conf>/var/www/digitemp.txt' sætter output fra digitemp i fil digitemp.txt4) Automatiser denne proces: skriv `crontab -e`, dette åbner rødder crontab. Type` * * * * * digitemp -aq -c /etc/digitemp.conf> /tmp /digitemp; mv /tmp /digitemp /var /www /digitemp.txt` i den fil, og gem den. Kør `crontab -l` for at bekræfte, at crontab er installeret. Grunden til, at jeg leder output til /tmp og derefter flytter det til /var /www, er, at digitemp bruger et par sekunder til at konkurrere sit løb. Hvis du prøver at få adgang til output mens digitemp kører, får du en ufuldstændig fil. Dette kan ødelægge andre scripts, der læser data fra denne fil. (Dette er ikke inkluderet i skærmbilledet, glemte at gøre det) Din vejrstation er nu i gang. Brug dataene til at gøre hvad du vil, graf det, brug det til at e -maile i tilfælde af høj/lav temp osv.
Trin 6: Softwareopsætning - graftegning
Dette er den vanskelige del, mange scripting er nødvendige her. 1) Lav et sted at placere scripts, et sted at gemme billederne og et sted at gemme dataene. `Mkdir /etc /tempsensor``mkdir /var /www /temperatur''mkdir/var/log/digitemp_rrd'2) Installer software: Du skal bruge PHP og RRDtool. 'adapt-get install rrdtool''apt-get install php` (der er mange php-pakker, installer en med en konsol eksekverbar) 3) Download og installer de scripts, der er ansvarlige for at lave graferne: Download tempsensor-0.1.tar.gz til din linux-maskine.`tar xvzf tempsensor-0.1.tar.gz``cp -v tempsensor/*/etc/ tempsensor`4) Konfigurer scripts Åbn /etc/tempsensor/config.php og følg kommentarerne i denne fil. Skift scriptet for at læse inputdata fra "/var/www/digitemp.txt", hvis du fulgte eksemplet i det foregående trin.5) Automatiser. Tilføj en crontab -post på samme måde som i det foregående trin. Scriptet skal køre hvert 5. minut. Linjerne skal se sådan ud: `` */5 * * * * php /etc/tempsensor/logdata.php``*/5 * * * * php /etc/tempsensor/graphdata.php `6) Kør scripts manuelt for at kontrollere, om det virker. Php /etc/tempsensor/logdata.phpphp /etc/tempsensor/graphdata.php7)Besøg https://your.ip.or.hostname/temperature eller hvad du angiver i konfigurationsfilen.
Trin 7: Implementering 1 - Monitorering af serverrum
Min første implementering af dette system var i serverrummet på de studerendes sovesale, hvor jeg arbejder. Her er nogle billeder til dig.
Trin 8: Implementering 2 - Vejrstation
Da jeg udstyrede serverrummet med temperatursensorer, kunne jeg bare ikke lade være med at lægge nogle på taget!
Vejrstationen er lidt vanskeligere end serverrummet. Der er meget interferens udenfor. Solen kan ramme en sensor og sende den fra -1 til 30 c på 5 minutter. Jeg løste dette ved at bruge tre sensorer placeret på punkter, der ville modtage sollys på forskellige tidspunkter i løbet af dagen. Da varme er den eneste "støj" i målingen, bruger jeg bare sensoren med den laveste aflæsning til enhver tid som min "udetemperatur". Denne temperatur udjævnes igen ved et gennemsnit af de sidste par minutter.
Trin 9: Implementering 3 - Student Dorm Room
En af mine venner fulgte dette instruktive og udstyrede sin lejlighed med temperatursensorer. I køleskab, badeværelse, computer osv.:)
Anbefalede:
Komplet DIY Raspberry Pi vejrstation med software: 7 trin (med billeder)
Komplet DIY Raspberry Pi vejrstation med software: Tilbage i slutningen af februar så jeg dette indlæg på Raspberry Pi -webstedet. http://www.raspberrypi.org/school-weather-station-…They havde oprettet Raspberry Pi vejrstationer til skoler. Jeg ville helt have en! Men på det tidspunkt (og jeg tror stadig som i skrivende stund
Mini vejrstation med Attiny85: 6 trin (med billeder)
Mini Weather Station With Attiny85: I en nylig instruerbar Indigod0g beskrev en mini -vejrstation, der fungerer ret godt ved hjælp af to Arduinos. Måske er det ikke alle, der ønsker at ofre 2 Arduinos for at få fugtigheds- og temperaturmålinger, og jeg kommenterede, at det burde være muligt at d
Vejrstation med Arduino, BME280 og display til at se trenden inden for de sidste 1-2 dage: 3 trin (med billeder)
Vejrstation Med Arduino, BME280 & Display til at se trenden inden for de sidste 1-2 dage: Hej! Her på vejledninger er vejrstationer allerede blevet introduceret. De viser det aktuelle lufttryk, temperatur og fugtighed. Det, de hidtil manglede, var en præsentation af forløbet inden for de sidste 1-2 dage. Denne proces ville have en
Vejrstation med lav effekt: 6 trin (med billeder)
Low Power Weather Station: Nu i den tredje version og efter at have været testet i over to år, bliver min vejrstation opgraderet til bedre laveffektydelse og dataoverførselspålidelighed. Strømforbrug - ikke et problem i andre måneder end december og januar, men
Vejrstation med datalogning: 7 trin (med billeder)
Vejrstation med datalogning: I denne instruktive vil jeg vise dig, hvordan du laver vejrstationssystem selv. Alt du behøver er grundlæggende viden inden for elektronik, programmering og en lille smule tid. Dette projekt er stadig undervejs. Dette er kun første del. Opgraderinger vil være