Pokaż wyniki 1 do 9 z 9

Temat: Cyfrowy termometr za ok 10zl z odczytem przez komputer

  1. #1
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,748

    Domyślnie Cyfrowy termometr za ok 10zl z odczytem przez komputer

    Hej!

    Od razu mowie - projekt nie jest moj ale sadze ze wielu osobom moze sie przydac. Ja wlasnie skonczylem zabawe i smiga wysmienicie!

    Plan podrzucil mi kolega - cala dokumentacja jest na stronie http://www.eko.one.pl/index.php?page=Termometr
    Koszt czesci to hmmm... najdrozsze to wtyk DB9 i obudowa - chyba 2.5zl, reszta to doslownie grosze (niektore czesci kupowalem w Polsce bo w UK musialbym zamowic kilkanascie tysiecy sztuk). Jedyne co kupilem w UK to oklad DS1820 - niestety tutaj kosztuje on 6.5 funta! W Polsce calosc z obudowami kosztowalaby okolo 8-10 zlotych. Na allegro to samo kosztuje 25zl.

    Czas lutowania to tylko kilka minut dla majacych nieco wprawy - moje lutowanie jest paskudne - nie mialem ani czym przyciac dlugich nozek od elementow ani czasu na zabawe - wyglada to paskudnie (sorry)!


    Calosc podpialem do adaptera USB<-->RS232 i sprawdzilem szybciutko stany sygnalow jak widac na zalaczonych zdjeciach. Do tego teraz trzeba software ktory nam odczyta dane... Debian i Ubuntu dostarczaja gotowe pakiety:

    Kod:
    # apt-get install digitemp
    Po instalacji podlaczamy calosc do USB (w moim przypadku) i otrzymujemy:

    Kod:
    [588884.158630] usb 4-2: new full speed USB device using uhci_hcd and address 13
    [588884.320360] usb 4-2: configuration #1 chosen from 1 choice
    [588884.323317] pl2303 4-2:1.0: pl2303 converter detected
    [588884.323548] usb 4-2: pl2303 converter now attached to ttyUSB0
    Czas wiec zainicjalizowac interfejs! Co jest wazne - sam sensor DS1820 ma unikalny adres co jest logiczne biorac pod uwage, ze calosc dziala na szynie '1-wire bus', czyli wystarczy zamiast lutowac na sztywno dac gniazdo telefoniczne (RJ11) lub ethernet (RJ45) i dalej na kablu instalowac rownolegle kolejne DS1820 - kazdy z nich zapewni osobny pomiar ktory mozna przypisac do czujnika wlasnie poprzez znajomosc adresow sprzetowych.

    Ja na razie mam podlaczony 1 czujnik - nastepna wersja bedzie miala mozliwosc 'wyciagniecia' zasiegu (na COM bedzie tylko to co polutowane i gniazdo telefoniczne/ethernet a czujki beda na drugim koncu kabla i za nimi kolejne gniazdo tel/ether - w ten sposob bede mogl dolaczac kolejne termometry w miare potrzeb). Nie znalazlem informacji aby byl jakis limit ilosci termometrow na jednej szynie ale dlugosc przewodu je podlaczajacego nie powinna przekroczyc 30m.

    Wracajac do inicjalizacji - czas znalezc adres sensora, zapamietac go w jakims pliku i zrobic pierwszy odczyt... a wszystko za pomoca 1 polecenia!

    Kod:
    # digitemp_DS9097 -i -s /dev/ttyUSB0 -a
    DigiTemp v3.3.2 Copyright 1996-2004 by Brian C. Lane
    GNU Public License v2.0 - http://www.brianlane.com
    Turning off all DS2409 Couplers
    .
    Searching the 1-Wire LAN
    1018C3B50008000B : DS1820/DS18S20/DS1920 Temperature Sensor
    ROM #0 : 1018C3B50008000B
    Wrote .digitemprc
    Nov 21 11:48:08 Sensor 0 C: 27.25 F: 81.05
    Adres ukladu zostal zapisany pod numerem #0 w pliku .digitemprc, kolejne uruchomienia (bez parametru -i) zwracaja od razu wynik, bez wyszukwiania czujnikow.


    Czas odczytu <1.5sek - milej zabawy! Gdy uzylem sprezonego powietrza aby ochlodzic sensor w trakcie wykonywania pomiarow co 3 sek. reakcje bylo widac natychmiast.

    P.S.
    Pozniej przedstawie info jak to podpiac do prostego systemu monitoringu i logowania.

    EDIT:
    Kod:
    digitemp_DS9097 -s /dev/ttyUSB0 -a | grep C: | cut -d ' ' -f 7
    zwraca tylko temperature
    Ostatnio edytowane przez TQM : 11-21-2007 - 13:03
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

  2. #2
    Zarejestrowany
    Sep 2007
    Skąd
    Różne zakątki sieci.
    Postów
    995

    Domyślnie

    Wyjebiaszcze i nie trudne do zbudowania. Chyba sobie takie coś zbuduje...

  3. #3
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,748

    Domyślnie

    Dobra... drugi zmontowany i dziala... Udalo mi sie przyjemnie upakowac calosc i wyprowadzic 2 wasy pod kabel do czujnika. Jednak czujnik lepiej miec na zewnatrz - jestem zaskoczony, ale... jak da sie go do srodka obudowy DB9 to nie tyle plywa, co bierze temperature z portu COM (przenoszana przez metalowe elementy z wnetrza kompa) oraz jest bardzo czuly na powiewy cieplego powietrza z zasilacza... Teraz mam czujnik na ok 45cm przewodzie (1 para z kabla ethernet) i juz tak nie plywa...


    BTW. Software pod Windows (odpowiednik linuxowego softu) jest dostepny wraz ze zrodlami pod adresem http://digitemp.com/software/windows/dtreg17.zip

    Teraz ogranicza nas tylko fantazja hehe

    EDIT:
    Wlasnie podlaczylem do lapka pod windows i skonfigurowalem program aby czytal z portu prawidlowo (digitemp.exe -i -s<nr_portu_com> -w -a)... pozniej napisalem w pelru i wrzucilem do katalogu z digitemp.exe i digitemp.cfg:

    Kod:
    $|++;
    while (1) {
    	$data = `digitemp.exe -a`;
    	$data =~ m/^(\w+)\s+(\d+)\s+(\d+:\d+).*?Sensor.*?C:\s(.*?)\s/m;
    	# $1 = miesiac
    	# $2 = dzien
    	# $3 = godzina [hh:mm]
    	# $4 = temperatura w st.C
    	print "$3;$4\n";
    	sleep 300;
    }
    ... i uruchomilem ...

    Kod:
    gettemp.pl > odczyty.csv
    Teraz zostawie na noc i zobaczymy jak bedzie zmieniac sie temperatura w pokoju - jutro bede mogl z tego CSV zrobic sobie ladny wykres w OpenOffice Mala zabawka a cieszy - poza tym moze mi sie tu jeszcze przydac hehe!
    Ostatnio edytowane przez TQM : 11-21-2007 - 18:46
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

  4. #4
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,748

    Domyślnie

    Zabawy ciag dalszy... Pare dni termometr podlaczylem do jednego z serwerkow na ktorym mialem wolny COM i zaczalem robic wykresy w RRD.

    Najpierw tworzymy prosty RRD:
    Kod:
    rrdtool create temp.rrd -s 30 DS:temp:GAUGE:60:U:U RRA:MIN:0.5:12:1440 RRA:AVERAGE:0.5:1:1440 RRA:MAX:0.5:12:1440
    Pozniej krociotki skrypt ktory odpytuje termometr co 30 sekund i aktualizuje RRD:
    Kod:
    #!/bin/bash
    RRD=/var/RRD/temp.rrd
    TOOL='/usr/bin/rrdtool'
    NOW=`date -u +%s`
    TEMP=`/usr/bin/digitemp_DS9097 /dev/ttyS0 -a | grep 'Sensor 0 C:' | cut -d ' ' -f 7`
    
    echo "$TOOL update $RRD $NOW:$TEMP"
    $TOOL update $RRD $NOW:$TEMP
    rrdtool graph /var/www/temp.gif -t 'Comms Room Temperature' \
    -M -w 540 -h 160 --vertical-label 'Deg.Celsius' -Y -s end-1h \
    DEF:t=$RRD:temp:AVERAGE AREA:t#00ff00:Temperature \
    DEF:tmax=$RRD:temp:MAX DEF:tmin=$RRD:temp:MIN \
    'GPRINT:t:LAST:Last measure\: %2.1lf C\j' \
    'GPRINT:tmin:MIN:Minimum in last hour\: %2.1lf C' \
    'GPRINT:tmax:MAX:Maximum in last hour\: %2.1lf C\j'
    a na koniec odpalamy to jako:
    Kod:
    screen wish --interval=30 get-temp.sh
    ... a gdy nam sie nudzi mozemy potraktowac czujnik cieklym powietrzem i zobaczyc jak daleko zejdzie Moj rekord to -36.2 st. C

    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

  5. #5

    Talking

    1000 takich czujników i będzie kamera termiczna

  6. #6
    Zarejestrowany
    May 2007
    Skąd
    Austria-Slowacja-Polska
    Postów
    27

    Domyślnie

    TQM - totalny offtop, ale tak przegladajac jak tworzyles ten termometr, zauwazylem ze masz thinkpada. Czy nie pracujesz przypadkiem w IBM? Czy poprostu masz nosa do dobrych laptopikow? (wlasciwie to juz prodakszon lapsow sprzedano do Lenowo, a ostatnim lapsem ktory mial logo IBM na sobie jest chyba T-60. Ja mam T 42 i chca mi go wlasnie zabrac i wcisnac t60 . Mimo, ze juz wylalem na niego z 2 litry napojow, jakos ciezko mi sie z nim rozstawac.... ;-)
    brynowczyc(at)wp(dot)pl

  7. #7
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,748

    Domyślnie

    Zamykajac off-top: to jest x60s, zastapiony teraz przez x61s (choc roznicy nie widac specjalnie) - ta sama kategoria jakosciowa co T42... ostatnio kupilem kolejnego T60 i wiem ze mozna na tym sprzecie polegac.
    Koniec off-top'a.
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

  8. #8

    Domyślnie

    czy komuśudało zrobić się takie coś pod rj 45?

  9. #9
    Zarejestrowany
    Jul 2008
    Skąd
    /dev/random
    Postów
    556

    Domyślnie

    A co rozumiesz pod pojeciem RJ45 ? Jesli Ethernet to w sumie chyba znajdzie sie nawet gotowca tylko trzeba poszukac... Najprosciej to jakis gotowy modulik "internetowy" :
    Propox

    do tego moze byc taki DS na 1Wire lub nawet zwykla dioda krzemowa bo wiekszosc tych uC posiada przetworniki Analog/Cyfra... wszystko zalezy od tego jaka sie chce uzyskac dokladnosc. Z gotowych zestawow znajdziesz chyba nawet cos w ofercie AVT (Elektronika Praktyczna, Elektronika dla Wszystkich).
    --
    ToM's Super Fix IT "No Fucking Problem"

Podobne wątki

  1. Wlamanie sie na komputer.
    By xacti in forum Newbie - dla początkujących!
    Odpowiedzi: 19
    Autor: 09-21-2008, 13:22
  2. Mój komputer-Dobrze zabezpieczony?
    By taggin in forum Security
    Odpowiedzi: 16
    Autor: 11-17-2007, 13:07
  3. Mój pierwszy komputer.
    By m33 in forum Off Topic
    Odpowiedzi: 10
    Autor: 09-03-2007, 13:33
  4. Ten komputer został tak skonfigurowany~~
    By 31337 in forum Hacking
    Odpowiedzi: 16
    Autor: 06-03-2007, 01:23
  5. 4 cyfrowy kod w iPodzie
    By rafalkam in forum Hacking
    Odpowiedzi: 0
    Autor: 11-18-2006, 17:40

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj