This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
project:proj_list [2021/02/05 15:03] xkubalik [Current projects] |
project:proj_list [2022/02/02 07:52] xkubalik [Current projects] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== All projects ====== | ====== All projects ====== | ||
===== Current projects ===== | ===== Current projects ===== | ||
+ | |||
+ | * **Zařízení pro měření vytíženosti zdrojů vestavného procesoru pří obsluze externích modulů (The resource consumption measure device of embedded processor handling external modules)** - (BP - Kocourek Matěj) | ||
+ | - Prozkoumejte existující řešení. | ||
+ | - Navrhněte vlastní zařízení umožňující připojení většího množství externích modulů k vestavnému procesoru. | ||
+ | - Vyberte vhodnou testovací platformu umožňující analýzu spotřeby paměti, procesorového času a elektrické energie v závislosti na počtu připojených externích modulů. | ||
+ | - Každý externí modul bude obsahovat aspoň jeden senzor a jeden ovladací prvek. | ||
+ | - Pro vzájemnou komunikaci vyberte vhodný komunikační protokol. | ||
+ | - Navržené řešení zrealizujte. | ||
+ | - Pro výsledné řešení napište obslužnou aplikaci umožňující měřit velikost potřebné paměti, dobu obsluhy externího modulu, dobu odezvy a výslednou spotřebu. | ||
+ | - Na základě získaných výsledků měření určete nároky na použitý vestavný systém v závislosti na počtu připojených externích modulů. | ||
+ | |||
+ | |||
+ | * **Řídicí systém pro model terénního vozítka založený na platformě Arduino (The control system used for terrain vehicle model based on Arduino platform)** - (DP - Zemánek Martin) | ||
+ | - Prozkoumejte existující možná řešení pro dálkové ovládání vozítek. | ||
+ | - Pro návrh řízení vozítka vyberte vhodný model obsahující 6 samostatně řiditelných kol. | ||
+ | - Navrhněte vlastní řešení řízení vozítka s pomocí platformy Arduino za následujících podmínek: | ||
+ | * každá dvojice kol bude mít vlastní řízení ovládané samostatným arduinem, | ||
+ | * řízení bude umožňovat jízdu všemi směry, | ||
+ | * řízení bude centrálně ovládáno hlavní deskou s Arduinem, | ||
+ | * veškeré řízení pohybu vozítka bude provedeno pomocí dálkového ovládání, | ||
+ | * vozítko bude na sobě obsahovat další senzory potřebné pro pohyb a detekci překážek pro všechny směry, | ||
+ | * vozítko bude umět automaticky měnit maximální rychlost v závislosti na vzdálenosti od překážky, a ve všech směrech možného pohybu. | ||
+ | - Počítejte s možným pozdějším rozšířením o platformu Raspberry PI umožňující použití například rozhraní wifi, SD karty a přídavné kamery. | ||
+ | - Navržené řešení zrealizujte a řádně otestujte. | ||
+ | |||
+ | |||
+ | |||
+ | * **Inovace řadiče pro grafický LCD displej elektronického psacího stroje (The controller innovation of graphical LCD display used in electronic typewrite)** - (BP - Pankovčin Boris) | ||
+ | - Prozkoumejte existující řešení ovládání LCD displeje psacího stroje typu Triumph-Adler Gabriele PFS. | ||
+ | - Z dokumentace k radiči MSM6255 analyzujte a na existujícím řešení ověřte průběhy pro ovládání displeje. | ||
+ | - Na základě získaných dát navrhněte a zrealizujte vlastní řadič displeje s pomocí FPGA obvodu. | ||
+ | - Pro účel testování propojte navrhnutý radič s vývojovou deskou RaspberryPI. | ||
+ | - Výsledné řešení řádně otestujte | ||
+ | |||
+ | |||
+ | * **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í. | ||
+ | - 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í naprogramujte, řádně ho zdokumentujte a otestujte. | ||
+ | - Požadavky: | ||
+ | * aplikace bude navržena jako mobilní aplikace pro OS Android | ||
+ | * aplikace umožní spojení aplikace z Arduinem pomoci Wifi | ||
+ | * pro komunikaci bude zvolen vhodný protokol | ||
+ | * aplikace bude umožňovat ověření uživatele s pomocí jména a hesla | ||
+ | * aplikace bude umožňovat přidání uživatelů s různým typem oprávnění | ||
+ | * aplikace umožní zobrazit několik různých pohledu (seznamu proměnných) stavu procesoru Arduina | ||
+ | * aplikace umožní měnit obsah proměnných v procesu Arduina | ||
+ | |||
+ | * **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í. | ||
+ | * 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í naprogramujete, zdokumentujte a řádně otestujte. | ||
+ | * Požadavky: | ||
+ | * vyberte vhodný programovací jazyk pro OS Android a platformu Arduino, | ||
+ | * sdílené proměnné mezi oběma zařízeními budou přenášený s pomocí formátu JSON, | ||
+ | * aplikace pro Android umožní připojení k zařízení Arduino přes Bluetooth, | ||
+ | * zařízení Arduino bude podporovat tyto periferie: tlačítka, displej, LED dioda, GSM modem, | ||
+ | * připojení bude provedeno pomocí uživatelského jména a hesla, | ||
+ | * aplikace bude umožňovat více uživatelů s 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. | ||
* **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) | * **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) | ||
Line 86: | Line 147: | ||
* vlastní zadání | * vlastní zadání | ||
* Wifi a ESP32/ESP2866 | * Wifi a ESP32/ESP2866 | ||
+ | * zařízení pro ochranu baterie před vybitím | ||
- | 2. Volfram Mathematica | + | 2. Wolfram Mathematica |
* bezpečnostní kódy | * bezpečnostní kódy | ||
* kódy pro kryptografií | * kódy pro kryptografií | ||
Line 119: | Line 181: | ||
* vlastní zadání | * vlastní zadání | ||
- | 6. Raspberry PI | + | 6. Raspberry PI / Raspberry PI Pico |
* ovládání jednoduchých periferií | * ovládání jednoduchých periferií | ||
* chytré síť, ovládání periferií přes ethernet | * chytré síť, ovládání periferií přes ethernet | ||
Line 131: | Line 193: | ||
* aplikace pro zpracování a generování dat podle šablon | * aplikace pro zpracování a generování dat podle šablon | ||
- | 9. Projekty zadané externím zadavatelem | + | 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 | ||