Elektroda.pl
Elektroda.pl
X
Prosz, dodaj wyj徠ek www.elektroda.pl do Adblock.
Dzi瘯i temu, 瞠 ogl康asz reklamy, wspierasz portal i u篡tkownik闚.

Linlamp - DS18B20 dla linuksa

_tad_ 15 Lut 2009 19:16 8307 18
  • Linlamp - DS18B20 dla linuksa

    Jako mi這郾ikowi Jedynego S逝sznego Systemu Operacyjnego nie dawa這 mi spokoju, 瞠 dla Windowsa jest Lampomittari

    http://www.elektroniikka.org/thermometer/?page=screenshots

    a pod Linuksem pozostaje digitemp. Maj帷 wi璚 kilka dni wolnego i ch耩 poznania Gtk napisa貫m programik, kt鏎y wizualizuje dane odczytywane z czujnik闚 na magistrali 1-wire poprzez owfs http://www.owfs.org

    Program realizuje nast瘼uj帷e zadania:

    1. Odczyt czujnik闚 co zadany czas. Ka盥emu fizycznemu czujnikowi w systemie mo積a przyporz康kowa wiele wirtualnych nazw w programie, a z ka盥 wirtualn nazw mo積a zwi您a r騜ne parametry (np. rozdzielczo嗆 czy przerwa pomi璠zy kolejnymi odczytami).

    2. Zapis wszystkich odczytanych danych do plik闚 o formacie prawie zgodnym z formatem Lampomittari. Zapis jest przeprowadzany co 軼i郵e okre郵ony czas lub przy wyj軼iu z programu. Ustawianie przerw pomi璠zy kolejnymi zapisami na dysk powsta這 przede wszystkim po to, aby u豉twi instalowanie programu na komputerach z kartami CF (compact flash) zamiast dysku.

    3. Wizualizacja odczytanych danych na wy鈍ietlaczach. W tej chwili obs逝giwane s dwa typy wy鈍ietlaczy:
    - graficzny rysuj帷y wykresy z r璚znie ustawian podzia趾 czasu i temperatury oraz legend
    - alfanumeryczny podaj帷y ostatni odczytan temperatur

    4. Pozwala na zapisanie ustawie do pliku config.txt w katalogu bie膨cym. Ustawienia s automatycznie 豉dowane przy starcie programu i obejmuj zar闚no wygl康 wszystkich wy鈍ietlaczy, parametry programu (katalog, do kt鏎ego zapisywane s dane z czujnik闚), jak konfiguracj czujnik闚.


    Program korzysta z bibliotek gtk, libconfig i gthread. Pod Ubuntu 7.10 libconfig musia貫m skompilowa r璚znie ze 廝鏚e.

    Aby go uruchomi nale篡:

    1. Pod陰czy czujniki DS18B20 do komputera - ja u篡wam przej軼iowki ze strony Lampomittari
    2. Zainstalowa owfs i podmontowa magistral 1-wire w jakim katalogu, np.:

    Code:
    opt/owfs/bin/owfs -d /dev/ttyS0 -m /var/1-Wire/

    3. Po uruchomieniu programu nale篡 ustawi 軼ie磬i do katalogu, w kt鏎ym podmontowana jest magistrala 1-wire oraz do katalogu na dane z czujnik闚. Nast瘼nie w ustawieniach programu doda czujniki, p騧niej doda wy鈍ietlacze i ma dzia豉. Poni瞠j kilka obrazk闚 w odpowiedniej kolejno軼i:





    Linlamp - DS18B20 dla linuksa


    BARDZO WA烤E JEST POPRAWNE USTAWIENIE 列IE浩K !

    Linlamp - DS18B20 dla linuksa Linlamp - DS18B20 dla linuksa Linlamp - DS18B20 dla linuksa Linlamp - DS18B20 dla linuksa Linlamp - DS18B20 dla linuksa Linlamp - DS18B20 dla linuksa


    Kod ten jest na razie w wersji beta i napisany troch po amatorsku, co oznacza tyle, 瞠 sam silnik odpowiedzialny za odczyt, zapis i wizualizacj danych dzia豉 (czasami niezbyt wydajnie, ale wystarcza), ale mog by jakie drobne usterki w interfejsie u篡tkownika. Udost瘼ni go na jakiej wersji licencji GPL, dlatego wszelkie uwagi/modyfikacje mile widziane. S康z, 瞠 przez kilka najbli窺zych tygodni b璠 mia ma這 czasu, a szkoda, 瞠by si zmarnowa. Je郵i komu si przyda, to 篡cz smacznego :)

    W za陰czniku kod 廝鏚這wy pod Anjut.


    Fajne!
  • #2 15 Lut 2009 19:31
    lechoo
    Poziom 39  

    _tad_ napisa:
    a pod Linuksem pozostaje digitemp.

    Przecie nie jest taki z造... a przynajmniej dzia豉 na wi瘯szo軼i platform linuksowych - systemy wbudowane itp.

  • #3 15 Lut 2009 19:49
    _tad_
    Poziom 11  

    nie wiem, nigdy nie stosowa貫m :)
    Przede wszystkim to zupe軟ie inna klasa rozwi您a - digitemp generuje obrazki statyczne, a tu mam klikane narz璠zie w czasie rzeczywistym.
    Do digitempa musia豚ym jeszcze dorobi jak捷 wizualizacj...
    No i nie wiem, jak z buforowaniem wynik闚 w digitempie - docelowo to ma chodzi na karcie CF i zapisy co sekunde na dysk nie s dobrym pomys貫m.

  • #4 16 Lut 2009 09:46
    mikal7
    Poziom 10  

    Witam,

    O ile chcesz opublikowa sw鎩 program my郵e 瞠 dobrze by這 by (i wygl康a這by to profesjonalnie):
    - zrezygnowa z tabulator闚, na rzecz spacji (wci璚ia nie formatuj si 豉dnie i kod jest mniej czytelny gdy s tabulatory)
    - zdecydowa sie na jaki jeden j瞛yk, polski albo angielski (zmienne , komentarze).

  • #5 16 Lut 2009 11:15
    _tad_
    Poziom 11  

    mikal7 napisa:
    Witam,

    O ile chcesz opublikowa sw鎩 program my郵e 瞠 dobrze by這 by (i wygl康a這by to profesjonalnie):
    - zrezygnowa z tabulator闚, na rzecz spacji (wci璚ia nie formatuj si 豉dnie i kod jest mniej czytelny gdy s tabulatory)


    o tym rzeczywi軼ie nie pomy郵a貫m, dzi瘯i :)

    Cytat:
    - zdecydowa sie na jaki jeden j瞛yk, polski albo angielski (zmienne , komentarze).


    tu zgadzam sie w ca貫j rozci庵這軼i :)
    Angielskie nazwy zmiennych zacz掖em wprowadza po podj璚iu decyzji o ewentualnej publikacji, wcze郾iej po prostu sprawdza貫m r騜ne drobiazgi. Wiem, 瞠 to karygodny grzech zak豉da, 瞠 kod nie b璠zie rozwijany, ale od wiedzy do wykonania daleka droga ;-)
    Kod na razie jest prototypem - zastanawiam si nawet, czy go zrefaktoryzowa, czy po prostu wyrzuci i napisa od nowa. Niestety, chwilowo mam ma這 czasu, a to, co napisa貫m dzia豉 i na dodatek chyba do嗆 stabilnie (par dni chodzi bez zaj彗ni璚ia). Pomy郵a貫m wi璚, 瞠 mo瞠 z tego kto opr鏂z mnie skorzysta :)

  • #6 16 Lut 2009 13:20
    arturromarr
    Poziom 17  

    Nie pisz od nowa skoro dzia豉 bo tak nigdy nie sko鎍zysz.
    Opublikuj kod jako wolny i przy陰cz si w ten spos鏏 do spo貫czno軼i rozwijaj帷ej oprogramowanie do systemu.

    Ca趾iem mi造 programik, kiedy sporo pisa貫m w gtk.

  • #7 16 Lut 2009 18:35
    greg45
    Poziom 12  

    Tak nawiasem, Lampomittari chodzi pod Wine.

  • #8 16 Lut 2009 21:04
    _tad_
    Poziom 11  

    arturromarr napisa:
    Nie pisz od nowa skoro dzia豉 bo tak nigdy nie sko鎍zysz.


    rozs康ne podej軼ie...

    Cytat:

    Opublikuj kod jako wolny i przy陰cz si w ten spos鏏 do spo貫czno軼i rozwijaj帷ej oprogramowanie do systemu.


    Tak chyba zrobi, tylko zastanawiam si nad platform. Na szybko przychodzi mi do g這wy developer.berlios.de albo sourceforge. S jakie inne sposoby rozpropagowania kodu?

    Cytat:

    Ca趾iem mi造 programik, kiedy sporo pisa貫m w gtk.


    dzi瘯i, stara貫m si, 瞠by by funkcjonalny :)


    greg45 napisa:

    Tak nawiasem, Lampomittari chodzi pod Wine.


    Tak, tylko mia貫m problemy z dost瘼em do czujnik闚 - pewnie 幢e ustawi貫m opcje RS-a. No a poza tym docelowo to ma chodzi na maszynie z procesorem 200 MHz, 128/256 MB RAMu i kart CF zamiast dysku....

  • #9 17 Lut 2009 11:13
    pmichniewski
    Poziom 18  

    mikal7 napisa:
    Witam,

    O ile chcesz opublikowa sw鎩 program my郵e 瞠 dobrze by這 by (i wygl康a這by to profesjonalnie):
    - zrezygnowa z tabulator闚, na rzecz spacji (wci璚ia nie formatuj si 豉dnie i kod jest mniej czytelny gdy s tabulatory)


    Z tym, to bym nie przegina. Szeroko嗆 tabulacji mo積a zmniejszy w edytorze i wtedy samo si 豉dnie formatuje. Wszelkie narz璠zia w r騜nych edytorach (m.in. Eclipse) stosuj tabulacje przy autoformatowaniu. W wielu poradnikach dla programist闚 r闚nie poleca si tabulatory. Wszystko ma jeden prosty pow鏚: jedni wol jedn spacj, inni dwie, a inni 4. Wyobra sobie, gdyby kod pisa造 3 osoby, ka盥a o innych upodobaniach. Wystarczy stawia tabulatory i ustawi w edytorze ich szeroko嗆.

  • #10 17 Lut 2009 14:40
    mikal7
    Poziom 10  

    pmichniewski napisa:
    ... Szeroko嗆 tabulacji mo積a zmniejszy w edytorze i wtedy samo si 豉dnie formatuje. Wszelkie narz璠zia w r騜nych edytorach (m.in. Eclipse) stosuj tabulacje przy autoformatowaniu. ...


    Owszem zgadzam sie z Tob, 瞠 mo積a sobie ustawi rozmiar tabulacji ale:
    - po pierwsze nie zawsze to pomaga w formatowaniu kodu:
    tabsize=2:
    Code:
    GtkDialog         *display_add_plot_dialog ;
    
    GtkColorButton    *add_plot_input_color ;
    GtkEntry          *add_plot_entry_name ;   
    GtkTable          *display_add_plot_table ;
    GtkComboBox        *add_plot_name_combo = NULL ;
    GtkCheckButton    *add_plot_visible_button ;
    GtkSpinButton      *add_plot_n_average_spin ;
    GtkRadioButton    *add_plot_lines_button ;
    GtkRadioButton    *add_plot_points_button ;
    GtkRadioButton    *add_plot_diamonds_button ;

    tabsize=4
    Code:
    GtkDialog                 *display_add_plot_dialog ;
    
    GtkColorButton        *add_plot_input_color ;
    GtkEntry                    *add_plot_entry_name ;       
    GtkTable                    *display_add_plot_table ;
    GtkComboBox                *add_plot_name_combo = NULL ;
    GtkCheckButton        *add_plot_visible_button ;
    GtkSpinButton            *add_plot_n_average_spin ;
    GtkRadioButton        *add_plot_lines_button ;
    GtkRadioButton        *add_plot_points_button ;
    GtkRadioButton        *add_plot_diamonds_button ;

    tabsize=8
    Code:
    GtkDialog                                 *display_add_plot_dialog ;
    
    GtkColorButton                *add_plot_input_color ;
    GtkEntry                                        *add_plot_entry_name ;               
    GtkTable                                        *display_add_plot_table ;
    GtkComboBox                                *add_plot_name_combo = NULL ;
    GtkCheckButton                *add_plot_visible_button ;
    GtkSpinButton                        *add_plot_n_average_spin ;
    GtkRadioButton                *add_plot_lines_button ;
    GtkRadioButton                *add_plot_points_button ;
    GtkRadioButton                *add_plot_diamonds_button ;


    - po drugie nie zawsze jest wymagane u篡cie edytora do przegl康ania kodu, mo積a u篡 programu less albo po prostu cat.

    pmichniewski napisa:
    Wszystko ma jeden prosty pow鏚: jedni wol jedn spacj, inni dwie, a inni 4. Wyobra sobie, gdyby kod pisa造 3 osoby, ka盥a o innych upodobaniach. Wystarczy stawia tabulatory i ustawi w edytorze ich szeroko嗆.

    Nie musz sobie wyobra瘸, ja to znam z autopsji, pracuje na kodzie redagowanym przez znacznie wi璚ej ni 3 osoby.

    Moje uwagi wynika造 z dobrej woli i do鈍iadczenia, my郵e 瞠 tym przyd逝gim postem mo瞠my zako鎍zy dyskusj o standardy kodowania. polecam : Link , albo Link (a tu jest cze嗆 dotycz帷a tabulator闚 ;-) Link).

    Oczywi軼ie nikt nikomu nie zabrania u篡wa tabulator闚.

  • #11 17 Lut 2009 20:03
    _tad_
    Poziom 11  

    Poniewa sprowokowa貫m troch t dyskusj, to dorzuc swoje trzy grosze :))
    My郵, 瞠 z formatowaniem kodu jest jak z d.. uuups, wieloma innymi rzeczami - co kraj, to obyczaj. Inaczej b璠zie formatowa kod kto, kto ca貫 篡cie pisa pod Visualem, a inaczej uczestnik wielu projekt闚 Open Source. Oczywi軼ie je郵i w jakim 鈔odowisku panuj jakie przyj皻e standardy, to zdrowy rozs康ek i dobre maniery nakazuj si ich trzyma, chyba 瞠 s BARDZO POWA烤E powody, 瞠by robi inaczej ;-)

    M鎩 kod nie trzyma 瘸dnych standard闚 i doskonale zdaj sobie z tego spraw. Jedynie architektura systemu pozwala na razie w stosunkowo prosty spos鏏 go rozwija, ale te nie wsz璠zie (np.: plik t_display.c zacz掖 si troch komplikowa...). Z tego powodu my郵, 瞠 je郵i ten program mia豚y by rozwijany, to by mo瞠 trzeba go jednak przynajmniej zrefaktoryzowa, a mo瞠 nawet przepisa. Nale篡 go traktowa jako dzia豉j帷y prototyp, a miejsce prototyp闚 po wykazaniu s逝szno軼i tezy jest na 鄉ietniku b康 w najlepszym razie w przepastnych archiwach, do kt鏎ych zagl康a co najwy瞠j sprz徠aczka, i to raz w roku ;-)
    Z drugiej strony, mo積a do niego szybko doda jeszcze par drobiazg闚 i mie bardzo przydatne narz璠zie, kt鏎e zwyk造m u篡tkownikom (takim, co nie czytaj kodu i nie debatuj nad wy窺zo軼i spacji na tabulatorami lub niejscem nawiasu otwieraj帷ego definicj funkcji ;-) b璠zie d逝go i dobrze s逝篡 :)

    Na swoje usprawiedliwienie mam tylko tyle, 瞠 przypadkiem wysz這 mi co na tyle u篡tecznego i prostego, 瞠 瘸l mi to by這 wyrzuci :) Programik jest kr鏂iutki i pro軼iutki, 鈔ednio zaawansowany programista powinien go bez wi瘯szych problem闚 zrozumie, nawet bior帷 pod uwag moje b喚dy wynikaj帷e z niedostatecznej znajomo軼i gtk. Kod ten powsta w ci庵u kilku dni w trakcie zabaw z gtk i w za這瞠niu nie mia by publikowany. Na forum wys豉貫m go w niedziel, bo od poniedzia趾u musia貫m si zaj望 innymi sprawami.

    I jeszcze jedno - nie wiem, co robi edytor w Anjucie, ale u mnie akurat ten fragment:

    mikal7 napisa:

    - po pierwsze nie zawsze to pomaga w formatowaniu kodu:
    tabsize=2:
    [code]GtkDialog *display_add_plot_dialog ;
    GtkColorButton *add_plot_input_color ;


    wygl康a ca趾iem zno郾ie dla tabulator闚 dwuspacjowych

    Linlamp - DS18B20 dla linuksa

    Oczywi軼ie jest wiele innych fragment闚, o kt鏎ych ju dobrego s這wa nie dam powiedzie :))))

  • #12 18 Lut 2009 08:51
    mikal7
    Poziom 10  

    Dyskusja ma charakter og鏊ny i nie dotyczy stylu akurat tego programu.
    Cos na kszta速 przewagi emacs-a nad vim-em i vice wersal' ;-) o eclipse ju nie wspomn.

    Przyk豉d闚 u篡貫m bo akurat te mia貫m pod r瘯.

    Znacznie lepszy jest program kt鏎y dzia豉 ni nie wiem jak 豉dnie napisany kt鏎y dzia豉 o tyle o ile. np. wingroza ( kij w mrowisko :-D)

  • #13 19 Lut 2009 17:54
    _tad_
    Poziom 11  

    mikal7 napisa:
    Dyskusja ma charakter og鏊ny i nie dotyczy stylu akurat tego programu.
    Cos na kszta速 przewagi emacs-a nad vim-em i vice wersal' ;-) o eclipse ju nie wspomn.


    Nie mia貫m zamiaru wywo造wa wra瞠nia zbytniego zaanga穎wania w t dyskusj :) Je郵i takie wra瞠nie jednak powsta這, to przepraszam - by這 p騧no :):):). Czasami lubi ekumeniczne dyskusje na przer騜ne tematy, wa積e, 瞠by wiedzie, kiedy sko鎍zy. Stara貫m si na podstawie swojego kodu pokaza par r騜nych punkt闚 widzenia. Wniosek jest taki, 瞠 nawet szybko napisany prototyp mo瞠 by w pewnych warunkach u篡teczny, ale wyprodukowanie czego powa積iejszego wymaga ju dyscypliny i ustalenia standard闚.

    Teraz z innej beczki - zarejestrowa貫m projekt pod nazw GTemp1w na serwerze berlios.de

    https://developer.berlios.de/projects/gtemp1w/

    Dost瘼 na razie tylko przez cvs, mo瞠 w przysz造m tygodniu troch to rozwin. A nawi您uj帷 do dyskusji o formatowaniu - chcia貫m zachowa chocia pozory, dlatego ca造 kod ponownie sformatowa貫m indentem z opcjami jak dla kodu GNU :) Niestety, na poprawienie komentarzy chwilowo nie znajd czasu, tak 瞠 ewentualny zesp馧 developer闚 ;-) b璠zie musia zna j瞛yk polski, przynajmniej w pi鄉ie...

    I jeszcze jeden drobiazg - w ci庵u kilku tygodni przeprowadz prawdopodobnie testy wydajno軼iowe i je郵i na maszynie docelowej program b璠zie za wolny (w ko鎍u to gtk+ nie jest demonem szybko軼i), to zastanowi si nad migracj na FLTK. Dodatkow zalet by豚y ca趾owicie obiektowy interfejs :)

  • #14 27 Mar 2009 17:06
    pietrek345
    Poziom 15  

    Witam,
    Mam takie pytanie czy istnieje mo磧iwo嗆 uruchomienia tego programu pod jakie mini distro? jak by si da這 jeszcze to zmie軼i na jednej dyskietce to by這 by po prostu lepiej ni wspaniale :D

  • #15 30 Mar 2009 05:59
    _tad_
    Poziom 11  

    pietrek345 napisa:
    Witam,
    Mam takie pytanie czy istnieje mo磧iwo嗆 uruchomienia tego programu pod jakie mini distro? jak by si da這 jeszcze to zmie軼i na jednej dyskietce to by這 by po prostu lepiej ni wspaniale :D


    Dzi瘯i za zainteresowanie, my郵a貫m, 瞠 ju temat umar :)
    Pomy郵 nad tym, ale na jednej dyskietce to si chyba nie da - potrzebny jest serwer X i Gtk....
    Jest to kolejny argument za przej軼iem na FLTK lub cos podobnego, albo jeszcze mniejszego.
    Zastanowi si nad mo磧iwo軼iami napisania tego bez u篡cia X闚 :) - mo瞠 FLTK + directfb ?
    Nie wiem tylko, czy port FLTK na directfb dobrze dzia豉 i daje te same mo磧iwo軼i co podstawowa wersja....

  • #16 30 Mar 2009 10:27
    pietrek345
    Poziom 15  

    niestety nie znam si na programowaniu i nic nie doradz :cry:

    a da這 by si tak zrobi np: na 2~3? dyskietkach kt鏎e wk豉da這 by si po kolei i 豉dowa造 si do pami璚i ram? co jak np: muLinux

  • #17 30 Mar 2009 22:20
    _tad_
    Poziom 11  

    muLinux wygl康a obiecuj帷o :)
    Nie spodziewa貫m si linuxa z X-ami na dyskietce ;-)
    Mimo wszystko Gtk na dyskietk si nie zmie軼i, co wymusza przepisanie tego programu na FLTK.
    Przepisanie wymaga prawdopodobnie oko這 jednego roboczotygodnia....
    Poza tym niekt鏎e operacje mog by trudne do zaimplementowania (np. nie wiem, czy w FLTK jest jaki widget do wyboru koloru)
    Od pewnego czasu zastanawiam si nad tym krokiem (przej軼ie na FLTK), ale po pierwsze jeszcze d逝go nie b璠 mia wolnego roboczotygodnia, a po drugie w Gtk 豉twiej taki program napisa ze wzgl璠u na wi瘯sz liczb widget闚.
    My郵, 瞠 dzi瘯i FLTK program m鏬豚y by bardziej u篡teczny i dodaj to zadanie do listy zada do zrobienia, ale lista jest d逝ga, a moje mo磧iwo軼i niewielkie :)
    A mam jeszcze dwie listy: zadania do zrobienia na dzi i na wczoraj ;-)

  • #18 04 Lis 2009 13:19
    madar50
    Poziom 11  

    Witam
    Ju kilka razy przymierza貫m si do linuxa, i za ka盥ym razem co mi nie pasowa這 z programami jakie obs逝guje linux, a mi璠zy innymi L鄝p闣ittari, kt鏎y to jest moim podstawowym programem do odczytu temperatur. Jak widz, jest nadzieja, 瞠 to si zmienia i b璠 m鏬 korzysta z Linuxa. Wpad mi w r璚e Ubuntu 11, i uruchomi貫m go z p造tki. Mi貫 zaskoczenie. Od razu, bez konfiguracji zadzia豉 internet. Teraz widz, 瞠 L鄝p闣ittari b璠zie dzia豉 w Linuxie i to jest jak dla mnie dobra wiadomo嗆. Je郵i mo積a, to prosz o szczeg馧owe wskaz闚ki (na dzie dzisiejszy), bo jestem laikiem w tych sprawach.
    _tad_, dzi瘯uj za zainteresowanie si tym tematem.

    Pozdrawiam

  • #19 01 Mar 2015 22:01
    pietrek345
    Poziom 15  

    Pytanie do autora programu- jakiego linuxa aktualnie poleca pod sw鎩 program? Stary laptop pentium III 256MB RAM