odesilani dat
283 příspěvků · strana 11 z 12
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
Nepleť do toho soubory s koncovkou csv. Ty mají možná jinou strukturu, než o jaké se bavíme. Předávej data ze zařízení na server jako dosud a teprve na serveru se rozhoduj, jak ta data budeš ukládat.
-
Tak už ukládám do data.txt jak mi napsal Kit.
-
http://www.hrdlickovi.wz.cz/data.txt
-
To je totiž novinka, to jeho zařízení odesílá někam na internet už hotové soubory, podle jména by to mohl být nějaký denní souhrn - proto jsem chtěl jejich adresu
-
Moment, ty soubory vypadají velmi nadějně. Jsou tam všechny potřebné informace, které jsem sbíral cronem. Stačí je jen otevřít v PHP a přes AJAX dodat do prohlížeče. Můžeš kreslit grafy.
-
dobře ale kam pak s tím do toho grafu
-
http://www.hrdlickovi.wz.cz/graftesty.php klikni na graf a podívej se na zdroják.
-
Ty soubory mám z jednoho serveru určeného pro sběr dat z mého zařízení. Ale já už tam nic neposílám. Chci to mít u sebe.
-
portal.merenienergie.cz/csv/00890001D/S0_18092011.csv z toho by graf namalovat šel
-
Ale jestli to bude dobré tak mohu opět začít posílat Vždy ve 00:00 se mi vygeneruje soubor csv z celého dne.
-
Ale možná kecám, generuje se po každém zápisu
-
Tak potom to mozna zvladnu i ja. Protože budu vlastne generovat graf ze souboru, kde je jasne daný čas a hodnota. A časová osa mě nezajímá, protože se bude číst ze souboru. Mám pravdu?
-
Ano, viz Kit: Stačí je jen otevřít v PHP a přes AJAX dodat do prohlížeče. Můžeš kreslit grafy.
-
Tak si jen vybrat graf. http://www.highcharts.com/demo/line-labels
-
Něco o Ajaxu je tady http://www.highcharts.com/demo/line-ajax
-
Kit: kdyš jsou data pro vypsání grafu v javascriptu ve stránce zadána takto: data: [3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8] takže se v PHP udělá textový řetězec obsahující výše uvedený text a ten se pak vloží do těla skriptu třeba: <?php echo $textretezec; ?> ?
-
to Kit: koukal jsem na tu Andoru: mám registrovanou svou domenu 2.řádu. Mám si u nich udělat webhosting?
-
ds: Tak nějak se to dělá. Nejsnáze tak, že se předávaný objekt zabalí do JSON například funkcí json_encode(). S takovým objektem si pak Javascript snadno poradí. Jiří: Záleží jen na tobě, kde si uděláš webhosting. Jsem na Endoře teprve týden, nemám tedy dost zkušeností s kvalitou. Spíš to beru jako další území pro své experimenty. Nefunguje mi tam např. funkce highlight_file(), musel jsem hledat náhradní řešení. Ještě jsem ani neotestoval jejich databáze. Mají jich 7, podobně jako na WZ, ale kvalitou se mohou lišit.
-
Tak jsem ten graf nějak rozchodil, ale potřebuji opakovat tanto skript stále dokola <?php $fd=FOpen ("teploty.txt","r"); $line=fgets($fd); $arr=split(";",($line)); echo $arr[3]; FClose($fd); ?>
-
Kite, ještě prosím o radu napsal jsi mi tento skript <?php header('Content-Type: text/html;charset=UTF-8'); $obsah=file_get_contents("http://109.80.22.31/xml.xml"); $xml = new SimpleXMLElement($obsah); //echo "<ul>"; foreach(array('s0_2') as $meridlo) { $result = $xml->xpath("/sds/snmp/$meridlo"); echo "<li>".$result[0]->act."</li>"; } echo "</ul>\n"; ?> ale před zobrazeným číslem mi ti píše tečku. Dá se odstranit? Díky
-
Ta tečka se dá odstranit buď v CSS nastylování m seznamu, anebo místo <ul> použiješ jinou vhodnou konstrukci HTML. Pokud potřebuješ jen hodnotu z měřidla s0_2, tak můžeš cyklus zrušit. Tedy místo: $xml = new SimpleXMLElement($obsah); echo "<ul>"; foreach(array('s0_2') as $meridlo) { $result = $xml->xpath("/sds/snmp/$meridlo"); echo "<li>".$result[0]->act."</li>"; } echo "</ul>\n"; napíšeš jen: $xml = new SimpleXMLElement($obsah); $result = $xml->xpath("/sds/snmp/s0_2"); echo "<p>".$result[0]->act."</p>"; Chce to jen vybrat správnou značku HTML. V tomto případě jsem pro změnu dal <p>, ale když to bude položka tabulky, tak tam bude <td>. XPath se prostě používá pro dotazy XML podobně jako SELECT se používá pro dotazy SQL. Samozřejmě jsou v tom odlišnosti, ale významově je to totéž.
-
Jde to díky. Tak jsem si udělal ten hosting u Endory. Zkouším teď jak funguje databáze. Cron už mi jde :-)
-
Kite prosím o pomoc Napsal jsi mi tento skript Skript pro periodický sběr dat <?php $obsah=file_get_contents("http://109.80.22.31/xml.xml"); $xml = new SimpleXMLElement($obsah); $result = $xml->xpath('/sds/snmp/*/text'); $fd=fopen('data/data.csv','a'); $data=date('r'); foreach($result as $key => $val){ $data.=';'.$val[0]; } fwrite($fd,$data."\n"); fclose($fd); ?> potřeboval bych ho trochu upravit. Tento pracuje jak má, ale potřebuji podobný který zapisuje do souboru z xml tyto hodnoty: <ntptime>1320782412</ntptime> a <temp_1>20.87</temp_1> čas a teplotu jednoho teploměru, ale aby to vypadalo takto [1320782412,20.87] [1320782518,20.32] ..... stále pod sebe. šlo by to? díky
-
To víš, že by to šlo. Pomocí metody xpath() si můžeš vybrat libovolný údaj. A výstup si také můžeš naformátovat jak budeš chtít. <?php $obsah=file_get_contents("http://109.80.22.31/xml.xml"); $xml = new SimpleXMLElement($obsah); $ntptime = $xml->xpath('/sds/snmp/ntptime'); $temp_1 = $xml->xpath('/sds/snmp/temp_1'); $fd=fopen('data/data.csv','a'); $data=date('r'); fwrite($fd,"[{$ntptime[0]},{$temp_1[0]}]\n"); fclose($fd); ?>
-
děkuji za nakopnutí