Obsah kategorie ‘TMEP’

TMEP pro GIOM3000AE na Internetu

Napadlo mě použít strýčka Googla a zkusit najít kde všude se používa mnou upravená aplikace TMEP pro prezentaci dat z meteostanice GIOM3000AE.

 

Nejdříve přehled instalací jenž mám na svědomí:

http://teploty.lwq.cz/malinak/ – 600 m n.m. – stožár Maliňák, Dobrošov

http://teploty.lwq.cz/konciny/ – 530 m n.m. – rodinný dům Končiny u Červeného Kostelce

http://teploty.lwq.cz/prazska/ – 340 m n.m. – budova bazénu, Pražská ulice Náchod

http://www.celina.matejov.org/ – 350 m n.m. – Čelina u Slapské přehrady

http://pocasi.jaromer.net/stanice01/ – Na Rejsce 346,  Jaroměř

http://pocasi.jaromer.net/stanice02/ – Na Zavadilce,  Jaroměř

 

 Nalezené instalace pomocí google.cz :

http://www.trebestovice.cz/meteo/ –  200 m n.m. – fotbalové hřiště, Třebestovice

http://meteo.rozhlednabiskupskakupa.cz/ –  890,6 m n.m. – rozhledna Biskupská kupa

http://zdevo.cz/Ujezd_nad_Lesy/ – 250 m n.m. – Praha 9, Újezd nad Lesy

http://www.skihomole.cz/tmep/meteoweb.php – Ski Areál HOMOLE Poniklá, Krkonoše

 

 

… časem prohledám net znova a uvidíme co přibude …

 

Přidáno dne 10. října 2012 by lwq  |  31 komentářů »

Oprava TMEP 4.2 – přesměrování na mobilní verzi

Náhodou sem včera narazil na chybku v aplikace TMEP, jenž postihuje jak originální aplikaci, tak verzi pro GIOM 3000.

Jednoduše nefunguje automatické přesměrování uživatele, jenž přistupuje z mobilního zařízení, na mobilní verzi aplikace.

Je to způsobeno jednak chybějícím konfiguračním parametrem v souboru nastaveni.php, tak nevhodnou konstrukcí vlastního přesměrování, jenž PHP aktuální verze prostě „nežere“ 🙂

 

Připravil sem pro Vás následující kousky kódu, pro opravu souboru nastaveni.php a index.php. Oprava je již zaintegrována do *.zip souboru, který je zde na blogu ke stažení.

Na konec nastaveni.php je třeba přidat následující, aby se přesměrování povolilo :

$presmerovavatMobily = true; // CZ: Presmerovavat na mobilni verzi ?
                            // EN: Redirect to mobile version ?

 

Soubor index.php je třeba kolem řádku 34-tého nahradit :

 if (($ipod !== false || $iphone !== false || $android !== false) && $presmerovavatMobily == 1 && $_GET['nemobile'] == 0)
 {
    Header('Location: mobile.php', 301, true);
    exit();
 }

 

… za opravenou a rozšířenou verzi :

 // rozpoznani o jake jde zarizeni ... verze 2.0 (240912)
 $aMobile = array("iphone", "ipod", "ipad",
                  "android", "htc", "samsung",
                  "nokia", "symbian", "blackberry",
                  "iemobile", "opera mini", "htc",
                  "samsung", "silk", "kindle", 
                  "hp-tablet", "hpwos", "j2me/midp");

 for ($i = 0; $i < count($aMobile); $i++)
 {
   if (stripos($_SERVER['HTTP_USER_AGENT'], $aMobile[$i]) !== false && $presmerovavatMobily == true && $_GET['nemobile'] == 0)
   {
      $aDir = explode("/", __DIR__);
      $sRedirect = "Location: http://".$_SERVER["SERVER_NAME"]."/".$aDir[count($aDir)-1]."/mobile.php";
      Header($sRedirect, TRUE, 301);
      exit();
   }
 }
 // rozpoznani zarizeni - konec

 

Nyní by už přesměrování mělo makat 🙂 Pokud máte mobil jiné platformy než Apple a přesměrování stále nefunguje, dejte mi vědet, či zkuste zjistit co prohlížeč vrací v poli $_SERVER[‚HTTP_USER_AGENT‘] … Díky !

 

Aktualizace : Našel sem na netu seznam User-Agent-IDs pro další platformy/prohlížeče na mobilních zařízeních, tedy sem udělal další edit/opravu archivu ke stažení a kódu zde na stránce. Navíc sem našel chybu v jpgraphs (jde o definici cesty k fontům, lze nastavit dle vašeho prostředí), oprava je taktéž v archivu a zde:

Soubor skripty/jpgraph/jpgraph.php – řádek 202 :

//define('TTF_DIR','/usr/share/fonts/truetype/');
define('TTF_DIR','./fonts/');

… řádek 222 :

//define('MBTTF_DIR','/usr/share/fonts/truetype/');
define('MBTTF_DIR','./fonts/');

Aktualizace 25.10.2012 a 26.10.2012 : Odstranil sem z výčtu uset-agent tagů „trident“, což mělo totiž za následek, že mobilní verzi webu viděli i lidi co stále používají InternetExplorer a zároveň sem část kódu odpovědnou za tuto funkci přesunul do souboru skripty/fce.php … Archiv byl upraven taky. Dne 26.10. sem celé přesměrování kapku přepsal znovu a je otestováno, že funguje bez chyb – v případě, že nějakou chybu najdete, tak pište 🙂 A archiv je aktualizován taky, jako vždy.

 

 

Přidáno dne 24. září 2012 by lwq  |  Komentáře nejsou povolené u textu s názvem Oprava TMEP 4.2 – přesměrování na mobilní verzi

Oprava TMEP 4.2 – chybná hodnota +85°C

V poslední době se dost věnuji úpravám a přepisu aplikace TMEP od Michala Ševčíka která slouží v základu k prezentaci dat z meteo čidel od Papoucha (TME, TH2E, TMRS232, TM_Mikrotik a dalších) (a nejen od něj) na Internetu.

Finální verze bude již o dost jiná, než verze původní, ale to chce ještě čas.

Prozatím tu budu publikovat nejrůznější opravy a vylepšení TMEP, tak jak mi přijdou pod ruku.

V poslední době mě dost trápí chybné hodnoty čtěné z 1-wire sběrnice, typicky -41°C a +85°C – způsobuje to nejruznější rušení či délka sběrnice na hranici možností parazitního napájení.

Zde je tedy jednoduché řešení tohoto problému, jak ve verzi pro jednu hodnotu, tak pro vícero předávaných hodnot. Chybná data jsou prostě zahozena a v DB bude chybět vzorek. Finální oprava v aplikaci se bude chovat v základu jinak – najde předchozí platnou hodnotu a tu místo chybné doplní, následně uloží ID záznamu s touto dočasnou opravou a po příchodu další validní hodnoty provede dosazení průměru  těchto dvou hodnot místo chybějícího vzorku. Aplikace v admin rozhraní bude umět toto chování ovlivňovat = uživatel si bude moci vybrat jaké chování se mu hodí lépe.

Zde již zmíněný kód k umístění do souboru index.php na řádek před :

$teplota = str_replace(",", ".", $teplota);
$vlhkost = str_replace(",", ".", $vlhkost);

 Řešení pro jednu hodnotu:

// filtr proti typickym chybnym hodnotam - START
if (in_array($teplota, array("-41", "85")) exit;
// filtr proti typickym chybnym hodnotam - KONEC

… zde pokračuje zbytek souboru index.php

Řešení pro vícero předávaných hodnot :

(běžná verze TMEP toto nepodporuje, tedy je to zde pro inpiraci vlastní úpravy, předpokládá proměnou $aDataGET s ošetřenými daty z GET požadavku):

// filtr proti typickym chybnym hodnotam - START
$bError = false;
for ($i = 0; $aDataGET < count($aDataGET); $i++)
if ($aDataGET[$i] == 85) $bError = true;

if ($bError == "true") exit;
// filtr proti typickym chybnym hodnotam - KONEC

 

Za případné komentáře a věcné připomínky budu rád 🙂

Přidáno dne 18. června 2012 by lwq  |  Komentáře nejsou povolené u textu s názvem Oprava TMEP 4.2 – chybná hodnota +85°C

a href=