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/26 10:20]
xkubalik [Current projects]
project:proj_list [2023/02/07 15:24]
xkubalik [Current projects]
Line 2: Line 2:
 ===== Current projects ===== ===== Current projects =====
  
-  * **Přenosný přístupový identifikační systém využívající technologii NFC umožňující komunikaci přes GSM bránu ​()** (BP - Šimůnek Martin). +  * **Nástroje pro podpora výuky bezpečnostních kódů v prostředí Wolfram Mathematica ​(Tools to support the teaching of security codes in the Wolfram Mathematica environment)** (BP - Linhartová Helena
-    * Prozkoumání ​existující řešení.  +    * Prozkoumejte ​existující řešení ​nástrojů vhodných k výuce bezpečnostních kódů
-    * Analyzujte ​technologii NFC a možnost využití platformy arduino jako ovládací prvek+    * Analyzujte ​problémy studentů při výuce bezpečnostních kódů
-    * Analyzujte a navrhněte bezpečné ​řešení s ohledem na omezené zdroje vybrané platformy.  +    * Zaměřte se zejména na tyto kódy: sudá parita, křížová parita, Hammingův kód, rozšířený i zkrácený Hammingův kód, cyklický kód, součinový kód a RM kód
-    * Navržené zařízení ​se bude skládat z Arduino mikrokontroleruGSM modulu ​pro posílání SMS zprávčtečky NFC LCD displeje+    * Navrhněte vlastní nástroje vhodné k výuce těchto kódů. 
-    * Komunikace zařízení ​bude probíhat přes technologii GSM – formou SMS za pomoci LCD displeje (základní orientační údaje)+    * Zaměřte se zejména na oblast generovánídekódování a opravy těchto kódů. 
-    * Navržené řešení ​zrealizujte ​a otestujte.+    * Nástroje budou umožňovat generovat nejen výukové notebooky ​pro program Wolfram Mathematicaale i VHDL kódy testbenche pro lepší představu jejich implementace v hardware
 +    * Nástroj ​bude podporovat i vložení chyby jeji opravu
 +    * Navržené řešení ​realizujte ​řádně ​otestujte.
  
  
-  * **Pokročilé bezpečnostní kódy v programu Wolfram Mathematica ​(Advanced error control codes using Wolfram Mathematica)** (DP Koleník Stanislav+  * **Programovatelná elektronická zátěž ​(Programmable electronic load)** (BP Pánek Miloš
-    ​* 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+    ​- Prozkoumejte existující řešení programovatelné elektronické zátěže. 
-    ​* Dodržte členění na výukové scénáře a balíčky a zachovejte jejich formát+    - Analyzujte problémy současných ​řešení a navrhněte vlastní ​řešení
-    ​* Zaměřte se edevším ​na Fireovy kódysoučinové kódy, RM kódynebinární BCH kódy RS kódyGoppa kódy kódy konvoluční+    ​- Navržené řešení bude podporovat tyto režimy: stálý proud, stálý odpor, stálý výkon ​stálé napětí
-    ​* V dostatečné míře nastudujte ​zdokumentujte ​íslušnou matematickou teorii+    ​- Programovatelná zátěž bude splňovat tyto požadavky:​ 
-    ​Navržené řešení zrealizujte a řádně otestujte.  +      - nastavení všech parametru zátěže ​es rozhraní ​na samotném zařízení, 
-    * Vytvořte několik příkladů použití každého kódu. +      - komunikace s PC aplikací přes bluetoothUSB wifi, 
-    * Využijte získaných poznatků ke zmapování současného stavu použití bezpečnostních kódů v kryptografii.+      - záznam naměřených dat lokálně na SD kartu, 
 +      - jednoduchý protokol pro komunikaci s PC s možným rozšířením pro další funkcionalitu. 
 +    - Pro PC navrhněte ​naprogramujte aplikaci v jazyce c++ s grafickým rozhraním
 +    ​- Aplikace v PC bude umožňovat nastavit všechny parametry zátěže, včetně průběžného sledování naměřených hodnot ​jejich zobrazení ​ímo v aplikaci.  
 +    ​- Parametry zátěže bude možné v průběhu měření měnit podle předem nastavených hodnot. 
 +    - Navržené řešení zrealizujte a řádně otestujte.
  
-  * **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í pro osobní GPS lokátory. 
-    * Analyzujte technologii GSM/GPS 
-    * Analyzujte a navrhněte řešení které řeší nedostatky momentálně dostupných zařízení na trhu 
-    * Zaměřte se na zařízení které není závislé na pohotovostní službě na vzdáleném serveru 
-    * 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ů 
-    * Komunikace bude probíhat přes technologiii GSM a textové SMS příkazy 
-    * Navržené zařízení zrealizujte a řádně otestujte 
  
-  * **Generátor VHDL kódu (VHDL code generator)** (BP - Fořt Rostislav+  * **Zařízení pro ovládání základních periferií připojených k FPGA obvodu ​(Device for controlling basic peripherals connected to the FPGA circuit)** (BP - Šebek Michal
-    ​Prozkoumejte existující řešení. +    ​Prozkoumejte existující řešení ​ovládání periferií z FPGA obvodu firmy XILINX
-    ​* 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 tyto periférie: OLED displej, alfanumerický displej, tlačítka, přepínače,​ led diody
-    ​* Vytvořte několik šablon ukazujících práci s aplikací+    ​- Navrhněte vlastní knihovnu zaměřenou na ovládání periferií zejména přes sběrnici I2C
-    ​* Výsledné řešení ​řádně otestujte. +    ​- Navrženou knihovnu zrealizujte a řádně otestujte. 
-    ​* Požadavky: +    ​- Pro demonstraci správné funkce periférií napište obslužnou aplikaci pro FPGA Artix-7. 
-      ​* ​Aplikace bude napsaná v jazyce C++ +    ​- ​Aplikace bude obsahovat menu pro volbu testování periférií a nastavení obsahu registrů. 
-      * Aplikace bude umožňovat vytvářet a upravovat ​šablony VHDL struktur +    - Výsledné ​řešení řádně otestujte
-      * Aplikace bude umožňovat ze šablon generovat kód +
-      * Aplikace bude schopná ve VHDL kódu rozpoznat entitu a umožní její použití v šabloně, např. pro automatické generování testbenche.+
  
-  * **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í pro Bluetooth tisk. 
-    * Analyzujte Bluetooth a bezpečnost Bluetooth komunikace. 
-    * Analyzujte a navrhněte řešení které zvýší samotné zabezpečení Bluetooth protokolu. 
-    * Zaměřte se zejména na řešení, které není závislé na použité verzi protokolu Bluetooth. 
-    * Navržené řešení se bude skládat ze: serverové časti pro Raspberry Pi a uživatelské části pro Android zařízení. 
-    * Bluetooth komunikace bude probíhat mezi serverovou a uživatelskou částí. 
-    * 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+  * **Multiplatformní nástroj pro odposlech dat z rádiového přenosu pomocí SDR (A multi-platform wireless data sniffing tool using SDR)** (DP - Šimůnek Martin) 
-    ​Prozkoumejte existující ​metody ​řešení. +    - Analyzujte technologii SDR(softwarově definovaného rádiaa jeho možnosti pro odchytávání bezdrátových zařízení. 
-    ​* 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+    ​- Zaměřte se zejména na zařízení pracující v pásmu 433MHz a 868MHz. 
-    ​* Na základě takto získaných ​dat nalezněnte vhodný bezpečnostní kód, který ​bude schopen tyto poruchy detekovat, popř. i opravovat takaby redundance (area ovehead) byla co nejmenší+    - Prozkoumejte existující řešení ​pro odchytávání a analýzu těchto zařízení
-    ​* Specifikujte požadavky na úpravu simulačního softwaru takaby obsahoval podporu ​pro výběr nejvhodnějšího kódu+    ​Využijte ​SDR a navrhněte nástroj pro odposlech dat přenášených rádiovým signálem v pásmu 433MHz a 868 MHz
-    ​Navržený způsob ​řešení ​ověřte na několka příkladech konkrétních obvodů ​kódů. +    ​- Nástroj by měl být tvořen knihovnou a grafickým rozhraním pro odposlech a zpracování naměřených ​dat
-    * Vytvořte klasifikaci obvodů s hlediska možností opravy/​detekce poruch.+    - Podporována budou zejména zařízení typu: bezdrátový teplotní senzor, bezdrátové senzory v automobilu a bezdrátové měřiče tepla v domácnostech.  
 +    - Nastroj ​bude umožňovat analyzovat přenosa to jak nešifrovaný, tak i šifrovaný
 +    ​- Pokud bude k dispozici klíč pro dešifrováníbude nástroj umožňovat i dešifrování,​ a to zejména ​pro bezdrátové měřiče tepla v domácnostech
 +    ​Navržené řešení ​zrealizujte ​a řádně otestujte.
  
- +  ​* **Zařízení ​pro ovládání aplikace Adobe Lightroom ​s pomocí ​hardwarového ovladače ​(A device to control ​Adobe Lightroom ​using a hardware driver)** (BP - Macháček Vitězslav
- +    - Prozkoumejte existující řešení ​umožňující ovládání aplikace Adobe Lightroom s hardwarového ovladače
-  ​* ** 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+    - Navrhněte ​vlastní zařízení fungující jako samostatný ovladač splňující ​tyto požadavky: 
-    - Prozkoumejte existující řešení. +      - komunikace s aplikací bude realizována přes USB a Bluetooth,​ 
-    - Navrhněte ​a naprogramujte nástroj (sadu nástrojů) v prostředí Wolfram Mathematica umožňující ​generovat bezpečnostní kódy. +      - ovladač bude umožňovat ​čtení vstupů z encodérů, tlačítek a Hallových senzorů, 
-    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.). +      - ovladač bude napájen z baterie
-    Výstupem generátoru budou 3 VHDL soubory sloužící jako kodér, dekodér a testbench pro zvolený kód+    - Navržený ovladač zrealizujte ​naprogramujte
-    - Zaměřte se zejména na základní paralelní kódy: sudá parita, Hammingův kód rozšířený Hammingův kód dále pak na seriové kódy, jako jsou kódy generované mnohočleny (cyklický kód)+    - Pro PC vytvořte ​vlastní aplikaci umožňující zpracování dat z ovladače a jejich ​enos do aplikace Adobe Lightroom Classic
-    - Pro každý kód vytvořte ​několik ​íkladů, na kterých v simulačním nástroji ModelSim ukážete správnou funkci generovaných souborů+    - Aplikace v PC bude dále umožňovat nastavení chování ovladače a nastavenou konfiguraci ukládat lokálně.
-    - 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.     - 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>​+  * **Přenosné zařízení ​pro odposlech NFC komunikace ​pomocí ​SDR založené na platformě Raspberry Pi (Portable device for sniffing NFC communication ​using SDR based on the Raspberry Pi platform)** (DP Balko Martin
-    - Prozkoumejte existující ​řešení+    - Prozkoumejte existující ​nástroje určené k analýze NFC komunikace
-    - 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+    - Analyzujte technologií SDR (softwarově definovaného rádia). 
-    - Vstupem do generátoru násobičky ​děličky bude typ operace, šířka vodičů a počet bitů na číslici+    - Analyzujte technologii NFC, zejména princip komunikace mezi NFC čtečkou NFC kartou ​(MIFARE Classic, MIFARE DESFire, MIFARE Plus). 
-    - Generátor násobičky ​bude umožňovat ​násobení čísel bez znaménkačísel v doplňkovém kódu to i za použití relativních číslic+    - Analyzujte ​navrhněte způsob pro odposlech NFC komunikace pomoci SDR
-    - Generátor děliček ​bude umožňovat dělit celá čísla a čísla menší než jednaZaměřte se na použití dělení čísel využívající metody SRT+    - Navrhněte přenosné zařízení,​ které ​bude umožňovat ​odposlechzáznam ​prvotní analýzu NFC komunikace
-    - 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ů+    - Zařízení ​bude schopné odchytit UID karty a komunikaci směrem od čtečkyPokud bude signál dostatečně silný, zaznamená ​komunikaci směrem od karty
-    - Zaměřte se na prezentaci algoritmu násobení a dělení ​programu Wolfram Mathematica tak, aby byl zřejmý jejich princip+    - Navržené řešení zrealizujte na platformě Raspberry Pi
-    - Výsledné řešení ​řádně otestujte. ​+    - Pro výsledné zařízení napište v jazyce Python obslužnou aplikaci
 +    - Výsledné ​zařízení ​řádně otestujte. 
   ​   ​
-===== Available projects =====+===== Available projects ​- FIT =====
  
   1. Arduino HW/SW   1. Arduino HW/SW
Line 93: Line 86:
     * 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 126: Line 120:
     * 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
     * vzdálená správa sítí     * vzdálená správa sítí
 +    * SDR(Software Defined Radio) aplikace - sledování a analýza provozu
     * vlastní zadání     * vlastní zadání
  
Line 138: Line 133:
     * 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. Neuronové sítě 
 +    * Model neuronové sítě ve Wolfram Mathematice 
 +    * Model neuronové sítě v jazyce c++ 
 +    * Implementace neuronu a neuronové sítě v hardware 
 +    * Implementace neuronové sítě v SoC 
 + 
 +===== Available projects HW - external ===== 
 + 
 +  1. Malý grafický displej do výšky 1U s rotačním enkodérem ovládaný přes SPI 
 +    * Navrhněte a zrealizujte grafický TFT displej ovládaný pomocí sběrnice SPI. 
 +    * Displej by měl obsahovat možnost zadávání příkazů (tlačítka,​ rotační encoder,​…).  
 +    * Výška displeje musí splňovat normu 1U.  
 +    * Pro vytvořený displej naprogramujte framework, který usnadní práci s displejem. 
 + 
 +  2. OSD displej v FPGA 
 +    * Navrhněte a zrealizujte On-Screen displej v obvodu FPGA pro video stream.  
 +    * OSD displej by měl fungovat na formátech od 720p do 4K, jak progressive,​ tak interlaced.  
 +    * Požadavkem je minimální využití zdrojů v FPGA.  
 +    * OSD se bude ovládat pomocí sběrnice AXI4-Lite. 
 + 
 +  3. Konfigurovatelný filtr ethernetoveho rámce v FPGA 
 +    * Navrhněte a zrealizujte konfigurovatelný filtr ethernetového rámce umožňující filtrovat pakety podle zadaných parametrů (MAC, IP…) do více streamů, nebo jednoho streamu označeného identifikátorem.  
 +    * Pro vstupní a výstupní interface bude použit AXI4 Stream pro zajištění kompatibility. 
 + 
 +  4. Zpracování I2S signálu s integraci do AXI Stream 
 +    * Navrhněte a zrealizujte konverzní modul v FPGA ze standartního interface I2S na interface AXI4 Stream a opačně.  
 +    * Modul by měl zvládat konverzi různé datové šířky audio samplu a multiplexování více audio streamu do jednoho I2S interfacu. 
 + 
 +  5. Efektivní (de)interlacing 12G SDI videa 
 +    * Navrhněte a zrealizujte (de)interlacer 6G a 12G SDI videa do progressive formátu.  
 +    * Modul může pracovat jak nad SDI formátem, tak na Native video formátem. 
 + 
 +  6. Embedded audio konvertor na AXi4 Stream a zpět 
 +    * Navrhněte a zrealizujte konverzní modul v FPGA z SDI Embedded audia na interface AXI4 Stream a opačně.  
 +    * Modul by měl zvládat konverzi různé datové šířky audio samplu. 
 + 
 +  7. Nízkolatenční komprese v FPGA s využitím vlnové transformace 
 +    * Navrhněte a zrealizujte nízkolatenční video kodek v FPGA založený na vlnkové transformaci.  
 +    * Latence kodeku by se měla pohybovat v jednotkách řádků videa. 
 + 
 +===== Available projects SW - external ===== 
 + 
 +  1. Optimalizace Java aplikací pro horizontální škálování v moderní mikroservisní architektuře - spolupráce s průmyslem 
 +    * 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í 
 + 
 +  2. Virtualizace a izolace aplikačních prostředí - spolupráce s průmyslem 
 +    * 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 
 + 
 +  3. Orchestrace kontejnerů v distribuovaném on-premise prostředí - spolupráce s průmyslem 
 +    * 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í) 
 + 
 +  4. Podpora vývoje a administrace prostředí prostřednictvím automatizace - spolupráce s průmyslem 
 +    * 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ů 
 + 
 +  5. Projekty zadané externím zadavatelem
     * seznam zadavatelů níže     * seznam zadavatelů níže
  
Line 161: Line 236:
 ===== All projects archives 2004 - 2019 ===== ===== All projects archives 2004 - 2019 =====
  
 +  *[[project:​2022:​proj_2022|Realized projects 2022]]
 +  *[[project:​2021:​proj_2021|Realized projects 2021]]
   *[[project:​2020:​proj_2020|Realized projects 2020]]   *[[project:​2020:​proj_2020|Realized projects 2020]]
   *[[project:​2019:​proj_2019|Realized projects 2019]]   *[[project:​2019:​proj_2019|Realized projects 2019]]
project/proj_list.txt · Last modified: 2024/02/15 10:30 by xkubalik