Autor | Zpráva | ||
---|---|---|---|
omorok Profil |
#1 · Zasláno: 30. 1. 2013, 09:19:28
Dobrý den,
Předem děkuji za všechna odpovědi a upozorňuji, že nejsem programátor. Na Raspberry jsem si vytvořil webový server, který mi odchytává data z regulace pro solární systém. Tak nějak jsem to dal dohromady, ale je nepříjemné, že aktualizaci dat na stránkách řeším přes aktualizaci celé stránky přes meta. Hledal jsem a zjistil, že by tyto údaje mohly být aktualizovány např. pomocí JQuery. Něco jsem našel, ale nejsem z toho moudrý. může mi prosím pomoci s tímto? Zde je index.php <!DOCTYPE html> <html lang="cs-cz" dir="ltr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf8"/> <link rel="stylesheet" href="layout-style.css" type="text/css" /> <script src="/jquery.min.js"></script> <script type="application/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script> <script language="JavaScript" type="text/JavaScript"></script> <title>Náš dům v </title> <meta http-equiv="refresh" content="10;URL=http://10.0.0.10"> </head> <body id="layout-body"> <table id="layout"> <tr> <td colspan="2" id="bunka-hlavicka"><h6><a href="index.php"><img src="images/titul_glossy.png" alt="Úvodní stránka" border="0"></a></h6></td> </tr> <tr> <td> <div id="menu-box"> <ul id="menu" class="clearfix"> <li class="first"> <a class="active" href="index.php">Aktuálně</a></li> <li><a href="fve.php">Fotovoltaika</a></li> <li><a href="tuv.php">Fototermika</a></li> <li><a href="o_dome.php">O Domě</a></li> <li><a href="galerie.php">Galerie</a></li> <li><a href="o_strankach.php">O Stránkách</a></li> </ul> </div></td> </tr> <tr> <td id="schema"> <script type="text/javascript" src="/jscripts/otaceni.js"></script> <script type="text/javascript" src="http://jqueryrotate.googlecode.com/svn/trunk/jQueryRotate.js"></script> <style> .omezujici {position: relative} .Tkolcss {position: absolute; top: -400px; left: 575px} .Ufve2 {position: absolute; top: -228px; left: 825px} .Ifve2 {position: absolute; top: -212px; left: 825px} .Tzass {position: absolute; top: 140px; left: 240px} .Ttepl {position: absolute; top: -170px; left: 280px} .Tspat {position: absolute; top: -170px; left: 380px} .Pfve2 {position: absolute; top: 10px; left: 850px} .Pfved {position: absolute; top: 320px; left: 800px} .Pfvemax {position: absolute; top: 370px; left: 800px} .cerr {position: absolute; top: -125px; left: 380px} .cerobr {position: absolute; top: -125px; left: 292px} .Q {position: absolute; top: -420px; left: 575px} .QQ {position: absolute; top: -440px; left: 30px} .Qmax {position: absolute; top: -440px; left: 280px} .Pfve444 {position: absolute; top: 280px; left: 30px} .LcelKKF {position: absolute; top: 300px; left: 30px} .Q333 {position: absolute; top: 330px; left: 30px} .ETcelKKT {position: absolute; top: 350px; left: 30px} </style> <div class="omezujici"> <span class="Tkolcss"> <?php include("irax.php"); echo ("$Tkol °C"); ?> </span> <span class="Ufve2"> <?php include("irax.php"); echo ("$Ufve2 V"); ?> </span> <span class="Ifve2"> <?php include("irax.php"); echo ("$Ifve2 A"); ?> </span> <span class="Tzass"> <?php include("irax.php"); echo ("$Tzass °C"); ?> </span> <span class="Ttepl"> <?php include("irax.php"); echo ("$Ttepl °C"); ?> </span> <span class="Tspat"> <?php include("irax.php"); echo ("$Tspat °C"); ?> </span> <span class="Pfve2"> <?php include("irax.php"); echo ("$Pfve2 W"); ?> </span> <span class="Pfved"> <?php include("irax.php"); echo ("Dnešní energie: $Pfved Wh"); ?> </span> <span class="Pfvemax"> <?php include("irax.php"); echo ("Dnešní max. výkon: $Pfvemax W"); ?> </span> <span class="cerr"> <?php include("irax.php"); echo ("$cerr"); ?> </span> <div> <span class="cerobr"> <?php include("irax.php"); if( $cer == 1 ): echo '<img src="images/cerpadlo1.png" alt="Čerpadlo- solární okruh" border="0" id="image"/>'; else: echo '<img src="images/cerpadlo1.png" alt="Čerpadlo- solární okruh" border="0" />'; endif; ?> </span> </div> <span class="Q"> <?php include("irax.php"); echo ("$Q kW"); ?> </span> <span class="QQ"> <?php include("irax.php"); echo ("Dnešní energie: $QQ kWh"); ?> </span> <span class="Qmax"> <?php include("irax.php"); echo ("Dnešní max. výkon: $Qmax kW"); ?> </span> <span class="Pfve444"> <?php include("irax.php"); echo ("Fotovoltaická elektrárna dodala od 1.1.2013: $Pfve444 kWh"); ?> </span> <span class="LcelKKF"> <?php include("irax.php"); echo ("Fotovoltaická elektrárna ušetřila od 1.1.2013: $LcelKKF Kč"); ?> </span> <span class="Q333"> <?php include("irax.php"); echo ("Fototermický systém dodal od 1.1.2013: $Q333 kWh"); ?> </span> <span class="ETcelKKT"> <?php include("irax.php"); echo ("Fototermický systém ušetřil od 1.1.2013: $ETcelKKT Kč"); ?> </span> </div> </td> </tr> <tr><td colspan="2" id="bunka-paticka"> <?php include("irax.php"); echo ("$datum _"); ?> Copyright(C) </td></tr> </table> </body> </html> A přikládám ještě irax.php (tyto data potřebuji pravidelně automaticky aktualizovat. např. po 10s) <?php $datum = StrFTime("%d/%m/%Y %H:%M:%S", Time()); $data= fopen("/dev/shm/www.txt", "r"); #otevře soubor $data2 = fgets($data); fclose($data); $textpole = explode (",", $data2); #obsah souboru převedo na "pole" rozčlení podle "," a uloží do proměnné $Ufve = $textpole[0]; #jednotlivé položky v poli jsou přiřazené proměnným $Ifve = $textpole[1]; $Tkol = $textpole[2]; $Tzass = $textpole[3]; $Ttepl = $textpole[4]; $Tspat = $textpole[5]; $Pfve = $textpole[6]; $Pfved = $textpole[7]; $Pfvemax = $textpole[8]; $Q = $textpole[9]; $QQ = $textpole[10]; $Qmax = $textpole[11]; $Pfve444 = $textpole[12]; $LcelKKF = $textpole[13]; $Q333 = $textpole[14]; $ETcelKKT = $textpole[15]; $cer = $textpole[16]; if( $cer == 1 ): $cerr = "Běží"; else: $cerr = "Stojí"; endif; $Ufve2= $Ufve/10; #Převede se na reálné hodnoty $Ifve2= $Ifve/100; $Pfve2= $Pfve/10; ?> a obrázek webu, jak to celé vypadá: |
||
_es Profil |
#2 · Zasláno: 30. 1. 2013, 09:29:15
omorok:
„Hledal jsem a zjistil, že by tyto údaje mohly být aktualizovány např. pomocí JQuery.“ Všeobecne pomocou AJAXu, napríklad tejto jednoduchej funkcie: Univerzální funkce pro AJAX. Viď aj Časté potíže, zajímavosti a poučné debaty » Co vlastně je jQuery?. Možno by bolo aj jednoduchšie sprístupniť súbor /dev/shm/www.txt a spracovať ho až v JS - záleží čo v ňom všetko je.
|
||
Joker Profil |
_es:
„sprístupniť súbor /dev/shm/w>ww.txt a spracovať ho až v JS“
Když už ho načítá do proměnných, bylo by asi jednodušší z těch proměnných vyrobit JSON a na klientovi zpracovat to. Primitivnější varianta by byla mít samostatný skript na generování celého HTML kódu ve kterém se něco mění (tady by to byl asi vnitřek <div class="omezujici">, ještě by se mu muselo přidat nějaké id a zvlášť pořešit datum a čas v patičce, pokud je nutné ho průběžně aktualizovat) a pak si to prostě stáhnout a nacpat do tenprvek.innerHTML. Ale to už se podobá tomu aktualizování celé stránky. Ještě dodatek, v tom současném kódu je zbytečné volat pokaždé to include("irax.php"); , stačí nechat jenom první výskyt.
|
||
omorok Profil |
#4 · Zasláno: 30. 1. 2013, 10:08:21
Soubor /dev/shm/www.txt obsahuje data v podobě:
10,20,30,0,40,40,1 Ve skutečnosti je toho více,můžou obsahovat i údaje s desetinnou tečkou např: 50.5 Každou sekundu se aktualizují. |
||
Časová prodleva: 11 let
|
0