Aplikace pro TME 2.0

Nová verze webové aplikace pro TME je na světě. A ani to tolik nebolelo.

Pozor! Již existuje novější verze aplikace, více informací na této stránce.

Změny oproti minulé verzi:

  • Inovovaný přehlednější vzhled bez zbytečných položek.
  • Možnost přepínat mezi statickými grafy generovanými pomocí JpGraph a dynamickými flashovými grafy generovanými pro změnu pomocí Open flash chart.
  • Možnost přepínat mezi jazykovými mutacemi (nyní čeština, angličtina a němčina – překlad svépomocí, malá korektůra by byla jen k dobru).
  • Možnost přepínat mezi různými jednotkami – od Celsiuse, přes Fahrenheita a Kelvina až po např. Delisle (čerpáno z Wikipedie).
  • Malinkatá mobilní verze (mobile.php).
  • Rozšířené možnosti jednoduchého nastavení skrze „nastaveni.php€ť (výchozí jazyk, jednotka a typ grafů, zda a po kolika vteřinách se má stránka obnovovat, zda bude umožněno přepínání jazyků atd.).
  • A pár drobností…

Archiv obsahuje jak „cti-mne.txt“, kde se nachází popis jak aplikaci rozběhat v češtině, tak soubor s „read-me.txt“ obsahujíci pokyny v jazyce anglickém. Pokud upgradujete z předchozí verze, pak s „databází“ se hýbat nemusí, stačí pouze nahradit staré soubory těmi novými a znovu vyplnit „nastaveni.php“, kam přibylo pár možností navíc.

Stahujte odtud | Ukázka aplikace

Příjemnou zábavu a děkuji za pozornost

101 komentářů

  1. Díky, chodí to hezky, ale ve flash to neukazuje teploty za 14 dní (v obrázcích ano). Tomášovi, to zase průměry za měsíc vykresluje docela divoce.

  2. je to super a pekne ale nemuzu to rozhejbat na lokalni siti myslim si ze mam vse nastaveno dobre a jine PHP aplikace s MySQL mi tam funguji uplne bez problemu. TME mi porad hlasi ze se nemuze prihlasit do DB 🙁

  3. Tomáš: No, zase někdy doděláme 😉

    Petr: Nevidím zřejmý důvod, proč by to mělo zlobit. Díval jsem se do zdrojáku a minimální i maximální hodnoty to musí počítat dobře…zajímavý bug. Pošli kdyžtak jeden z posledních souborů *.ofch z adresáře cache, abysme viděli co se v něm píše. Je velice pravděpodobné, že problém v něm bude zaznamenán.

    Vlach: Musí to fungovat i na lokále a pokud to píše toto, tak budou údaje pro připojení se k databázi chybně zadané. Pokud Ti ostatní aplikace fungují bez problému, tak přeci jen musíš hodnoty do „nastaveni.php“ vepisovat správně (jinde jsi je taky psal), ale i přesto si nedokážu představit jinou chybu než přepsání se, která by vedla k zobrazení této hlášky.

  4. Tak jsem projel nastaveni bod po bodu a vše mám v pořádku a přesto to nejede.
    Nemůže být problém v tom že mi Apache a MySQL jede na Windows serveru 2003?
    Není nějaký způsob jak zobrazit 6 TME z různých domén na jedné stránce???
    Díky za odpoved

  5. Tak už to pořítá v pohodě. Nevím, po 2 dnech se to srovnalo a již to běží jak má. Fakt super prácička.Už se těším, až to bude moci zobrazovat dle požadovaného zpětného data.Díky

  6. Vlach: 6 TME na jedné stránce zobrazit lze, ovšem budeš muset upravit skripty a databázi. Tedy jednoduše to nelze, aplikace s tím nepočítá a v případě že by ses do toho pustil, by bylo třeba hodně přepisování.

    Ohledně Windows serveru 2003 a Apache/MySQL mi taky není známa žádná chyba, která by v rozjetí aplikace bránila. Mrkni do db.php – je to nejjednodušší prostá konstrukce, kterak se k DB připojit. Fakticky mě nic nenapadá, jen úplně základní věci – je DB správně vytvořená? Existují k ní práva pro daného uživatele, kterým se v aplikaci pro TME k DB přihlašuješ? Není třeba dbát na velká a malá písmena? Jsou v DB tabulky?

  7. Tak pro RS232 to jde upravit – upravil jsem bez velke namahy a rozhodil na Linuxu – http://www.jinonice.cz/tme/ (dotaz k otazce v hracky) – akorat jsem nerozchodil – zatim obrazky – nejde mi to – haze mi to nejakou chybu ohledne image v z ne, ale v ostatnich jazicich ano – kdyby nekdo vedel co jak – budu rad.

  8. Blizzy: V té chybě je napsané, o co jde 🙂 Je potřeba novější verze knihovny GD pro generaci obrázků a tuto knihovnu je také potřeba mít v PHP aktivovanou (případně mít PHP zkompilované s touto knihovnou).

  9. GD Support enabled
    GD Version 2.0 or higher
    FreeType Support enabled
    FreeType Linkage with freetype
    FreeType Version 2.2.1
    T1Lib Support enabled
    GIF Read Support enabled
    GIF Create Support enabled
    JPG Support enabled
    PNG Support enabled
    WBMP Support enabled

    Novejsi snad neni 🙂

  10. Blizzy: To neni, je mi to zahadou, proc si to stezuje prave takto… V souborech pro generovani grafu jakozto obrazku se nachazi radek:
    $graph->img->SetAntiAliasing();

    Zkus jej zakomentovat, zda to pomuze (pokud ano, krivky na grafech budou „kostrbate“).

  11. Dobrý den, nemůžeme vaši aplikaci stále rozhýbat. Vložení teploty na webové stránky (čerpáno z teplota.php) je v pohodě. Po nahrání vaší aplikace se nám nezobrazuje aktuální teplota ani se data neukládají do databáze. Nastavení přístupu k databázi jsme kontrolovali několikrát. Nemáte radu kde hledat chybu. Děkuji za nápady

  12. Omlouvám se za pozdní odpověď, potřebuji konečně převést doménu jinam a pořád se k tomu né a né dostat a kvůli tomu mi emaily na cokoliv@tricker.cz nechodí a stejně tak notifikace o komentářích.

    Nejprve je určitě potřeba rozpohybovat ukládání dat do DB přes aplikaci pro TME (a její index.php). Pokud jsou údaje pro připojení k DB v pořádku, pak zkuste přes utilitu nastavit TME plnou cestu ke skriptu (až po index.php).

  13. Buď pozdraven,

    pohužel netuším, proč se tam dějí taková zvěrstva, jaká jsou k vidění u Tebe na stránce. Teoreticky by to mělo být údajem v databázi, ale prakticky by potom měl být rozsah stupnice teploty těmto hodnotám uzpůsobený a nemělo by docházet k podobným přestřelům. Zkusím ještě zauvažovat.

  14. Je mi to jasný. Náhodná chyba je špatná chyba. Naštěstí na tom nestojí svět. Pokud Tě něco napadne, tak prosím písni. Jinak sobotní nejnišší teplota se vůbec nezanesla a včerejší je opět OK.

  15. Mělo by to mít na svědomí to, že v daný čas nebyla naměřená žádná hodnota. Resp. na to mám podezření, ale nejsem si jistý, jestli to potom má dopadnout tak, jak to dopadne… budu si muset udělat chvíli a chtě nechtě se na to podívat.

  16. Chjo, tak ty skoky v grafech jsou zapříčiněny naměřením nulové hodnoty. Než jsem na to přišel, proč to dělá, co to udělá a jak to opravit… GRR! Naprostá hloupost a ještě já jsem větší hlupák, že mi to trvalo tak dlouho.

    Holt každý den není posvícení… skripty jsem opravil v archivu aplikace a zároveň nabízím ke stažení ty, kterých se to týká a které stačí přepsat těmi novými z tohoto archivu:
    http://tricker.cz/wp-content/tme-oprava.zip

    (jen soubory v adresáři skripty co mají v názvu „flash“)

    MT

  17. Ahoj, tak to je super, že si na to přišel. To mě teda nenapadlo. To jsem mohl vypozorovat také….. No si prostě jednička. Díky.

  18. Prosím o pomoc, asi jsem lama, ale stránky jedou bez hodnot! Vši jsem nastavil podle návodu a nic. Přes TME nastavení teplotu ukazuje, přímá IP taky, ale na stránkách TME2.0 není nic ( žádné hodnoty, problémy to nepíše ) a v MySQL taky ne ! Ostatní PHP aplik. jedou o.k. (Jde o lokální síť)

  19. Petr: Stejný problém byl i u průměrné teploty za posledních 14 dní, ale to jsem opravoval těmi upravenými skripty, takže by to nyní mělo být v pořádku. I na té stránce, kde máš měření, se teď jeví vše v pořádku a nic není uskočené.

    A děkuji Ti za uznání – ač to vůbec není povinné, tak jsem rád, že jsi mě tak hezky zmínil. To se často nevidí a opravdu mě to potěšilo.

    dodo: Těžko usoudit, kde jsi mohl udělat chybu, ale s trochou štěstí to bude jen v nastavení TME přes konfigurační utilitu. Zkus sem schválně nahodit, jak to máš nastavené (ať už zkopírováním řetězce s adresou ke skriptu TME nebo odkaz na screenshot) a mrkneme na to.

  20. Tak to je síla než pochopím co píše Tomáš
    21. 12. 2007 v 11.36
    Jinak je do dost super 🙂

  21. Multíku, zdarec. Hele řeším perličku, jak vepsat do PHP programu řádek aby mi php generovalo xml s vloženou teplotou asi jak to mám já na teplota.kfbz.cz a teplota teploměru se zapisovala do XML asi stejně jako teplota ze serverovny (uvedena dole pod grafy) a její informace je na teplota.kfbz.cz/server.xml stejně bych potřeboval i teplotu z PHP. Je to pro Wix, aby šel použít i mimo lokální IP adresu. nechci teploměru dávat externí IP adresu. Možná to jde i jinak, ale zatím se jen ptám. Na reakce čekám a děkuji za nápady. Všem.

  22. dodo: Jak to myslíš? Ve kterém formátu by se kde měla ukládat jinak? Nějak se teď nechytám 🙁

    Danelli: Taky se v tom popisu trošku ztrácím. XML není nic jiného než prostý strukturovaný text s patřičnou XML hlavičkou, v tom problém nebude. A teplotu do XML můžeš buď vložit z databáze (vezmeš poslední naměřenou) anebo ze souboru, do kterého si ji budeš např. přes PHP zapisovat, abys ji z něj mohl čerpat z více zdrojů. Uložení v DB je samozřejmě lepší.

  23. pří každém(xls, pdf,sql …) exportu dat z MySQL jsou naměřené hodnoty ve formátu datum, když poté převedu teplotu 20 na číslo … Prostě potřebuji jiný rozsah datumu (delší) a jinak než v xls to nesvedu. 🙂 asi zase budu pro smích 🙂

  24. Dodo: Jedu na ten čas, který je na serveru na kterém se hodnota ukládá. Ukládaná hodnota data a času v databázi je klasický DATETIME formát. Excel (OOo Calc) jsem dlouho neměl otevřený (tak tři roky :)), ale co jsem se zběžně díval, tak pokud potřebuješ tam pracovat s datumem, tak už si to vždycky nějak „rozkouskuješ“ ten stávající a upravíš.

  25. ten datum rozkouskuju to problém není, ale teplota se nenatáhne jako číslo ….. jsem … jsou tam tečky 🙂

  26. Dodo: a co když v tom sloupečku teploty nahradíš tečku za čárku anebo obráceně? To by mohlo být ono 🙂 Maximálně určit dodatečně v Excelu (Calcu) datový typ pro ony buňky, ale to asi bude správně. Export teploty z DB bude určitě v pořádku jako číslo, tam snad problém nebude.

  27. Koupil jsem si taky tu věcičku které se říká teploměr,ale v životě to nedám dohromady a přitom se mi tak líbí ty grafy.

  28. Dobrý den
    potřeboval bych poradit. Nainstaloval jsem Vaši aplikaci, ale bohuže ji nemůžu rozjet. Postupoval jsem podle návodu a stále se mi nezobrazuje teplota na webu. Toto jsem zkoušel instalovat na dva různé weby a stále nic. Nevím v čem by mohla bých chyba. Děkuji za jakoukoliv radu.

  29. David: Pokud se zaseknete na nějakém konkrétním bodě tak mě kontaktujte a třeba to dáme dohromady, rozhodně se hned nevzdávejte 😉

    Dagos: Většině lidem pomůže, když přes konfigurační software v TME nastaví cestu ke skriptu až po ?GUID=

    Tedy máte-li stránku http://www.dagos.cz, aplikace k TME máte v adresáři „tme“ a GUID máte nastaveno ve skriptu „nastaveni.php“ na retezec „prd“, tak do konfigurace přímo teploměru zadejte cestu:
    http://www.dagos.cz/tme/index.php?prd=

    A mělo by to zafungovat.

  30. Dobrý den,
    ještě před tím než jste napsal postup, jak to rozjet, tak jsem prošel celou diskuzi a někdo to již psal s tím řetezcem ?GUID= a podařílo se mi to rozjet. Tak Vám děkuji za postup.

    Mám tu ještě menší problém. Na jednom webu mi aplikace funguje správně. Avšak na druhém webu mi aplikace ve flash grafu ukazuje první graf pouze po jedné hodině a nikoli po čtyřech.

    A když přepnu z flash grafu na obrázkový grat, tak se nezobrazí ani jeden. Aplikaci jsem zkoušel dvakrát přeinstalovat na ftpčko a smazat databázi, ale pořád se tento problém opakuje. Jak jsem již psal na druhém webu je vše v pořádku.

  31. Dagos: Pokud je na druhém hostingu vše OK (což musí být, když je databáze čitelná), tak nevidím důvod, proč by první graf zobrazoval špatně – leda, že by nebyl dostatečný počet měření.

    Pokud se nezobrazují obrázkové grafy, tak je na serveru stará verze grafické knihovny GD a je potřeba v grafových neflashových skriptech zakomentovat řádek s antialiasingem:
    $graph->img->SetAntiAliasing();
    Na:
    // $graph->img->SetAntiAliasing();

  32. Tak s tím flash grafem jsem v TME nastavení měl dané periodu zasílání na 10 sekund, tak jsem ji zvedl na 60 a už se mi grafy zobrazují správně v daném časovém horizondu.

    K obrázkovým grafům:
    Nevím jestli je to správně, ale našel jsem že GD verze je /GD Version bundled (2.0.28 compatible) /

    Zakomentoval jsem tedy tyto soubory:
    graf-4-hodiny.php
    graf-4-hodiny-mobile.php
    graf-24-hodin.php
    graf-24-hodin-krivky.php
    graf-prumerna-mesicni.php
    graf-teploty-14-dni.php

    Ale obrázkové grafy se stále nezobrazují 🙁

    Ještě se chci zeptat. Na webu se mi zobrazují 3 grafy a to:
    Teplota za poslední 4 hodiny
    Teplota za posledních 24 hodin
    Teploty za posledních 14 dní

    V indexu a složce skritpů vidím, že je skript i na průměrnou měsíční teplotu /tak jak je tomu na roudnici.net/ Tak se chci zeptat, kdy se tento graf zobrazí i na mém webu. Zobrazí se až při měsíčním sběru dat nebo musím něco nastavit?

    Další věc na kterou se chci zeptat, zda by jste mi mohl poskytnou skript, jak máte na roudnice.net – Teplota za poslední 3 dny – detailní křivka.

    Děkuji Vám a přeji pěkný den 🙂

  33. No ještě se tak dívám, tak mi to v cache složce nevygeneruje *.png soubor je tam jen jeden *.ofch

  34. Já už se tomuhle webu budu věnovat, no vážně…

    Dangos: oboje grafy už se Ti určitě objevili, protože došlo k nasbírání dostatečného množství hodnot. Kdyžtak pošli odkaz na ty stránky a mrknu, co to hází za chybu u obrázkových, jsem poslední dobou nějak mimoň.

  35. Multi ahoj, dva dotazy:
    1. jaký je kĂłd pro to okénko s teplotou v pravo nahoře (ta aktuální teplota)
    2. nedělal jsi náhodou obdobnou aplikaci v php i pro teploměr a vlhkoměr od papoucha?

    Danelli

  36. Ahoj,

    1) je to obsah DIVu „aktualne“, akorát jestli to chceš zobrazovat na jiném webu, tak by to bylo složité – musel by jsi zkopírovat ten DIV do té stránky, přizpůsobit kaskádový styl, zkopírovat ještě získání poslední hodnoty z DB z kĂłdu a taky se z té jiné stránky nejprve před provedením kĂłdu připojit na databázi s měřením. Leda, že bys toto okénko udělal jako samostatnou stránku a tu pak do jiné vložil přes iframe.

    2) bohužel nedělal, neměl jsem ten stroj a přiznám se, že časově jsem na tom už hodně dlouho špatně

    měj se

  37. Ahoj, chtěl bych poprosit o pomoc. V práci máme na síti pověšeny tři teploměry a tyto statistiky by byli naprosto geniální. O programování a zprovozňování PHP téměř nic nevím a chtěl bych si to rozjet na intranetu. Aplikaci jsem si nahrál na server kde mi běží pervasiv, nainstloval PHPTriad, nastavil jeden z teplměrů aby data posílal do správné složky a tím jsem skončil. Prosím poraďte, jsem děsná lama.

  38. Hoj,

    rád bych pomohl, ale zatím jsi napsal docela všeobecný popis. Hodí Ti skript TME nějakou chybu, když jej otevřeš v prohlížeči? Pokud ne, tak spojení do databáze specifikované v „nastaveni.php“ funguje a potom už půjde jenom o doladění GUID. V „nastaveni.php“ jsi musel nastavit nějaký řetěžec pro GUID a ten samý musíš mít nastavený i v TME. Rovněž v nastavení TME mějte vepsanou celou cestu ke skriptu včetně GUID, jak už jsem tady popisoval:

    ==========================================
    Většině lidem pomůže, když přes konfigurační software v TME nastaví cestu ke skriptu až po ?GUID=

    Tedy máte-li stránku http://www.dagos.cz, aplikace k TME máte v adresáři „tme€ť a GUID máte nastaveno ve skriptu „nastaveni.php€ť na retezec „prd€ť, tak do konfigurace přímo teploměru zadejte cestu:
    http://www.dagos.cz/tme/index.php?prd=
    ==========================================

    Pokud máš toto vše splněno a stále to nefunguje, tak si ještě ověř, zda se ze sítě teploměru dostaneš do sítě, kde je PC s PHP Triadem a také zda Ti příchozí spojení na portu 80 neblokuje firewall.

    Co vím, tak PHPTriad je dost starý balíček a především dost problémový, zkus jej korektně odinstalovat a místo něj nainstalovat XAMPP.

  39. Zdravim,
    tak jsem rozchdil po porodních bolestech teploměr, včetně osazení (což byl taky porod). Nicméně se mi zdá, že je tam chyba – a sice v těch třídeních grafech. Podle mě jsou posunutý o 2 resp.4 hodiny každý den. Současný den je podle mě OK, ale ty další jsou posunutý. Podle mě to máte všichni (včetně autora).

  40. Jára:

    Ahoj, divím se, že si toho nikdo nevšiml dříve 🙂 Prakticky k posunu nedojde za předpokladu, že byly odeslány všechny teploty a zaznamenány do DB (tedy po celý den co minutu jedna). Pokud dojde k výpadku, dojde k posunu.

    Zobrazení grafu je napsáno velice jednoduše, viz kĂłd „graf-24-hodin-krivky.php“. Zkrátka se vezme 1440 posledních záznamů (24 hodin), potom 1440 záznamů od 1440-tého záznamu apod. Chtěl jsem to přepsat již dříve, ale vrážím energii do jiných projektů, takže není moc čas to napsat inteligentně. Časem vydám nový soubor, který eliminuje případná chybějící měření a tak zobrazí další dny bez posunu.

    Každopádně díky za zpětnou odezvu!

    M.

  41. Není zač za odezvu. Grafy jsou supr… Podívám se na to, ale přepisovat cizí kĂłd je vždycky složitý. Je zajímavý, že chybu mají všichni kam jsem se koukal. Chyba bude ale ještě nějaká jiná, protože podle mě já mám všechny data OK, ukládá se mi to pravidelně. Nevím…

  42. Jak máte velkou databázi po např. ročním provozu? Každou minutu uložení hodnoty teploty. Díky

  43. Kopecký: na roudnice.eu aplikace běží již od 14.5.2007, tedy přes dva roky, a tabulka s daty při minutovém úkládání, která měla v tento okamžik 1 012 832 řádků, zabírá 16.9 MB data a 8.1 MB index, tedy celkem 25 MB.

  44. Ja ji mam o neco mensi, ale je to tim, ze jsem upravil ukladani ne po min. ale po 10 min – takze od 5.5.2007 mam dtb 4,8MB. Je fakt ze pouzivam jiny typ teplomeru (TME pro RS232) nez na jak to bylo napsano a tak jsem i cca trochu upravil vycuc z databaze.

  45. Super aplikace, děkuji za vytvoření a možnost používání. Používám zatím jen jeden den, ale žádná chybka nenalezena. Nastavení velmi jednoduché.

  46. Ahoj,
    mám jede „neskromný“ dotaz. Vím, že člověk má málo času, ale rád bych se zeptal, zda bude k dispozici aplikace s vyhledáváním do minulosti. Na nic netlačím, jen se ptám. Díky

  47. Petr: zatím jsem do toho za celý rok ani nerýpnul, ale rád bych někdy ve volné chvíli doplnil další zajímavé funkce. Jestli máte nějaké konkrétní nápady a přání, jak by co mělo fungovat, tak určitě sem s tím, jinak počítám že přes tuto zimu si na to čas najdu… 🙂

  48. Ahoj, no v podstatě si myslím, že by bylo vhodné, vyhledávat nejnižší a nejvyšší teplotu za zadané období. Dále skok v grafu na zadané datum ( zadám např. 1.1.2008 a v grafu uvidím +- 1 týden od tohoto data). Jinak si myslím, že je apikace naprosto skvělá. Ještě bych uvítal úpravu v grafech, aby byly vykreslované teploty v grafech provedené tlusčí čárou.

  49. Mel jsem nejakou dobu odpojeny TME, tento mesic jsem ho rozjel. Je mozne doplnit hodnoty do databaze, bude stacit jedna hodnota za mesic pro vypocet prumeru? Mam v okoli jestě jeden TME, takze hodnoty by byly OK. Díky

  50. Me by se moc libilo, kdyby rocni prehled nezobrazoval jen prumernou teplotu, ale i maximalni a minimalni.

  51. Zdravim,

    tak jsem si precetl par prispevku ohledne teplomeru a byl jsem vice mene u vytrzeni. Jak nekdo kdo poradne asi nerozumi programovani dokaze napsat neco co se druhym zamlouva a je pro ne pouzitelne? Tato otazka mi byla vice mene zahadou, ale neresim. Delam v branzi, a tak vim, ze tohle se holt plati.

    Chtel bych asi tohle. Jelikoz si u nas kamaradi vymysleli ten TME Papouchuv teplomer (do ktereho nevidim, myslim do zdrojaku), tak jsem rekl: „Proc, ne!“ No a nestacil jsem se divit 😀 Aplikace je fajn, Nastaveni je fajn. Ale nevidim dovnitr teplomeru. Co se treba tyce kalibrace, a tak to je asi tak fuk. No dobre.

    Fajn bylo, kdyz mi rekli, ze pro ten TME bazmek existuje PHP Open source aplikace pro web, ktera zobrazuje grafy. To uz bylo lepsi. Ale je pravda ze par chyb to ma, a asi mit dale bude. Tak jsem se s tim tedka skrze dovolenou trapil a koukal do toho, abych pochopil, co tim autor myslel.

    Tak bych se rad zeptal na dalsi vyvoj, popr. na dalsi updaty? Dale tak na to, jak myslel autor tu opravu s predavanim do funkce jednotkaTeploty nulove hodnoty? Sice jsem zahledl na foru jiz opravu toho kodu, ale myslim, ze to je noedostatecna oprava?

    Dale …. co mini autor tim vyberem hodnot s limitem 1440 pro jeden den? Ja jsem napriklad zmeril, ze je mi teplomer schopen po minutach za den dodat pouze 1389 hodnot a ne 1440? Jak jako bude autor resit tento problem? Kdyz SQL jazyk resi tyhle veci jednoduchou a presnou formulaci dotazu skrze SQL?

    Jinak jsem se pokusil upravit danou aplikaci k obrazu svemu. Doplnil jsem spravne rozliseni casovych udaju pro 3 denni graf, opravil jsem odstraneni nulovych hodnot jinak nez autor. Zda se mi jeho reseni trochu neprakticke a doplnil jsem autzomaticky update teplot v ramecku primo z teplomeru skrz AJAX bez nutnosti refreshovat stranku.

    Chtel bych jeste dodelat moznost prochazeni grafy pro dane datum, ci hodiny. Ale to pouze asi pro me soukrome pouziti. Je sice hezke, ze PAPOUCH dela teplomer s logovanim primo do teplomeru, ale jelikoz nejsou finance, tak se nebudu zaobirat teplomerem s logovanim.

    Chtel bych se tedy zde zeptat autora, zda-li je ochoten strpet nekoho dalsiho, kdo se mu bude vrtat ve zdrojacich?

    s pozdravem

    Alpak

  52. Jo a jeste jedeno drobny detail …. Nam bezi teplomer asi rok a databaze ma asi 15MB, a tak me napadlo jeste PERLovske zalohovani do databaze, kde by se uchovavaly maximalne hodnoty pro kazdou celou hodinu? A maximalne by se nechavaly 2 nebo 3 roky detailne? Co vy na to?

  53. Alpak:

    Také zdravím. Nevím, jestli jsem se někde oháněl tím, že TME je programátorský klenot – pochopitelně je to fukncionálně naskriptované(!) velice jednoduše a tím jsem se také od začátku oháněl stejně jako tím, že nemělo jít o veřejnou věc, jen o jednoduchou reprezentaci dat pouze pro naše rodinné použití a podle toho to také vypadá. V závislosti na tom, jak „megalomansky“ (či jen správně) by měl být projekt pojmutý, bychom se mohli domluvit na celé řadě věcí, jako je dodržování syntaxe v rámci projektu, roadmapy, hostéra kĂłdu (a tím pádem verzovacího systému) apod. apod., zkrátka základní věci.

    Tak, jak je projekt od začátku uchopen, se jej také snažím prezentovat. Na druhou stranu mi nejde moc do hlavy, jak můžete být z branže a nechápat, že někdo kdo neumí programovat dokáže napsat něco, co lidé používají a nemlich za to i platí 😀 Kolikrát se setkávám s projekty, které jsou placené, mají na tom pracovat odborníci a špatně je řada věcí od drobností po základní neznalosti, o OOP nemluvě.

    Pravda je, že i podle mého mínění by člověk měl být v rámci možností co největší perfekcionalista a vše dotahovat do posledních detailů. Budiž toto moje vyjímka potvrzující pravidlo.

    Mj. jsem se řídil také tím, že PHP je „easy to read, understand and write“ a řada bastlířů, kteří by si teploměr zakoupili a chtěli aplikaci upravit si tak vystačí se třemi díly seriálu „PHP pro začátečníky“. Kdybych to měl nyní psát tak, aby se mi to líbilo, tak to bude v Ruby on rails, ale to zase není pro širokou veřejnost ať už v naučení, tak (a to především) v nasazení na průměrný hosting.

    K Vašim výtkám/připomínkám:
    – Updaty nejsou téměř přes rok, ač jsem se aplikaci chtěl chvíli věnovat, tak je bohužel řada okolností kolem (ať už rodinných či řadou důležitých projektů v mém hlavním pracovním poměru), které mi to nedovolují. Vzhledem k tomu, že není ona už přesně stanovená roadmapa, mě to příliš netíží, ale i přesto bych s tím někdy rád pohnul kvůli lidem, kteří by to ocenili.
    – 1440 hodnot za den je lenost, to Vám muselo dojít 🙂
    – AJAX je udělaný hezky – sice by to šlo udělat jedním řádkem v JQuery (a možná ani nepřeháním), ale kvůli té jedné věci loadovat nějakých 50 kB frameworku je to co jsem nechtěl a na druhou stranu to, na co jsem si nenašel čas.

    Někoho dalšího, kdo se porvrtá ve zdrojácích pochopitelně nejenomže strpím, ale také přivítám. Pokud se podělíte o těch pár stávajících vylepšení, tak bych je rád přidal do „oficiálního“ vydání této verze TME s Vašim jménem jako přispivatele.

    PERLovské cokoliv by obrovsky ztížilo nasazení aplikace pro právě onu širokou veřejnost (jestli se tak dá mluvit o majitelích TME, nevím kolik jich může být) tím, že PERL nemusí mít k dispozici. I PHP skript se dá spouštět CRONem 🙂 Do příští verze jsem si to představoval tak, že bude existovat ještě jedna tabulka, kde bude „den, max. teplota, min. teplota, prumerna teplota, denni teplota, nocni teplota“ případně další náležitosti a vzhledem k tomu, že (i když nechci podceňovat) většina uživatelů by nemohla nastavit CRON (nejspíše by ani neměli tu možnost) by se dané hodnoty vyplňovali při každém načtení skriptu za poslední dny, které by nebyly dopočítané. ňádků v této tabulce by bylo pochopitelně řádově méně, než v tabulce s přesnými teplotami (365-366 řádků ročně), by šlo velice rychle a jednoduše zobrazovat další údaje i za roky dozadu. Dopočítání dne by mělo trvat přinejhorším několik vteřin, pro stávající uživatele TME by byl potřeba skript, který by dopočítával dny od prvního záznamu a spouštěl by se tak dlouho dokola (kvůli execution time limitu), než by dopočítal vše.

    Jen mít ten čas a odhodlání. Přeci jen je jednodušší rozšířit stávající primitivní, než začít zcela na zelené louce, když nemáte tolik času a děláte to nezjištně.

    Těším se na reakci
    S pozdravem
    Michal „MultiTricker“ Ĺ evčík

  54. 🙂 sorry za az takovou odezvu co jsem napsal …

    ad programatorsky skvost – beru zpet, souhlasim, ze dulezite bylo aby to splnilo ucel

    ad ten perl – uznavam ze pro nekoho to muze byt limitujici a numi to nastavit, ale i ve windows velmi rad pouzivam active perl (tam by si ho museli zajemci doinstalovat) a asi by se nemohl spoustet crontabem ale v planovanych ulohach (konfigurace lze udelat pak dualne) …. ale souhlasim s vasim nazorem pouzit radeji phpcron, bylo by to asi v tomto pripade lepsi (zase az tak kriticke veci ty Papouchovy teplomery asi nehlidaji)

    ad ten AJAX – no ja jsem se samozrejme taky kouknul do JQuery a nebo podobnych ale navic tady jsem si to zkusil udelat bez toho a myslim ze 700 bajtovy skript na odeslani teploty v XML myslim staci (taky jsem jenom narychlo neco napsal), samozrejme se o to mohu podelit, nejak na tom nelpim

    a viz ten zbytek … roadmapy ja v praci moc nedelam 😀
    jestli by se v tom vrtalo vice lidi nez dva tak bych asi taky radeji pouzival nejakou free vychytavku pro sdileni kodu

    jo ale nepochopil jsem tu upravu pri predavane nuly do funkce jednotkaTeploty do funkce jsem posilal cislo, ve funkci testoval teplotu na prazdny retezec a v oprave jsem to pekne vyresil v kazde funkci ktera generovala graf, nebylo lepsi to upravit spravne jenom v te funkci? 🙂

    jo a myslim, ale ze na komunikaci by byl lepsi email nebo neco jineho, at vam tady nezacpavam komentare blbostma 😉

    PS: u tech 1440 hodnot v SELECTu mi samozrejme doslo, ze lenost zvitezila 🙂

  55. Alpak-MultiTricker, pánové klobouk dolů. Do programování nevidím, ale je vidět, že si rozumíte a že široká veřejnost ocení Vaši práci.Já práci MultiTrickera chválil už mockrát a na dosti místech.

    ad-Alpak : Ta kalibrace teploměru se nedělá, protože se používá čidlo, které je kalibrované ve fabrice a dává ze sebe již teplotu, která se dále jen softwarově převádí. Mám 3 teploměry a odchylka v „normálních“ teplotách je max 0.1°C (měřeno přímo na čidlech-před dalším zpracováním). Fakt to chodí dobře.Papouch ty teploměry má fak vychytaný. Ale toto je jen můj názor-tak mě prosím nekamenujte.

  56. Ahoj, tak jsem zjistil malinký nedostatek. Dnes jsem si udělal upgrade na routeru asus wl-500gp, kam jsem nahrál firmware pro připojení CDMA. Takže pokud běží internet doma, mám pevnou veřejnou. Když vypadne, mám okamžitě přepnuto na CDMA O2. Probůém nastává při ukládíní databáze na serveru, který je také na veřejné IP. V nastavení je nutnost nastavit IP podle toho, odkud posílám. Ale CDMA přiděluje DHCP. Myslím že druhé 3číslí se mění. Dá se nějak vypnout ochrana proti cizí IP? Díky za odpověď. Pokud to nejde, tak to neřeš. Kvůli pár hodinám, kdy to nechodí se svět neboří. 🙂

  57. V souboru nastaveni.php je nutno upravit nasledujici radek
    $ip = „XXX.XXX.XXX.XXX“; na $ip=““;
    a pak se v index.php bude preskakovat podminka kontroly ip pri ukladani viz

    // kontrolujeme IP a sedi
    if(isset($ip) AND $ip != „“ AND $ip == $_SERVER[‚REMOTE_ADDR‘])
    {

    MSSQL_query(„INSERT INTO tme2(kdy, teplota) VALUES({ fn NOW() }, $_GET[$GUID])“);

    }
    // nekontrolujeme IP
    elseif($ip == „“)
    {

    MSSQL_query(„INSERT INTO tme2(kdy, teplota) VALUES({ fn NOW() }, $_GET[$GUID])“);

    }

  58. Ahoj, snazim se rozchodit tvoji aplikaci nejak se nedari. Kdyz nakopiruji aplikaci na server a vlezu na stranku s index.php, tak mi ho hodi hlasku ze Web nemůže zobrazit tuto stránku. Nemas tuseni cim by to mohlo byt.
    Dekuji

  59. Martin Habr: Neváhej a poděl se! 😉

    Koblich: A je na serveru podpora PHP? Případně zašli odkaz, kde to máš nahrané, třeba mě ještě něco napadne.

  60. Koblich: Máš pravdu, odkaz na stránku mi nepomohl, ale výpis phpInfo() už ano. Problém je v tom, že v PHP nemáš zavedenou knihovnu GD2, která je nezbytná pro generování grafů pomocí JpGraph. Předpokládám, že to je ten hlavní problém.

  61. Tak sem nainstaloval gd knihovnu a vysledek porad stejny 🙁
    [root@sattnet root]$ ipkg install php-gd
    Installing php-gd (5.2.12-1) to /opt/…
    Downloading http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/php-gd_5
    .2.12-1_mipsel.ipk
    Installing libgd (2.0.35-5) to /opt/…
    Downloading http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/libgd_2.
    0.35-5_mipsel.ipk
    Installing fontconfig (2.5.0-0) to /opt/…
    Downloading http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/fontconf
    ig_2.5.0-0_mipsel.ipk
    Installing expat (2.0.1-1) to /opt/…
    Downloading http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/expat_2.
    0.1-1_mipsel.ipk
    Installing gconv-modules (2.2.5-7) to /opt/…
    Downloading http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/gconv-mo
    dules_2.2.5-7_mipsel.ipk
    Configuring expat
    Configuring fontconfig
    Configuring gconv-modules
    Configuring libgd
    Configuring php-gd
    Successfully terminated.

    Nenapadá tě co bych mohl zkusit dál

  62. Koblich:
    Hned za „http://php.net/manual/en/function.error-reporting.php)

    Soubor ulož a mělo by se objevit alespoň nějaké chybové hlášení, které nás nakopne co je špatně.

  63. tak sem se jeste povrtal php.ini a uz mi to konecne vypisuje chyby. Asi bude spatne pripojení k databazi, takze ted jeste prijit na to jak se k ni pripojit 🙂 a pak se zas uvidi.

  64. Je to verze pro MSSQL a IIS. Zrusil sem moznost prepinani jednotek teploty a vyber jazyku. Cteni dat sem nastavil na 600 sec (10 min) a podle toho upravil grafy. Grafy sou pouze flash, je to nejlepsi a navic obrazkovy se me nechtelo opravovat. Graf za 3 dny zpatky nacita poslednich 24 hodin, poslednich 48h (bez predchozich) a poslednich 62 bez predchozich 48). pokud neni hodnota, nebo je hodnota rovna nule, vypise se 0 bez udani Celsius.

    http://habrik.wbs.cz/teplomer.zip

  65. A zrovna dnes sem narazil na malou chybicku 😛
    // minuly mesic
    $mes = date(„Y-m“, mktime(0, 0, 0, date(„m“)-1, date(„d“), date(„Y“)));

    dnes je 29.3.2010 … promena $mes ale obsahuje datum 1.3.2010 takze vysledne je 2010-03 pro coz neni v tme_mesicni zaznam a zaznam se ulozi…

    Php vyhodnoti $mes jako 29.2.2010 coz ale neexistuje tak tam hodi 1.3.2010

    otazkou je co s tim 🙂

  66. A zde se ze zamena za
    $mes = date(„Y-m“, mktime(0, 0, 0, date(„m“), -1, date(„Y“)));

    funguje paradne, neodecitam 1 mesic, ale odecitam date(„d“)-date(„d“)-1
    tzn od 29.3. odectu 30 dni a dostavam se na 28.2. a $mes = 2010-02

  67. zdravim, mam tiez jeden problem, mozno by ste mi vedeli poradit. Pri JPGrafoch mi nechce zobrazit graf pre teploty za poslednych 14 dni. Nevytvara ani png subor v priecinku cache. Pri flash mi to ide.

  68. Martin Habr:
    $mes = date(€ťY-m€ť, mktime(0, 0, 0, date(€ťm€ť)-1, date(€ťd€ť), date(€ťY€ť)));
    Musi byt vyhodnoceno jako RRRR-MM a to minuly mesic nez aktualni. Vsude kde jsem psal neco podobneho (a jedno z toho je i rezervacni system pro chatky) podobna konstrukce fugovala a funguje. Pokud se to doopravdy vyhodnocuje tak jak rikas, tak jde spis o nejakou prasarnu v ramci IIS modulu? Ale nejak nedokazu vymyslet, proc by se to melo chovat tak hloupe.

    stenly: Jestli jinak JPGrafy funguji tak mi nedochazi, proc ten jeden nejde a pritom se ve flashi jinak zobrazuje (takze nedostatkem namerenych hodnot to nebude). Co se stane, kdyz otevrete http://neco.cz/skripty/graf-teploty-14-dni.php ? Vypise to nejake chybove hlaseni?

  69. Zkus jak už jsem tu psal Koblichovi toto, jen s obměnou skriptu:

    Hned za „< ?php" v souboru "graf-teploty-14-dni.php" napiš do nového řádku: error_reporting(E_ALL); Třeba to poté vyhodí nějakou chybu a bude se čeho chytnout.

  70. Mam zajimavy dotaz 🙂 Da se nejak v Open Flash Chart udelat jedna krivka teplot, napriklad za 24h ruzne barevna treba po 8 hodinach? zacatek cervenej, od 8-16 modre a napriklad 16-24 treba cerne?

    Diky Martin

  71. ja by som chcel spravit nieco take, ako prognoza (predpoved) pocasia na zaklade predchádzajúcich 5 hodnot (napr. priemernej dennej teploty) pomocou klzaveho priemeru (moving average). mam uz skript, ktory mi to vypocita, uz len to nejak dat dokopy, aby som mal dalsi graf s prognozou.

  72. stenly: Jen do toho, rád to zařadím do aplikace, jen bych případně časem potřeboval vyrozumět jak přesně to bude prognĂłzu počítat, abyme to s určitými zárukami/vysvětlením zahrnuli do dokumentace.

    Bohužel se teplota dokáže razantně změnit na základě nastupující studené/teplé fronty a to nelze předpovědět jen teplotou z časů minulých, ale je třeba také řada dalších informací. Holt ten kdo má TME nemůže zastoupit CHMI :-)))

  73. Zdravím všechny,
    měl bych dotaz zda by šel upravit skript aby mi místo maximální a minimální teplota za celou délku měření (cca 1rok) zobrazovalo max a min teplotu za den ? Tedy vždy současný den od 00:00 do nynějška a další den o půlnoci vynulovat. A měřit znova.

  74. Tomáš: Bylo by potřeba v index.php nahradit řádky okolo řádku č. 154 těmito:

    // Nejvyssi namerena teplota
    $dotaz = MySQL_query(„SELECT MAX(teplota) as teplota, kdy FROM tme WHERE kdy LIKE ‚“.date(„Y-m-d“).“%'“);
    $nejvyssi = MySQL_fetch_assoc($dotaz);

    // Nejnizsi namerena teplota
    $dotaz = MySQL_query(„SELECT MIN(teplota) as teplota, kdy FROM tme WHERE kdy LIKE ‚“.date(„Y-m-d“).“%'“);
    $nejnizsi = MySQL_fetch_assoc($dotaz);

  75. Děkuji moc, funguje mi to, ale z mě neznámých důvodů se mi zobrazovala teplota na 13 desetinných míst, i když v databázi mám zapsány pouze 2 desetinná místa. Nepotřebné desetinné místa jsem ořezal pomocí substr a je to.
    Kde se ale vzaly ty des. místa navíc to nechápu.

  76. To je tak trochu záhadou i pro mě, ale hlavní je, že to jede 🙂

    Každopádně kdyžtak místo substr() použij number_format(), bude to o něco čištější kdy už.

  77. Díky, tak jsem to vyřešil takhle:
    // Nejnizsi namerena teplota dnes
    $dotaz = MySQL_query(„SELECT MIN(teplota) as teplota, kdy FROM tme WHERE kdy LIKE ‚“.date(„Y-m-d“).“%'“);
    $nejnizsidnes = MySQL_fetch_assoc($dotaz);
    $mindnes = $nejnizsidnes;
    $mindnes = number_format($nejnizsidnes[‚teplota‘], 2);
    a když už mám dnešní min teplotu, šlo by k ní přidat i čas kdy byla ? Teda pokud s mými dotazy moc nezdržuju, ale rád bych se to přiučil.

  78. Ahoj Martine,

    prvně vše nejlepší k dnešnímu svátku a k OFCH2 – nádhera! Je to parádička, líbí se mi to.

    Třeba se časem dostanu k tomu, abych TMEP předělal na OFCH2, anebo mě předběhne někdo šikovný.

    Michal

  79. Ahoj,
    mám tento teploměr s verzí firmwaru 1.84 a nejde mi zadat do jména webového serveru cele jeho jmeno i s index php, protože zadavaci pole ma omezen počet znaků. zkoušel jsem to změnit i přes telnet, ale take nejde zadat cely nazev, Potřebuji zadat cca 50 znaků. poradíte někdo co s tím. je nějaká novější verze frmwaru, která to umožňuje?

    děkuji za odpověď

  80. Zdravim vsetkych,
    v mojej diplomovej praci sa venujem statistickej analyze viacrozmernych dat, potrebujem porovnavat moje namerane data z inymi. Chcel by som Vas poprosit, kto by bol ochotny a poslal mi svoje namerane data. Da sa to jednoducho vyexportovat z Mysql databazy. Tabulku TME vo formate Microsoft Excel 2000 a zozipovane. Velmi by ste mi tym pomohli.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *