↓Přeskočit na hlavní obsah

Aplikace 1

Aplikace 1 je první aplikace pro vizualizaci “naměřených” dat. Je postavena na bázi MQTT protokolu a má zobrazovat hodnoty veličin ve skleníku. Místo reálného přístroje připojeného přes MQTT je součástí simulátor.

Funkce skleníku je jednoduchá - měřená teplota (TEMP. MEASURED) se v přístroji porovnává s žádanou teplotou (TEMP. DESIRED). Pokud je změřená teplota nižší než zádaná a zároveň je povoleno vytápění (ENABLED), zapne se výstup vytápění (HEATING).

Součástí vizualizace je časový graf, který se při prvotním načtení plní hodnotami uloženými v databázi hodnot. Rozsah hodnot je aktuálně určen pevně a lze jej změnit úpravou nastavení (nikoliv však přímo z webu).

Uživatel pomocí této vizualizace nejen vidí uvedené veličiny, ale zároveň má možnost přístroj (tedy simulátor) ovládat nastavením žádané teploty a povolením topení.

Aplikace je postavena s využitím

  • Vue (frontend)
  • Rust (backend)
  • Mosquitto (MQTT Broker)
  • SQLite (databáze pro konfiguraci projektů)
  • VictoriaMetrics (databáze pro data)
  • Python (simulace skleníku)

Vlastní vizualizace byla připravena pomocí projektu MeSca.

Běžící aplikaci si lze prohlédnout na adrese:
https://app1.mevisys.net

Přihlašovací Jméno: john@deer.com
Heslo: 1111


Aktuálně projekt obsahuje neveřejné administrátorské menu, kterým se konfigurují jednotlivé konfigurační tabulky, kterých je aktuálně 6. Schéma je následující:

Projekt je připraven pro vizualizaci projektů různý zákazníků. Každý zákazník má seznam uživatelů a seznam projektů. Přístupy na jednotlivé projekty jsou pak řešeny tabulkou tak, že zákazník určuje, na jaké projekty mají jeho uživatelé přístup.

Vizualizace hodnot je pak řešena po projektech. Samotná vizualizace není ukládána do databáze, takže není ve schématu uvedena. Je řešena pomocí seznamu HTML souborů uložených na serveru na disku v adresáři, který odpovídá projektu.

Pro komunikaci hodnot je pak každému projektu přiřazen jeden nebo více přístrojů a každému přístroji pak soubor hodnot. Z této logiky pak vyplývá konstrukce MQTT topicu hodnoty, kde

  • v konfiguraci přístroje se uvádní prefix
  • v konfiguraci hodnoty se pak uvádí suffix

Pokud je například u přístroje uveden prefix “device1” a u proměnné teploty pak suffix “temp”, pak celý MQTT Topic, kterým je hodnota odesílána do MQTT Brokeru, je “device1/temp”. Tím je zaručeno, že se hodnota přiřadí projektu a je pak možné jí použít pro vizualizaci.

Hlavní menu administrátora:

Správa firem:

Správa uživatelů:

Správa přístupů:

Správa projektů:

Správa zařízení:

Správa hodnot:

Pro rychlé nahlížení na hodnoty je zde stránka živých hodnot.

Na této stránce lze vidět důležité informace pro každou hodnotu, zároveň je zde zobrazena aktuální hodnota. Rovněž je možné hodnotu měnit - a to tak, že se odešle nejen do vizualizace a databáze, ale také se odešle do přístrojů, které hodnotu po protokolu MQTT čtou.


Projekt 1 je „proof of concept", který dokazuje, že zvolený soubor použitých technologií je použitelný pro realizaci systému nejen pro sběr a vizualizaci měřených, ale také pro ovládání přístrojů.