Projekt

Obecné

Profil

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+