User Tools

Site Tools


project:proj_list

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
project:proj_list [2020/02/10 08:56]
xkubalik [Current projects]
project:proj_list [2021/04/07 13:56]
xkubalik [Available projects]
Line 2: Line 2:
 ===== Current projects ===== ===== Current projects =====
  
-  * **Dálkově ovládané 4kolé vozítko využívající platformu ​Arduino (4-wheels vehicle using the Arduino platform with a remote control ​)** - (BP - Zemánek Martin) +  * **Android aplikace pro dálkové ovládání platformy ​Arduino (An android application for remote control ​of the Arduino platform)** - (BP - Denissyuk Andrey)
-    * Prozkoumejte existující řešení dálkově ovládaných 4kolých vozítek +
-    * Navrhněte vlastní řešení řízení 4kolého vozítka s pomocí platformy ​Arduino +
-    * Aplikace pro Arduino bude umožňovat řízení každého kola tak, aby bylo možné jezdit všemi směry. +
-    * Veškeré řízení pohybu vozítka bude provedeno s pomocí dálkového ovládání. +
-    * Vozítko bude na sobě obsahovat další senzory potřebné pro pohyb a LED diody pro signalizaci směru. +
-    * Navržené řešení zrealizujte a řádně otestujte. +
- +
-  * **Platforma pro podporu interaktivního městského mobiliáře využívající procesor ESP32 (ESP32 Based Platform Supporting Interactive Street Furniture)** - (BP - Topič Jakub) +
-    - Prozkoumejte existující řešení. +
-    - Pomocí metod softwarového inženýrství navrhněte vlastní řešení vyhovující níže uvedeným požadavkům. +
-    - Navržené řešení zrealizujte,​ naprogramujte,​ řádně ho zdokumentujte a otestujte. +
-    - Výsledné řešení bude zahrnovat řídicí jednotku, instalovanou do laviček a stolů, a webovou aplikaci. +
-    - Řídicí jednotka bude postavena na vlastním HW (založeném na ESP32) a bude splňovat následující požadavky:​ +
-      * podpora nabíjení mobilních zařízení a měření spotřeby přes USB porty, +
-      * komunikace s regulátory solárních panelů, +
-      * měření napětí záložních baterií, +
-      * spínání LED osvětlení a ventilátoru,​ +
-      * měření meteorologických dat (teplota, tlak, vlhkost), +
-      * možnost vzdálené aktualizace firmware. +
-    - Webová aplikace bude dostupná přes internet a bude sloužit k zobrazení naměřených dat a ke správě a konfiguraci instalovaných řídicích jednotek. +
-    - Řídicí jednotky budou komunikovat se serverovou částí webové aplikace prostřednictvím sítě internet, ke které se připojí přes WiFi. +
- +
-  * **Platforma pro chytrou domácnost využivající WIFI spojení jednotek s RaspberryPI (The smart home platform ​based on RaspberryPI using WIFI connection)** - (BP - Trejdl Tomáš)+
     - Prozkoumejte existující řešení.     - Prozkoumejte existující řešení.
     - Pomocí metod softwarového inženýrství navrhněte vlastní řešení vyhovující níže uvedeným požadavkům.     - Pomocí metod softwarového inženýrství navrhněte vlastní řešení vyhovující níže uvedeným požadavkům.
-    - Navržené řešení ​zrealizujte, ​naprogramujte,​ řádně ho zdokumentujte a otestujte.+    - Navržené řešení naprogramujte,​ řádně ho zdokumentujte a otestujte.
     - Požadavky:     - Požadavky:
-      * základem celého zařízení bude webová ​aplikace ​žící na platformě RaspberryPI ​ +      * aplikace ​bude navržena jako mobilní aplikace pro OS Android 
-      * pro jednotlivá zařízení v domácnosti použijte modul s ESP8266 a implementujte vlastní firmware v prostředí Arduino +      * aplikace umožní spojení aplikace z Arduinem pomoci Wifi 
-      * zařízení spolu budou komunikovat prostřednictvím wifi sítě +      * pro komunikaci bude zvolen vhodný protokol 
-      * v domácnosti ​bude možné sledovat teplotu a detekovat otevření ​dveří +      * aplikace ​bude umožňovat ověření ​uživatele s pomocí jména ​hesla 
-      * ovládat bude možné zásuvky ​světla +      * aplikace bude umožňovat ​přidání uživatelů ​různým typem oprávnění 
-      * aplikace bude umožňovat ​konfiguraci zařízení ​pomocí webové aplikace +      * aplikace umožní zobrazit několik různých pohledu (seznamu proměnných) stavu procesoru Arduina 
-      * dale bude možné graficky zobrazovat průběh teploty +      * aplikace umožní měnit obsah proměnných ​procesu Arduina
-      * zaměřte se hlavne na efektivní práci s větším množstvím modulů +
-      * jednoduchý protokol pro komunikaci s možností snadného rozšíření+
  
-  * ** Zařízení pro monitorování a zobrazování informací o aktuálním stavu provozu automobilu ​(The automotive data logging device)** (BP - Bohm Jakub)+  * **Android aplikace pro sdílení proměnných s platformou Arduino prostřednictvím Bluetooth ​(An android application for variable sharing with Arduino platform based on Bluetooth communication)** (BP - Jokl Natanael)
     * Prozkoumejte existující řešení.     * Prozkoumejte existující řešení.
-    * Vyberte vhodnou HW platformu+    * Pomocí metod softwarového inženýrství navrhněte vlastní řešení vyhovující níže uvedeným požadavkům
-    * Vyberte ​vhodný programovací jazyk. +    * Navržené řešení naprogramujete,​ zdokumentujte a řádně otestujte. 
-    Navrhněte vlastní ​řešení splňující tyto požadavky: +    * Požadavky:​ 
-      * malé kompaktní ​zařízení +      * vyberte ​vhodný programovací jazyk pro OS Android a platformu Arduino, 
-      * zařízení bude obsahovat displayGPS modulakcelerometrRTC obvodA/D převodníky +      sdílené proměnné mezi oběma zařízeními budou přenášený s pomocí formátu JSON, 
-      * zařízení ​bude umožňovat zobrazování hodnoty z A/D převodníku ​dalších čidel ​ +      * aplikace pro Android umožní připojení k zařízení ​Arduino přes Bluetooth, 
-      * bezdrátová komunikace ​mobilním telefonem +      * zařízení ​Arduino ​bude podporovat tyto periferie: tlačítkadisplejLED diodaGSM modem
-      * možnost konfigurace +      * připojení ​bude provedeno pomocí uživatelského jména ​hesla, 
-    Výsledné ​řešení zrealizujte a řádně otestujte.+      * aplikace bude umožňovat více uživatelů ​různým typem oprávnění,​ 
 +      * aplikace umožní sledovat proměnné na zařízení Arduino, 
 +      aplikace umožní měnit hodnotu proměnných na zařízení Arduino v závislosti na oprávnění přihlášeného uživatele.
  
-  * **Dálkově ovládaná meteostanice s nízkou spotřebou ​(The remotely controlled low power weather station)** (BP - Jilek Vojtěch+  * **Systém pro emulaci akceleračního pedálu osobního automobilu ​(System for emulating the accelerator pedal of a car)** (BP - Mareček Jakub
-    ​Prozkoumejte existující řešení. +    ​Prozkoumejte existující řešení. 
-    ​- Navrhněte ​zrealizujte zařízení pro vzdálené měření ​meteorologických dat +    ​* Analyzujte protokol SENT jeho rozšíření ​SPC. 
-    ​- Zařízení bude splňovat tyto požadavky: +    ​* Analyzujte možnosti generování kódů emulujících funkci akceleračního pedálu a navrhněte ření s využitím platformy ESP32. 
-      * stanice bude poskytovat měření ​teploty, vlhkosti, tlaku a koncentrace CO2 +    Proveďte analýzu komunikace pedálu z koncernu VW. 
-      * jako řídicí platformu použijte Arduino s procesorem ATmega2560 +    Navrhněte ​zařízení ​pro replikaci signálů akceleračního pedálu tak, aby zařízení ​bylo schopno komunikovat s reálnou ​řídící jednotkou. 
-      zařízení bude komunikovat s pomocí bluetooth a SMS zpráv s mobilním telefonem +    Pro komunikaci pedálu ​s řídicí jednotkou využijte protokol SENT/SPC. 
-      pomocí vzdálené komunikace bude možné ​zařízení ​konfigurovat +    Zařízení ​musí být ovladatelné přes CAN sběrnici i fyzickými ovladači. 
-      * zařízení ​bude umožňovat záznam naměřených dat +    Navržené ​řešení ​zrealizujte a řádně otestujte.
-      celý návrh bude proveden ​ohledem na nízkou spotřebu  +
-      pro výsledné zařízení ​naprogramujte obslužnou aplikací +
-      aplikaci implementujte v jazyku C +
-      * výsledné ​řešení řádně otestujte+
  
 +  * **Systém pro sledování vozidel a zaznamenávání knihy jízd pomocí GPS lokátorů (A vehicle tracking system with a recording of journey logs using GPS)** (BP - Jehlička Matěj)
 +    * Prozkoumejte existující řešení.
 +    * Pomocí metod softwarového inženýrství navrhněte a naprogramujte aplikaci pro sledování vozidel v reálném čase, která bude nasbíraná data ukládat a dále zpracovávat.
 +    * Řešení se bude skládat ze serverové části a uživatelské části představované lokátorem (tyto dvě zařízení budou mezi sebou komunikovat přes síť Internet)
 +    * Navržené řešení zrealizujte a řádně otestujte.
 +    * Požadavky:
 +      * GPS lokátor bude postaven na platformě ESP32
 +      * lokátor bude odesílat data na server pomocí GPRS/EDGE
 +      * server bude umožňovat zobrazení pozice lokátorů v reálném čase
 +      * server bude umožňovat připojení několika lokátorů
 +      * server bude zaznamenávat polohu a metadata z lokátorů
 +      * uživatelské rozhraní bude realizováno formou webové aplikace.
  
-  * **Návrh spolehlivých ​systémů v FPGA s použitím bezpečnostních kódů ​(Design of dependable ​system ​based on error control codes for FPGA)** (DP Pail Vojtěch+  * **Přenosný přístupový identifikační ​systém ​využívající technologii NFC a umožňující komunikaci přes GSM bránu ​(Portable access identification ​system ​using NFC technology and communicating via GSM gateway)** (BP Šimůnek Martin). 
-    * Prozkoumejte ​existující ​metody ​řešení. +    * Prozkoumání ​existující řešení.  
-    * Analyzujte ​vlastnosti různých typů kombinačních obvodů pomocí sady benchmarků z hlediska odolnosti proti poruchám. Využijte simulační software dostupný na KČN+    * Analyzujte ​technologii NFC a možnost využití platformy arduino jako ovládací prvek
-    * Na základě takto získaných dat nalezněnte vhodný ​bezpečnostní kód, který bude schopen tyto poruchy detekovat, popř. i opravovat tak, aby redundance (area ovehead) byla co nejmenší+    * Analyzujte a navrhněte bezpečné řešení s ohledem na omezené zdroje platformy Arduino.  
-    * Specifikujte požadavky na úpravu simulačního softwaru takaby obsahoval podporu ​pro výběr nejvhodnějšího kódu+    * Navržené zařízení se bude skládat z Arduino mikrokontroleruGSM modulu ​pro posílání SMS zpráv, čtečky NFC a LCD displeje
-    * Navržený způsob ​řešení ověřte na několka ​íkladech konkrétních obvodů ​kódů+    * Komunikace se zařízením bude probíhat ​es technologii GSM – formou SMS za pomoci LCD displeje (základní orientační údaje)
-    * Vytvořte klasifikaci obvodů s hlediska možností opravy/​detekce poruch.+    * Navržené řešení zrealizujte a řádně otestujte.
  
 +  * **Pokročilé bezpečnostní kódy v programu Wolfram Mathematica (Advanced error control codes using Wolfram Mathematica)** (DP - Koleník Stanislav)
 +    * Rozšiřte již existující sadu výukových scénářů pro podporu výuky bezpečnostních kódů o vybrané pokročilé kódy.
 +    * Dodržte členění na výukové scénáře a balíčky a zachovejte jejich formát.
 +    * Zaměřte se především na Fireovy kódy, součinové kódy, RM kódy, nebinární BCH kódy a RS kódy, Goppa kódy a kódy konvoluční.
 +    * V dostatečné míře nastudujte a zdokumentujte příslušnou matematickou teorii.
 +    * Navržené řešení zrealizujte a řádně otestujte. ​
 +    * Vytvořte několik příkladů použití každého kódu.
 +    * Využijte získaných poznatků ke zmapování současného stavu použití bezpečnostních kódů v kryptografii.
  
-  * **Programovatelný generátor průběhu (sinus, trojúhelník,​ obdélník) (A programmable wave generator (sine, triangle, square))** - (BP - Hevessy Karel+  * **Osobní GPS lokátor na platformě Arduino ovládaný přes SMS příkazy ​(Personal GPS locator based on Arduino platform controlled by SMS commands)** - (BP - Stáhl Martin
-    ​Prozkoumejte existující řešení ​generování průběhů s pomocí DDS generátorů+    ​Prozkoumejte existující řešení ​pro osobní GPS lokátory
-    ​- Navrhněte a zrealizujte ​zařízení ​pro generování sinusového,​ trojúhelníkového a obdélníkového průhu. +    ​* Analyzujte technologii GSM/GPS 
-    ​- Pro zařízení ​vyberte vhodnou platformu ​pro řízení DDS generátorů. +    * Analyzujte a navrhněte řešení které řeší nedostatky momentálně dostupných ​zařízení ​na trhu 
-    ​- Zařízení bude možné ovládat s pomocí grafického dotykového displeje. +    * Zaměřte se na zařízení které není závislé na pohotovostní službě na vzdáleném serveru 
-    ​- Pro výsledné ​zařízení ​naprogramujte obslužnou aplikaci. +    ​* Navržené ​zařízení ​se bude skládat z: Arduino mikrokontroléru,​ GPS/GSM modulu, baterie, mobilní android aplikace ​pro snadné generovaní textových SMS příkazů 
-    - Aplikaci naprogramujte v jazyce C/C++. +    ​* Komunikace bude probíhat přes technologiii GSM a textové SMS příkazy 
-    - Výsledné zařízení ​otestujte.+    ​* Navržené ​zařízení ​zrealizujte a řádně ​otestujte
  
-  * **Zřízení pro měření spotřeby energie u vestavných systému v chytré domácnosti využívající GSM sít k přenosu dat (Embedded system power energy measurement in a smart home communicating with a mobile network)** - (DP Procházka Vojtěch+  * **Generátor VHDL kódu (VHDL code generator)** - (BP Fořt Rostislav
-    ​Prozkoumejte existující řešení. +    ​Prozkoumejte existující řešení. 
-    ​- Navrhněte a zrealizujte vlastní zařízení umožňující sledování domácnosti včetně měření vlastní spotřeby+    ​* Pomocí metod softwarového inženýrství navrhněte a naprogramujte aplikaci pro generování základních struktur VHDL kódu
-    ​- Zaměřte se zejména na možnost přenášet data mezí zařízením a vzdáleným server ​co možná nejnižší spotřebou energie+    ​* Vytvořte několik ​šablon ukazujících práci ​aplikací
-    ​- Zařízení navrhněte tak, aby bylo možné přenášet větší objem dat+    ​* Výsledné ​řešení ​řádně otestujte
-    ​- Pro demonstraci správné funkce připojte k zařízení kameru ​v určitých intervalech přenášejte statické fotografie. +    ​* Požadavky:​ 
-    - Vytvořte jednoduchý server pro příjem dat ze vzdáleného zařízení. +      * Aplikace bude napsaná v jazyce C++ 
-    - Výsledné řešení otestujte ​proveďte analýzu spotřeby v závislosti na množství přenášených dat+      * Aplikace bude umožňovat vytvářet upravovat ​šablony VHDL struktur 
 +      * Aplikace bude umožňovat ​ze šablon generovat kód 
 +      * Aplikace bude schopná ve VHDL kódu rozpoznat entitu ​umožní její použití v šabloně, např. pro automatické generování testbenche.
  
-  * **Aplikace pro analýzu průmyslových sběrnic včetně hardwarového trigeru ​(An application for analysis of industrial buses with hardware trigger)** - (BP - Olekšák Matuš+  * **Zabezpečený tisk z mobilního telefonu s OS Android s pomocí Bluetooth ​(Secure print using a mobile ​application for Bluetooth interface)** - (BP - Balko Martin
-    ​Prozkoumejte existující řešení. +    ​Prozkoumejte existující řešení ​pro Bluetooth tisk
-    ​- Navrhněte ​zrealizujte vlastní aplikaci pro analýzu a zpracování dat z průmyslových sběrnic+    ​* Analyzujte Bluetooth ​bezpečnost Bluetooth komunikace
-    ​- Systém musí umožnit zachycení komunikace přes CAN sběrnici v režimu CAN FD, sériové linky, HTTP streamu ​veškerou komunikaci přes Ethernet+    ​* Analyzujte ​navrhněte ​řešení které zvýší samotné zabezpečení Bluetooth protokolu
-    ​- Aplikace musí být ovladatelná přes webové API. +    ​* Zaměřte se zejména na řešení, které ​není závislé na použité verzi protokolu Bluetooth
-    - Aplikace musí být schopná konfigurovat jednotlivé platformy, které ​budou obsahovat uživatelem zvolené sběrnice+    ​* Navržené ​ření se bude skládat ze: serverové ​časti pro Raspberry Pi uživatelské ​části pro Android zařízení. 
-    ​- Pro synchronizaci a vytváření ​značek navrhněte ​zrealizujte jednoduchý hardware, umožňující spouštět analýzu a vytvářet značky na základě stisknutého tlačítka +    * Bluetooth komunikace bude probíhat mezi serverovou a uživatelskou částí
-+    ​* Navržené zařízení zrealizujte a řádně ​otestujte. 
-    ​- Výsledné ​řešení ​otestujte. + 
-   ​+  ​
 ===== Available projects ===== ===== Available projects =====
  
Line 114: Line 109:
     * řízení modelu auta     * řízení modelu auta
     * generator analogových průběhů     * generator analogových průběhů
 +    * přípravky pro desku digilent CMOD A7/S7 (displej, tlačítka, switche, atd.)
 +    * návrh hardware pro desku digilent CMOD A7/S7
     * vlastní zadání     * vlastní zadání
     * Wifi a ESP32/​ESP2866     * Wifi a ESP32/​ESP2866
Line 133: Line 130:
     * vlastní zadání     * vlastní zadání
  
-  4. Jazyk VHDL+  4. Jazyk VHDL / desky FPGA
     * návrh hardware pro bezpečnostní kódy     * návrh hardware pro bezpečnostní kódy
     * generátor průběhů (sinusovka, obdelník, trojuhelník)     * generátor průběhů (sinusovka, obdelník, trojuhelník)
Line 158: Line 155:
     * aplikace pro práci s hardware (raspberry PI, Arduino a jiné)     * aplikace pro práci s hardware (raspberry PI, Arduino a jiné)
  
-  8. Projekty zadané externím zadavatelem+  8. Python 
 +    * aplikace pro zpracování a generování dat podle šablon 
 + 
 +  9. Optimalizace Java aplikací pro horizontální škálování v moderní mikroservisní architektuře 
 +    * využití AoT kompilace a minimalizace start-up času 
 +    * výběr vhodného JVM a analýza jeho výhod pro minimální náročnost na prostředky (např. GraalVM) 
 +    * využití vhodného frameworku a analýza jeho výhod (např. Quarkus) 
 +    * analýza možností využití pro serverless architekturu (např. Knative) 
 +    * využití komunikace přes gRPC 
 +    * podpora feature flagů pro release management 
 +    * vlastní zadání 
 + 
 +  10. Virtualizace a izolace aplikačních prostředí 
 +    * využití OCI kontejnerů jako způsob doručování aplikací 
 +    * analýza bezpečnostních chyb využívané technologie docker a možnosti jejich eliminace 
 +    * porovnání s jinými přístupy (např. podman, buildah apod.) 
 +    * lokální orchestrace kontejnerů (docker-compose vs podman-compose) 
 +    * vnořování kontejnerů (např. docker(-compose)-in-docker/​podman) 
 +    * vlastnosti container file systemů (např. OverlayFS) 
 +    * bezpečné (rootless) spuštění více kontejnerů uvnitř kontejneru 
 + 
 +  11. Orchestrace kontejnerů v distribuovaném on-premise prostředí 
 +    * porovnání vlastností využívaných pro jako container runtime (containerd vs docker vs CRI-O) 
 +    * kubernetes vs jeho komerční distribuce (openshift, tanzu) 
 +    * helm vs yaml manifesty (+ možnosti jejich úprav, např. kustomize) 
 +    * realizace ingress load balancerů v lokálním on-premise prosředí 
 +    * vytvoření persistence v distribuovaném prostředí (např. Ceph, Rook, GlusterFS apod.) 
 +    * správa citlivých údajů (šifrování kubernetes secrets, PAM nástroje) 
 +    * vytvoření vlastního kubernetes operátora (vlastní zadání) 
 + 
 +  12. Podpora vývoje a administrace prostředí prostřednictvím automatizace 
 +    * analýza praktik DevOps přístupu, GitOps, SecOps, ChatOps, AIOps 
 +    * analýza a představení SRE (Site reliability engineering) praktik 
 +    * vytvoření a nasazení prostředí pro kompletní podporu životního cyklu aplikace naplňující znaky GitOps a IaaC (infrastructure as a code) 
 +    * zabezpečení SVC repozitářů přes GPG klíče 
 +    * podpora IaaC nástrojů (ansible, chef+puppet,​ cloud vendor proprietární nástroje, terraform) 
 +    * využití CI nástroje s dynamickým vytěžováním zdrojů dle aktuální zátěže (návrh tzv. CI farmy) 
 +    * podpora deklarativního popisu činností (pipelines) 
 +    * porovnání známých CI nástrojů (jenkins, jenkins-x, gitlab, tekton, github actions) 
 +    * návrh procesů pro validaci aplikací před jejich nasazením prostřednictvím testů 
 + 
 +  13. Projekty zadané externím zadavatelem
     * seznam zadavatelů níže     * seznam zadavatelů níže
  
Line 181: Line 219:
 ===== All projects archives 2004 - 2019 ===== ===== All projects archives 2004 - 2019 =====
  
 +  *[[project:​2020:​proj_2020|Realized projects 2020]]
   *[[project:​2019:​proj_2019|Realized projects 2019]]   *[[project:​2019:​proj_2019|Realized projects 2019]]
   *[[project:​2018:​proj_2018|Realized projects 2018]]   *[[project:​2018:​proj_2018|Realized projects 2018]]
project/proj_list.txt · Last modified: 2024/02/15 10:30 by xkubalik