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+ |