Uživatelské nástroje

Nástroje pro tento web


cs:highcharts

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
cs:highcharts [2016/01/26 09:52]
kaklik
cs:highcharts [2016/01/30 11:59]
Řádek 1: Řádek 1:
-====== Interaktivní grafové výstupy - Highcharts ====== 
  
-Highcharts je JavaScriptová knihovna pro kreslení grafů v prohlížeči. Pro použití se stavebnicí MLAB vznikl software, který data získaná pomoci python knihovny [[cs:​pymlab|pymlab]] dokáže vykreslovat v podobě grafu do standardního webového prohlížeče. 
- 
-{{ :​cs:​sw:​highcharts_i2c.png?​600 |}} 
- 
-=== Instalace === 
-Pro správné spuštění musíte mít nainstalovanou knihovnu [[cs:​pymlab|pymlab]],​ h5py a tornado. Instalace knihovny [[cs:​pymlab|pymlab]] je popsána na vlastní stránce. Ostatní nainstalujete takto. 
- 
-  sudo apt-get install python-h5py python-tornado 
-  ​ 
-Samotný software si stáhnete z [[https://​github.com/​MLAB-project/​i2c-ui|GitHubu]]. 
- 
-  git clone https://​github.com/​MLAB-project/​i2c-ui.git 
- 
-=== Použití === 
- 
-Pro spuštění samotného softwaru musí být vytvořena pravidla pro získávání dat. Tyto pravidla jsou vyřešena pomocí pythonovského skriptu. 
- 
-Skript může vypadat takto: [[https://​github.com/​MLAB-project/​i2c-ui/​blob/​master/​example_sht.py|example_sht.py]]. Program se spouští s parametrem, který určuje název logu (bez přípony). 
- 
-    import logging 
-    import sys 
-    import time 
-    from pymlab import config 
-    from src import mv 
-Naimportování potřebných knihoven. 
- 
-    class dewpoint(): 
-        def __init__(self,​ temp=None, hum=None): 
-            self.sens_temp = temp 
-            self.sens_hum = hum 
-            self.temp=0 
-            self.hum=0 
-            self.dewpoint=0 
-  ​ 
-        def get_dp(self):​ 
-            if self.sens_temp:​ 
-                self.temp=self.sens_temp() 
-                self.hum=self.sens_hum() 
-            x = 1 - self.hum/​100 
-            dewpoint = (14.55 + 0.114 * self.temp) * x 
-            dewpoint = dewpoint + ((2.5 + 0.007 * self.temp) * x) ** 3 
-            dewpoint = dewpoint + (15.9 + 0.117 * self.temp) * x ** 14 
-            self.dewpoint = self.temp - dewpoint 
-            return self.dewpoint 
-Třída počítající rosný bod. Při její inicializaci se řekne, z jakých callback funkcí se data o teplotě a vlhkosti budou získávat. Při zavolání ''​get_dp()''​ se navrátí hodnota rosného bodu. 
- 
-    def main(): 
-    ​ 
-        if len(sys.argv) != 2: 
-            sys.stderr.write("​Invalid number of arguments.\n"​) 
-            sys.stderr.write("​Usage:​ %s Project_file (without extension)\n"​ % (sys.argv[0],​ )) 
-            sys.exit(1) 
-        ​ 
-        filename = sys.argv[1] 
- 
-        cfg = config.Config( 
-            i2c = { 
-                "​port":​ 1, 
-            }, 
-            bus = [ 
-                { 
-                    "​name":​ "​sht25",​ "​type":​ "​sht25",​ 
-                }, 
-            ], 
-        ) 
-        ​ 
-        cfg.initialize() 
-Konfigurace sítě knihovny [[cs:​pymlab|pymlab]]. 
-        teplomer01 = cfg.get_device("​lts01"​) 
-        vlhkost = cfg.get_device("​sht25"​) 
-        dp = dewpoint(teplomer01.get_temp,​ vlhkost.get_hum) 
- 
-        mVis = mv.MlabVisualiser(filename) 
-        ​ 
-        mVis.addDataset("​TempSHT",​ "​Temperature [C]", vlhkost.get_temp) 
-        mVis.addDataset("​HumiSHT",​ "​RelativeHumidity [%]", vlhkost.get_hum) 
-        mVis.addDataset("​DewpSHT",​ "​Temperature [C]", dp.get_dp) 
-Jednotlivé senzory (zdroje dat) přidáme do vykreslovací třídy pomocí ''​addDataset''​ s popiskem senzoru, typem dat a callback funkcí pro získání naměřených dat. 
-        mVis.run(["​TempSHT",​ "​HumiSHT",​ "​DewpSHT"​],​ delay=1000, repeat=0) 
-Spustíme nekonečnou smyčku, která čte data a ty zaznamenává do souboru. V prvním poli jsou popisky senzorů, které se mají číst. Dále rychlost čtení (perioda) a počet opakování (0 je bez ukončení) 
-        mVis.startWeb() 
-Spustíme webserver. Výchozí port je ''​8888''​. 
-    if __name__ == '​__main__':​ 
-        main() 
cs/highcharts.txt · Poslední úprava: 2016/01/30 11:59 (upraveno mimo DokuWiki)