Talaan ng mga Nilalaman:

Temperatura Sensor / Weatherstation: 9 Mga Hakbang (na may Mga Larawan)
Temperatura Sensor / Weatherstation: 9 Mga Hakbang (na may Mga Larawan)

Video: Temperatura Sensor / Weatherstation: 9 Mga Hakbang (na may Mga Larawan)

Video: Temperatura Sensor / Weatherstation: 9 Mga Hakbang (na may Mga Larawan)
Video: On the traces of an Ancient Civilization? 🗿 What if we have been mistaken on our past? 2024, Nobyembre
Anonim
Temperatura Sensor / Weatherstation
Temperatura Sensor / Weatherstation
Temperatura Sensor / Weatherstation
Temperatura Sensor / Weatherstation

Lumikha ng isang Weatherstation o temperatura monitor gamit ang napaka-cool na digital temperatura sensor DS1820. Ginagamit ko ang setup na ito upang subaybayan ang isang silid ng server, at bilang isang Weatherstation. Ang proyektong ito ay binubuo ng:

  • Isang network ng Dallas 1-Wire bus
  • Interface sa pagitan ng RS-232 at ng Dallas 1-Wire system
  • Mga sensor ng temperatura sa digital na nakakonekta sa Dallas 1-Wire bus (DS1820 / DS18s20)
  • Pag-setup ng software upang makolekta at mai-graph ang mga temperatura

Nai-update 2007-11-18 upang isama ang awtomatikong mga script ng graphing at mga larawan ng pagpapatupad ng totoong buhay ng sistemang ito.

Hakbang 1: Kailangan Mo

Kailangan mo
Kailangan mo
Kailangan mo
Kailangan mo

Ito ang kailangan mo upang makagawa ng isang istasyon ng panahon o temperatura logger:

  • Ang ilang mga kasanayan sa linux
  • Pangunahing kasanayan sa electronics, paghihinang atbp.

Mga Bahagi

  • 1 6.2V Zener diode (1N5234)
  • 1 3.9V Zener diode (1N5228)
  • 2 Schottky diode (1N5818)
  • 1 1.5 k risistor
  • 1 2pin screw terminal
  • 1 D-sub 9 na babaeng konektor na may mga solder point
  • 1 maliit na piraso ng perfboard.
  • Isa o higit pang Dallas Semiconductor DS1820 o DS18s20 digital temperatura sensor
  • Paglalagay ng kable ng Cat5
  • Paliitin ang tubo

Hakbang 2: Buuin ang RS232 Interface

Buuin ang RS232 Interface
Buuin ang RS232 Interface
Buuin ang RS232 Interface
Buuin ang RS232 Interface
Buuin ang RS232 Interface
Buuin ang RS232 Interface
Buuin ang RS232 Interface
Buuin ang RS232 Interface

Gusto kong buuin ang 1-Wire busmaster na napakaliit na maaari lamang itong umupo sa likod ng computer sa port ng rs232.

Hakbang 1) Alamin kung gaano ka kaliit ito magagawa. Ilagay ang lahat ng mga bahagi sa isang perfbaord. Ilagay ang mga ito sa isip ng circuit. Hindi namin nais na magdagdag ng anumang mga wire sa ilalim ng circuit! Se imahe. Hakbang 2) Gupitin ang tamang sukat na perfboard. I-drag lamang ang isang matalim na kutsilyo ng maraming beses sa hilera ng mga butas kung saan mo nais na i-cut. Gawin ito sa magkabilang panig, pagkatapos ay paghiwalayin lamang ito sa dalawa. Karaniwan itong nasisira sa linya ng kasalanan na iyong nilikha. 3) Paghinang ng mga sangkap sa lugar. at ikonekta ang mga puntos ng solder upang makumpleto ang circuit.

Hakbang 3: Pagsubok sa RS232 Interface

Pagsubok sa RS232 Interface
Pagsubok sa RS232 Interface
Pagsubok sa RS232 Interface
Pagsubok sa RS232 Interface

1) Mag-download at mag-install ng digitemp. Sa Debian at Ubuntu Linux, ginagawa ito sa pamamagitan ng pagpapatakbo ng "sudo apt-get install digitemp`.2) Ikonekta ang isang DS1820 sa iyong circuit. Ang gitnang binti ay napupunta sa DQ port, ang dalawa pang mga binti ay pupunta sa GND3) Ikonekta ang circuit sa isang computer rs232 port. Sinasaklaw ko lang ang paggawa nito sa Linux, ngunit posible ring gawin ito sa windows..4) Kung ang utos na "digitemp` ay hindi gagana, ito ay dahil maraming mga bersyon ng digitemp.type digitemp, pagkatapos ay pindutin ang tab upang makita ang lahat sa kanila.. digitemp_DS9097 ay ang tama para sa 1wire busmaster na ito. Para lamang sa pagiging simple, nais namin ang utos na "digitemp`, hindi" digitemp_DS9097`.type `sudo ln -s / usr / bin / digitemp_DS9097 / usr / bin / digitemp`5) Bilang ugat, o gumagamit ng sudo: Patakbuhin `digitemp -s / dev / ttyS0 -i`. Hinanap nito ang 1wire network para sa mga sensor, at lumilikha ng isang config file para sa digitemp. Kung gumagamit ka ng COM2, gamitin ang -s /dev/ttyS1. Run `digitemp -a` upang basahin ang temperatura ng nakakonektang tempsensor. Tingnan ang screenshot6) Gawin ito para sa lahat ng mga sensor na iyong gagamitin, at isulat ang mga address para sa bawat isa. Kapag mayroon kang maraming mga sensor, magandang malaman kung alin ang alin.

Hakbang 4: Gawin ang Mga Sensor at ang Network

Gawin ang Mga Sensor at ang Network
Gawin ang Mga Sensor at ang Network
Gawin ang Mga Sensor at ang Network
Gawin ang Mga Sensor at ang Network
Gawin ang Mga Sensor at ang Network
Gawin ang Mga Sensor at ang Network
Gawin ang Mga Sensor at ang Network
Gawin ang Mga Sensor at ang Network

Kapag nag-kable ng iyong 1wire network, nais mong gumamit ng mga cable 5 network ng cat.

Nagkaroon ako ng ilang masamang karanasan gamit ang iba pang mga cable, at sa pagsasama ng iba't ibang uri ng cable. Kapag tumatakbo sa paglipas ng cat5, ang 1wire bus ay maaaring may mahabang mga kable. Sa isang pag-setup ng Weatherstation, nagpapatakbo ako ng 30 meter cat5 mula sa isang teknikal na silid na may isang computer na Linux at hanggang sa bubong. Sa bubong, ang cable ay nahahati sa 3 5-15 metro ang haba ng mga cable na may isang sensor sa dulo ng bawat isa. Gumagana ang setup na ito nang walang kamali-mali. Ang network ng 1-wire ay medyo matatag. Paggawa ng sensor: Nais mong gawing hindi tinatagusan ng tubig ang sensor, at matibay. 1) Gupitin ang isang Cat 5 cable sa nais na haba. 2) De-insulate ang dulo ng sensor. Gupitin ang 3 sa 4 na pares, naiwan ang berde / whitegreen. 3) I-slide ang isang maliit na tubong pag-urong sa berdeng kawad. 4) Paghinang ng berdeng kawad sa gitnang pin ng DS1820 5) Hilahin ang shrink tube, kaya't tinatakpan nito ang lahat ng metal ng gitnang binti at ang metal ng kawad na konektado dito. Pagkatapos ay painitin ito ng isang mas magaan o heat gun upang pag-urong ito sa lugar 6) Paghinang ng puti / berdeng kawad sa dalawa pang mga pin. 7) Maglagay ng isang mas malaking tubong pag-urong sa sensor at cable. Tingnan ang larawan. Pagkatapos ay initin ito ng marahan gamit ang isang mas magaan upang pag-urong sa lugar. Hindi mo nais na itakda ang bagay sa apoy, hawakan lamang ang apoy na 4-10mm mula sa shrink tube. 8) Ilagay ang iyong mga sensor saanman nais mong magkaroon ng mga ito, kumonekta sa interface ng rs232 at i-plug sa iyong computer.

Hakbang 5: Pag-setup ng Software - Pagkuha ng Data

Pag-setup ng Software - Pagkuha ng Data
Pag-setup ng Software - Pagkuha ng Data

Ngayong nasa lugar na namin ang aming mga sensor, nais naming makalikom ng ilang data mula sa kanila. Bilang ugat sa iyong linux machine: 1) Patakbuhin ang `digitemp -s / dev / ttyS0 -i -c /etc/digitemp.conf`Lilikha nito ang config file digitemp.conf na may mga sensor ng yoru. Panoorin ang output upang makita kung anong bilang ang nakukuha ng mga sensor. 2) Suriin ang temperatura sa "digitemp -aq -c /etc/digitemp.conf`3) Itapon ang data ng output sa isang file. Nag-dump ako sa isang file sa loob ng pag-apache ng wwwroot, sa ganoong paraan maa-access ko ang temperatura mula saanman. Ang utos na "digitemp -aq -c /etc/digitemp.conf> / var / www / digitemp.txt` ay naglalagay ng output ng digitemp sa file digitemp.txt4) I-automate ang prosesong ito: i-type ang 'crontab -e`, bubuksan nito ang mga root crontab. I-type ang `* * * * * digitemp -aq -c /etc/digitemp.conf> / tmp / digitemp; mv / tmp / digitemp / var / www / digitemp.txt` sa file na iyon, at i-save ito. Patakbuhin ang "crontab -l` upang kumpirmahing na-install ang crontab. Ang dahilan kung bakit ko piping ang output sa / tmp at pagkatapos ay lumilipat ito sa / var / www, ay ang digitemp na gumagamit ng ilang segundo upang makipagkumpetensya sa pagtakbo nito. Kung susubukan mong i-access ang output habang tumatakbo ang digitemp, makakakuha ka ng isang hindi kumpletong file. Maaari nitong guluhin ang iba pang mga script na mabasa ang data mula sa file na ito. (Hindi ito kasama sa screenshot, nakalimutang gawin ito) Ang iyong lagay ng panahon ay nasa ngayon at tumatakbo na. Gamitin ang data upang gawin ang nais mo, i-grap ito, gamitin ito upang mag-email sa kaso ng mataas / mababang temp, atbp.

Hakbang 6: Pag-setup ng Software - Graphing

Pag-setup ng Software - Graphing
Pag-setup ng Software - Graphing
Pag-setup ng Software - Graphing
Pag-setup ng Software - Graphing

Ito ang nakakalito na bahagi, kailangan ng maraming script dito.1) Gumawa ng isang lugar upang mailagay ang mga script, isang lugar upang maiimbak ang mga imahe, at isang lugar upang maiimbak ang data. "Mkdir / etc / tempsensor" mkdir / var / www / temperatura "mkdir / var / log / digitemp_rrd`2) Mag-install ng software: Kakailanganin mo, PHP at RRDtool." i-install ang install rrdtool "I-install-get php` (maraming mga php na pakete, i-install ang isa na may isang maipapatupad console) 3) Mag-download at mag-install ng mga script na responsable para makin ang mga graphic: Mag-download ng tempsensor-0.1.tar.gz sa iyong linux machine.`tar xvzf tempsensor-0.1.tar.gz "cp -v tempsensor / * / etc / tempsensor`4) I-configure ang mga scriptOpen /etc/tempsensor/config.php at sundin ang mga komento sa file na ito. Baguhin ang script upang mabasa ang data ng pag-input mula sa "/var/www/digitemp.txt" kung sinundan mo ang halimbawa sa nakaraang hakbang.5) I-automate. Magdagdag ng isang crontab entry sa parehong paraan tulad ng sa nakaraang hakbang. Dapat na tumakbo ang script tuwing ika-5 minuto. Dapat ganito ang mga linya: `* / 5 * * * * php /etc/tempsensor/logdata.php "*/5 * * * * php /etc/tempsensor/graphdata.php `6) Patakbuhin nang manu-mano ang mga script upang suriin kung gumagana ito.php /etc/tempsensor/logdata.phpphp /etc/tempsensor/graphdata.php7)Bisitahin ang https://your.ip.or.hostname/temperature o anumang tinukoy mo sa ang config file.

Hakbang 7: Pagpapatupad 1 - Pagsubaybay sa Room Room

Pagpapatupad 1 - Pagsubaybay sa Room Room
Pagpapatupad 1 - Pagsubaybay sa Room Room
Pagpapatupad 1 - Pagsubaybay sa Room Room
Pagpapatupad 1 - Pagsubaybay sa Room Room
Pagpapatupad 1 - Pagsubaybay sa Room Room
Pagpapatupad 1 - Pagsubaybay sa Room Room

Ang aking unang pagpapatupad ng sistemang ito ay sa serverroom sa mga dormitoryo ng mag-aaral kung saan ako nagtatrabaho. Narito ang ilang mga larawan para sa iyo.

Hakbang 8: Pagpapatupad 2 - Weather Station

Pagpapatupad 2 - Weather Station
Pagpapatupad 2 - Weather Station
Pagpapatupad 2 - Weather Station
Pagpapatupad 2 - Weather Station
Pagpapatupad 2 - Weather Station
Pagpapatupad 2 - Weather Station

Kapag nilagyan ko ang silid ng server ng mga sensor ng temperatura, hindi ko mapigilan ang paglagay ng ilan sa bubong na aswel!

Ang weatherstation ay medyo mas mahirap kaysa sa serverroom. Maraming pagkagambala sa labas. Ang araw ay maaaring pindutin ang isang sensor, ipadala ito mula -1 hanggang 30 c sa 5 minuto. Nalutas ko ito sa pamamagitan ng paggamit ng tatlong mga sensor na inilagay sa mga puntos na makakatanggap ng sikat ng araw sa iba't ibang oras sa maghapon. Dahil ang init lamang ang "ingay" sa pagsukat, ginagamit ko lang ang sensor na may pinakamababang pagbabasa sa anumang oras bilang aking "temperatura sa labas". Ang temperatura na ito ay muling hinusay sa pamamagitan ng pag-average ng huling ilang minuto.

Hakbang 9: Pagpapatupad 3 - Silid ng Dorm ng Mag-aaral

Pagpapatupad 3 - Student Dorm Room
Pagpapatupad 3 - Student Dorm Room
Pagpapatupad 3 - Student Dorm Room
Pagpapatupad 3 - Student Dorm Room

Sinundan ito ng isang kaibigan ko ng itinuturo, at nilagyan ang kanyang apartment ng mga sensor ng temperatura. Sa ref, banyo, computer atbp:)

Inirerekumendang: