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
Poslední revize
cs:highcharts [2016/01/30 10:59] – [Použití] 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()
 +        
 +        
 +        
 +Prohlížeč dat HDF5 je například: [[https://apps.ubuntu.com/cat/applications/precise/hdfview/|HFDFwiev]]
cs/highcharts.txt · Poslední úprava: 2016/01/30 10:59 (upraveno mimo DokuWiki)