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 [2021/01/27 09:41]
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)
 +    * Prozkoumejte existující řešení.
 +    * Analyzujte protokol SENT a jeho rozšíření SPC.
 +    * Analyzujte možnosti generování kódů emulujících funkci akceleračního pedálu a navrhněte řešení s využitím platformy ESP32.
 +    * Proveďte analýzu komunikace pedálu z koncernu VW.
 +    * 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.
 +    * Pro komunikaci pedálu s řídicí jednotkou využijte protokol SENT/SPC.
 +    * Zařízení musí být ovladatelné přes CAN sběrnici i fyzickými ovladači.
 +    * Navržené řešení zrealizujte a řá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)   * **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)
Line 61: Line 132:
     * Navržené zařízení zrealizujte a řádně otestujte.     * Navržené zařízení zrealizujte a řádně otestujte.
  
-  * **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) 
-    * Prozkoumejte existující metody ř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. 
-    * 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ší. 
-    * Specifikujte požadavky na úpravu simulačního softwaru tak, aby obsahoval podporu pro výběr nejvhodnějšího kódu. 
-    * Navržený způsob řešení ověřte na několka příkladech konkrétních obvodů a kódů. 
-    * Vytvořte klasifikaci obvodů s hlediska možností opravy/​detekce poruch. 
- 
- 
- 
-  * ** Nástroj pro generování bezpečnostních kódu ve VHDL s pomocí programu Wolfram Mathematica (Error control code generator tool in VHLD language using Wolfram Mathematica)** - (BP - Ganeev Timur) 
-    - Prozkoumejte existující řešení. 
-    - Navrhněte a naprogramujte nástroj (sadu nástrojů) v prostředí Wolfram Mathematica umožňující generovat bezpečnostní kódy. 
-    - Vstupem do generátoru budou základní parametry pro zvolený bezpečnostní kód (počet vstupních vodičů, název výstupních souboru apod.). 
-    - Výstupem generátoru budou 3 VHDL soubory sloužící jako kodér, dekodér a testbench pro zvolený kód. 
-    - Zaměřte se zejména na základní paralelní kódy: sudá parita, Hammingův kód rozšířený Hammingův kód a dále pak na seriové kódy, jako jsou kódy generované mnohočleny (cyklický kód). 
-    - Pro každý kód vytvořte několik příkladů,​ na kterých v simulačním nástroji ModelSim ukážete správnou funkci generovaných souborů. 
-    - Zároveň pro každý vytvořený příklad zjistěte spotřebované zdroje při implementaci v FPGA obvodu. 
-    - Výsledné řešení řádně otestujte. 
- 
-  * ** Nástroj pro generování násobiček a děliček ve VHDL s pomocí programu Volfram Mathematica (Multiplier and divider circuit generator tool in VHLD language using Wolfram Mathematica)** - (BP - <​del>​Kougl Ladislav</​del>​) 
-    - Prozkoumejte existující řešení. 
-    - Navrhněte a naprogramujte nástroj (sadu nástrojů) v prostředí Wolfram Mathematica umožňující generovat násobičky a děličky. 
-    - Vstupem do generátoru násobičky a děličky bude typ operace, šířka vodičů a počet bitů na číslici. 
-    - Generátor násobičky bude umožňovat násobení čísel bez znaménka, čísel v doplňkovém kódu a to i za použití relativních číslic. 
-    - Generátor děliček bude umožňovat dělit celá čísla a čísla menší než jedna. Zaměřte se i na použití dělení čísel využívající metody SRT. 
-    - Pro každý typ násobení a dělení vytvořte několik příkladů,​ na kterých v simulačním nástroji ModelSim ukážete správnou funkci generátorů. 
-    - Zaměřte se na prezentaci algoritmu násobení a dělení v programu Wolfram Mathematica tak, aby byl zřejmý jejich princip. 
-    - Výsledné řešení řádně otestujte. ​ 
   ​   ​
 ===== Available projects ===== ===== Available projects =====
Line 105: 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 138: 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 150: 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
  
project/proj_list.txt · Last modified: 2024/02/15 10:30 by xkubalik