Vize projektu » Historie » Verze 6
Milan Kohoutek, 2021-03-23 18:22
1 | 1 | Milan Kohoutek | h1. Vize projektu |
---|---|---|---|
2 | |||
3 | 3 | Milan Kohoutek | h2. Pozadí projektu |
4 | |||
5 | Příští rok by se měl vyučovat na Fakultě aplikovaných věd ZČU Python již v prváku - předpokládá se, že by tento předmět byl vhodným doplněním, že by si studenti mohli na mikrokontrolerech v Pythonu cvičit nějaké úlohy. Naše aplikace pomůže sledovat data |
||
6 | |||
7 | h2. Cíl projektu |
||
8 | |||
9 | 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. |
||
10 | |||
11 | !cil_projektu.jpg! |
||
12 | |||
13 | 4 | Milan Kohoutek | * *MQTT server* - mikropočítač Raspbery Pi s nainstalovaným serverem Mosquitto |
14 | * *Klient - Publisher* - ESP32 M5stack - topic = identifikační token ESP |
||
15 | * *Klient - Subscriber* - PAHO python client - poběží na RaPi a bude zobrazovat data, které odeslal Publisher |
||
16 | 1 | Milan Kohoutek | |
17 | 4 | Milan Kohoutek | Implementovat hlavní obrazovku aplikace - pod klientem - subscriber. Ten je zavěšený na brokera a čeká na příjem dat k následnému zobrazení. |
18 | 1 | Milan Kohoutek | |
19 | 5 | Milan Kohoutek | Přeposílaná zpráva může například vypadat takto: *topic | datum | čas | index | hodnota senzoru* |
20 | 4 | Milan Kohoutek | |
21 | Publisher ukládá data do adresáře v této podobě: |
||
22 | |||
23 | !topic.png! |
||
24 | |||
25 | 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"_. |
||
26 | |||
27 | 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. |
||
28 | 3 | Milan Kohoutek | |
29 | 6 | Milan Kohoutek | Očekávané technologie: |
30 | * Python, |
||
31 | * PyQT - na zobrazování grafů ze senzorů |
||
32 | |||
33 | Hlavní aplikace s grafy by měla být konfigurovatelná .. například: |
||
34 | * Porovnání dat ze senzorů například starých hodnot s aktuálními hodnotami |
||
35 | * (námi přidané: export dat, otevření sady dat, porovnání dat s jinými) |
||
36 | |||
37 | Graf: |
||
38 | * X souřadnice - čas a index |
||
39 | * Y souřadnice - hodnota |
||
40 | |||
41 | 3 | Milan Kohoutek | h2. Požadavky |
42 | |||
43 | * Client Subscriber sleduje MQTT Brooker, |
||
44 | * jakmile přijde zpráva s daným tématem otevře se okno a začnou se zobrazovat data. |
||
45 | * Založí se soubor pod daným tématem a začnou se ukládat data. |
||
46 | * 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. |
||
47 | |||
48 | h2. Dodatečné požadavky |
||
49 | |||
50 | * 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+ |