Projekt

Obecné

Profil

Vize projektu » Historie » Verze 11

Milan Kohoutek, 2021-03-23 18:39

1 1 Milan Kohoutek
h1. Vize projektu
2
3 3 Milan Kohoutek
h2. Pozadí projektu
4
5 11 Milan Kohoutek
Příští rok by se měl vyučovat na Fakultě aplikovaných věd ZČU věci ohledně IOT 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 3 Milan Kohoutek
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 8 Milan Kohoutek
* *MQTT server* - mikropočítač Raspbery Pi s nainstalovaným serverem Mosquitto brokerem
14 4 Milan Kohoutek
* *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 10 Milan Kohoutek
*Publisher ukládá data do adresáře v této podobě*:
22 4 Milan Kohoutek
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 9 Milan Kohoutek
*Očekávané technologie*: 
30 6 Milan Kohoutek
* Python, 
31
* PyQT - na zobrazování grafů ze senzorů
32 7 Milan Kohoutek
* PAHO Python client
33 6 Milan Kohoutek
34 9 Milan Kohoutek
*Hlavní aplikace s grafy by měla být konfigurovatelná*:
35 6 Milan Kohoutek
* Porovnání dat ze senzorů například starých hodnot s aktuálními hodnotami 
36
* (námi přidané: export dat, otevření sady dat, porovnání dat s jinými)
37
38 9 Milan Kohoutek
*Graf*:
39 6 Milan Kohoutek
* X souřadnice - čas a index
40
* Y souřadnice - hodnota
41 7 Milan Kohoutek
42 9 Milan Kohoutek
_Zdroje instalace a testování MQTT brokeru_:
43 7 Milan Kohoutek
* https://randomnerdtutorials.com/testing-mosquitto-broker-and-client-on-raspbbery-pi/
44
* http://www.steves-internet-guide.com/into-mqtt-python-client/
45 6 Milan Kohoutek
46 3 Milan Kohoutek
h2. Požadavky
47
48
* Client Subscriber sleduje MQTT Brooker,
49
* jakmile přijde zpráva s daným tématem otevře se okno a začnou se zobrazovat data.
50
* Založí se soubor pod daným tématem a začnou se ukládat data.
51
* 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.
52
53
h2. Dodatečné požadavky 
54
55
* 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+