Innholdsfortegnelse:

Temperatursensor / værstasjon: 9 trinn (med bilder)
Temperatursensor / værstasjon: 9 trinn (med bilder)

Video: Temperatursensor / værstasjon: 9 trinn (med bilder)

Video: Temperatursensor / værstasjon: 9 trinn (med bilder)
Video: Bruk av sensorer og ny teknologi i vannovervåkingen 2024, November
Anonim
Temperatursensor / værstasjon
Temperatursensor / værstasjon
Temperatursensor / værstasjon
Temperatursensor / værstasjon

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

Du trenger
Du trenger
Du trenger
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

Bygg RS232 -grensesnittet
Bygg RS232 -grensesnittet
Bygg RS232 -grensesnittet
Bygg RS232 -grensesnittet
Bygg RS232 -grensesnittet
Bygg RS232 -grensesnittet
Bygg RS232 -grensesnittet
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

Tester RS232 -grensesnittet
Tester RS232 -grensesnittet
Tester RS232 -grensesnittet
Tester 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

Lag sensorene og nettverket
Lag sensorene og nettverket
Lag sensorene og nettverket
Lag sensorene og nettverket
Lag sensorene og nettverket
Lag sensorene og nettverket
Lag sensorene og nettverket
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

Programvareoppsett - Datainnsamling
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

Programvareoppsett - Grafer
Programvareoppsett - Grafer
Programvareoppsett - Grafer
Programvareoppsett - Grafer

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

Implementering 1 - Overvåking av serverrom
Implementering 1 - Overvåking av serverrom
Implementering 1 - Overvåking av serverrom
Implementering 1 - Overvåking av serverrom
Implementering 1 - Overvåking av serverrom
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

Gjennomføring 2 - Værstasjon
Gjennomføring 2 - Værstasjon
Gjennomføring 2 - Værstasjon
Gjennomføring 2 - Værstasjon
Gjennomføring 2 - Værstasjon
Gjennomføring 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

Implementering 3 - Student sovesal
Implementering 3 - Student sovesal
Implementering 3 - Student sovesal
Implementering 3 - Student sovesal

En venn av meg fulgte denne instruksen og utstyrte leiligheten hans med temperatursensorer. I kjøleskap, bad, datamaskin etc.:)

Anbefalt: