Návrh systému » Historie » Revize 2
Revize 1 (Milan Kohoutek, 2021-04-04 14:33) → Revize 2/7 (Milan Kohoutek, 2021-04-04 14:33)
h1. Návrh systému h2. Cíl projektu Cílem projektu je vytvoření MQTT klienta, který sleduje příchozí zprávy (témata) na MQTT serveru a pro každé téma vytvoří okno, ve kterém bude zobrazovat časový průběh přijímaných dat. !component_diagram.png.jpg! !cil_projektu.jpg! * *MQTT server* - mikropočítač Raspbery Pi s nainstalovaným serverem Mosquitto brokerem * *Klient - Publisher* - ESP32 M5stack - topic = identifikační token ESP * *Klient - Subscriber* - PAHO python client - poběží na RaPi a bude zobrazovat data, které odeslal Publisher Implementovat hlavní obrazovku aplikace - pod klientem - subscriber. Ten je zavěšený na brokera a čeká na příjem dat k následnému zobrazení. Přeposílaná zpráva může například vypadat takto: *topic | datum | čas | index | hodnota senzoru* *Publisher ukládá data do adresáře v této podobě*: !topic.png! Každý topic má svůj adresář, hodnoty ze senzorů jsou uložené v souboru s názvem časové značky - například _"2021-11-28_15-58-42"_. Jakmile subscriber zaznamená, že po nějakou dobu již nepřijímá žádná témata od publishera - uzavře okno v hlavní aplikaci a uzavře soubor. Pokud přijdou opět nová data - založí soubor, ukládají se do něj data a hodnoty jsou zobrazeny v hlavní aplikaci. *Očekávané technologie*: * Python, * PyQT - na zobrazování grafů ze senzorů * PAHO Python client *Hlavní aplikace s grafy by měla být konfigurovatelná*: * Porovnání dat ze senzorů například starých hodnot s aktuálními hodnotami * (námi přidané: export dat, otevření sady dat, porovnání dat s jinými) *Graf*: * X souřadnice - čas a index * Y souřadnice - hodnota _Zdroje instalace a testování MQTT brokeru_: * https://randomnerdtutorials.com/testing-mosquitto-broker-and-client-on-raspbbery-pi/ * http://www.steves-internet-guide.com/into-mqtt-python-client/ h2. Požadavky * Client Subscriber sleduje MQTT Brooker, * jakmile přijde zpráva s daným tématem otevře se okno a začnou se zobrazovat data. * Založí se soubor pod daným tématem a začnou se ukládat data. * Pokud přestane Publisher posílat data tak se po nastavitelné době ukončí odběr, zavře se okno pro téma a zavře se soubor s daty. * Nad soubory s daty bude možné provádět následující operace - +export+, +porovnání dat se staršími daty+ a +otevření sady dat+