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.


Předchozí verze
cs:highcharts [2016/01/26 08:52] kaklik
Řá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 10:59 (upraveno mimo DokuWiki)