Sadržaj:

Senzor temperature / meteorološka stanica: 9 koraka (sa slikama)
Senzor temperature / meteorološka stanica: 9 koraka (sa slikama)

Video: Senzor temperature / meteorološka stanica: 9 koraka (sa slikama)

Video: Senzor temperature / meteorološka stanica: 9 koraka (sa slikama)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Studeni
Anonim
Senzor temperature / meteorološka stanica
Senzor temperature / meteorološka stanica
Senzor temperature / meteorološka stanica
Senzor temperature / meteorološka stanica

Izradite vremensku stanicu ili monitor temperature pomoću vrlo hladnog digitalnog temperaturnog senzora DS1820. Koristim ovu postavku za nadzor poslužiteljske sobe i kao vremensku stanicu. Ovaj se projekt sastoji od:

  • Mreža sabirnica Dallas 1-Wire
  • Sučelje između RS-232 i Dallas 1-Wire sustava
  • Digitalni senzori temperature spojeni na Dallas 1-Wire sabirnicu (DS1820/DS18s20)
  • Softversko postavljanje za prikupljanje i grafikoniranje temperatura

Ažurirano 2007-11-18 kako bi uključivalo automatske grafičke skripte i slike stvarnih implementacija ovog sustava.

Korak 1: Trebate

Trebaš
Trebaš
Trebaš
Trebaš

Ovo je ono što vam je potrebno za izradu meteorološke stanice ili mjeritelja temperature:

  • Neke linux vještine
  • Osnovne vještine elektronike, lemljenje itd.

Komponente

  • 1 Zener dioda 6,2 V (1N5234)
  • 1 Zener dioda 3,9 V (1N5228)
  • 2 Schottkyjeve diode (1N5818)
  • 1 otpornik od 1,5 k
  • 1 2 -pinski vijčani terminal
  • 1 ženski konektor D-sub 9 s lemnim točkama
  • 1 mali komad perfarda.
  • Jedan ili više digitalnih osjetnika temperature Dallas Semiconductor DS1820 ili DS18s20
  • Cat5 kabeli
  • Skupljajuća cijev

Korak 2: Izgradite RS232 sučelje

Izgradite RS232 sučelje
Izgradite RS232 sučelje
Izgradite RS232 sučelje
Izgradite RS232 sučelje
Izgradite RS232 sučelje
Izgradite RS232 sučelje
Izgradite RS232 sučelje
Izgradite RS232 sučelje

Volim izgraditi 1-Wire busmaster tako mali da može sjediti na stražnjoj strani računala u rs232 portu.

Korak 1) Shvatite koliko ga možete učiniti malim. Stavite sve komponente na perford. Postavite ih imajući na umu krug. Ne želimo dodati žice na dno kruga! Vidi sliku. Korak 2) Izrežite perfboard odgovarajuće veličine. Samo nekoliko puta povucite oštar nož preko reda rupa koje želite izrezati. Učinite to s obje strane, a zatim ga samo prelomite na dva dijela. Obično se lomi na liniji rasjeda koju ste stvorili. 3) Lemite komponente na svoje mjesto. i spojite točke lemljenja kako biste dovršili krug.

Korak 3: Testiranje RS232 sučelja

Testiranje RS232 sučelja
Testiranje RS232 sučelja
Testiranje RS232 sučelja
Testiranje RS232 sučelja

1) Preuzmite i instalirajte digitemp. Na Debian-u i Ubuntu Linuxu to se radi pokretanjem `sudo apt-get install digitemp`. 2) Spojite DS1820 na svoj krug. Srednja noga ide u DQ port, ostale dvije noge idu u GND3) Spojite krug na računalo rs232 port. Ovo pokrivam samo s Linuxom, ali je moguće i u Windowsima..4) Ako naredba `digitemp` ne radi, to je zato što postoji više verzija digitemp.type digitemp, zatim pritisnite tabulator da ih vidite sve.. digitemp_DS9097 je pravi izbor za ovog vodiča sa 1 žicom. Samo radi jednostavnosti želimo da naredba bude `digitemp`, a ne` digitemp_DS9097`.type `sudo ln -s/usr/bin/digitemp_DS9097/usr/bin/digitemp`5) Kao root, ili koristeći sudo: Pokrenite `digitemp -s/dev/ttyS0 -i`. Ovo traži senzore u mreži 1wire i stvara konfiguracijsku datoteku za digitemp. Ako koristite COM2, upotrijebite -s /dev/ttyS1. Pokrenite `digitemp -a` za očitavanje temperature spojenog osjetnika temperature. Pogledajte snimku zaslona 6) Učinite to za sve senzore koje ćete koristiti i zapišite adrese za svaki od njih. Kad imate više senzora, lijepo je znati koji je koji.

Korak 4: Napravite senzore i mrežu

Napravite senzore i mrežu
Napravite senzore i mrežu
Napravite senzore i mrežu
Napravite senzore i mrežu
Napravite senzore i mrežu
Napravite senzore i mrežu
Napravite senzore i mrežu
Napravite senzore i mrežu

Prilikom povezivanja 1wire mreže želite koristiti mrežne kabele cat 5.

Imao sam loših iskustava s korištenjem drugih kabela i s kombiniranjem različitih vrsta kabela. Prilikom prelaska preko cat5, sabirnica 1wire može imati prilično dugačke kabele. U jednoj postavci vremenske postaje vodim 30 -metarskog cat5 iz tehničke prostorije s Linux računalom pa do krova. Na krovu je kabel podijeljen na 3 kabla dugačka 5-15-15 metara sa senzorom na kraju svakog. Ova postavka radi besprijekorno. 1-žična mreža prilično je robusna. Izrada senzora: Senzor želite učiniti vodootpornim i krutim. 1) Odrežite kabel Cat 5 na željenu duljinu. 2) Deizolirajte kraj osjetnika. Odrežite 3 od 4 para, ostavljajući jedan zeleno/bijelozeleni. 3) Gurnite malu skupljajuću cijev preko zelene žice. 4) Lemljenje zelene žice na srednji klin DS1820 5) Povucite skupljajuću cijev prema gore, tako da pokriva sav metal srednje noge i metal žice spojene na nju. Zatim ga zagrijte upaljačem ili toplinskim pištoljem da biste ga stisnuli na mjestu. 6) Lemite bijelu/zelenu žicu na dva druga igla. 7) Stavite veću skupljajuću cijev preko senzora i kabela. Pogledajte sliku. Zatim ga lagano zagrijte upaljačem da se stisne na mjestu. Ne želite zapaliti stvar, samo držite plamen 4-10 mm dalje od skupljajuće cijevi. 8) Postavite svoje senzore gdje god želite, spojite ih na sučelje rs232 i uključite u računalo.

Korak 5: Postavljanje softvera - prikupljanje podataka

Postavljanje softvera - Prikupljanje podataka
Postavljanje softvera - Prikupljanje podataka

Sada kada smo postavili svoje senzore, želimo od njih prikupiti neke podatke. Kao korijen na vašem linux stroju: 1) Pokrenite `digitemp -s /dev /ttyS0 -i -c /etc/digitemp.conf` Ovo stvara konfiguraciju datoteku digitemp.conf s yoru senzorima. Gledajte izlaz kako biste vidjeli koji broj senzori dobivaju.2) Provjerite temperaturu pomoću `digitemp -aq -c /etc/digitemp.conf`3)Spremite izlazne podatke u datoteku. Izbacujem u datoteku unutar apaches wwwroot -a, na taj način mogu pristupiti temperaturi s bilo kojeg mjesta. Naredba `digitemp -aq -c /etc/digitemp.conf>/var/www/digitemp.txt` stavlja izlaz digitempa u datoteka digitemp.txt4) Automatizirajte ovaj proces: upišite `crontab -e`, ovo otvara korijene crontab. Tip` * * * * * digitemp -aq -c /etc/digitemp.conf> /tmp /digitemp; mv /tmp /digitemp /var /www /digitemp.txt` u tu datoteku i spremite je. Pokrenite `crontab -l` da biste potvrdili da je crontab instaliran. Razlog zbog kojeg prenosim izlaz u /tmp i zatim premještam to /var /www, je da digitemp koristi nekoliko sekundi da se natječe u svom izvođenju. Ako pokušate pristupiti ispisu dok je digitemp pokrenut, dobit ćete nepotpunu datoteku. To bi moglo poremetiti druge skripte koje čitaju podatke iz ove datoteke. (Ovo nije uključeno u snimak zaslona, zaboravili ste to učiniti) Vaša vremenska stanica je sada pokrenuta. Upotrijebite podatke da radite što god želite, iscrtajte ih grafikonima, koristite ih za slanje e -pošte u slučaju visoke/niske temperature itd.

Korak 6: Postavljanje softvera - Crtanje

Postavljanje softvera - Crtanje
Postavljanje softvera - Crtanje
Postavljanje softvera - Crtanje
Postavljanje softvera - Crtanje

Ovo je lukav dio, ovdje je potrebno mnogo skriptiranja.1) Napravite mjesto za postavljanje skripti, mjesto za pohranu slika i mjesto za pohranu podataka. `Mkdir /etc /tempsensor``mkdir /var /www /temperature``mkdir/var/log/digitemp_rrd`2) Instalirajte softver: Trebat će vam PHP i RRDtool.`apt-get install rrdtool``apt-get install php` (postoji mnogo php paketa, instalirajte jedan s konzola izvršna) 3) Preuzmite i instalirajte skripte odgovorne za izradu grafikona: Preuzmite tempsensor-0.1.tar.gz na svoj linux stroj. `xtar xvzf tempsensor-0.1.tar.gz` `cp -v tempsensor/*/etc/ tempsensor`4) Konfigurirajte scriptsOpen /etc/tempsensor/config.php i slijedite komentare u ovoj datoteci. Promijenite skriptu za čitanje ulaznih podataka iz "/var/www/digitemp.txt" ako ste slijedili primjer u prethodnom koraku.5) Automatiziraj. Dodaj unos u crontab na isti način kao u prethodnom koraku. Skripta bi se trebala izvoditi svake 5. minute. Redci bi trebali izgledati ovako: ` */5 * * * * php /etc/tempsensor/logdata.php``*/5 * * * * php /etc/tempsensor/graphdata.php `6) Ručno pokrenite skripte da biste provjerili radi li.php /etc/tempsensor/logdata.phpphp /etc/tempsensor/graphdata.php7)Posjetite https://your.ip.or.hostname/temperature ili bilo što što ste naveli u konfiguracijsku datoteku.

Korak 7: Implementacija 1 - Nadzor poslužiteljske sobe

Implementacija 1 - Nadzor poslužiteljske sobe
Implementacija 1 - Nadzor poslužiteljske sobe
Implementacija 1 - Nadzor poslužiteljske sobe
Implementacija 1 - Nadzor poslužiteljske sobe
Implementacija 1 - Nadzor poslužiteljske sobe
Implementacija 1 - Nadzor poslužiteljske sobe

Moja prva implementacija ovog sustava bila je u poslužiteljskoj sobi u studentskim domovima u kojoj radim. Evo nekoliko slika za vas.

Korak 8: Implementacija 2 - meteorološka stanica

Implementacija 2 - Meteorološka stanica
Implementacija 2 - Meteorološka stanica
Implementacija 2 - Meteorološka stanica
Implementacija 2 - Meteorološka stanica
Implementacija 2 - Meteorološka stanica
Implementacija 2 - Meteorološka stanica

Kad sam opremio poslužiteljsku sobu senzorima temperature, jednostavno nisam mogao odoljeti da ne stavim neke na krov!

Vremenska stanica je malo zeznutija od poslužiteljske sobe. Vani je mnogo smetnji. Sunce može udariti u senzor i poslati ga od -1 do 30 c u 5 minuta. Riješio sam to pomoću tri senzora postavljena na mjestima koja bi primala sunčevu svjetlost u različito doba dana. Budući da je toplina jedini "šum" u mjerenju, samo koristim senzor s najnižim očitanjem u bilo kojem trenutku kao svoju "vanjsku temperaturu". Ova se temperatura ponovno ublažava prosjekom za posljednjih nekoliko minuta.

Korak 9: Implementacija 3 - Soba za studentski dom

Provedba 3 - Soba studentskog doma
Provedba 3 - Soba studentskog doma
Provedba 3 - Soba studentskog doma
Provedba 3 - Soba studentskog doma

Moj prijatelj je slijedio ove upute i opremio svoj stan senzorima temperature. U hladnjaku, kupaonici, računalu itd.:)

Preporučeni: