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/01/18 09:24] xkubalik [Current projects] |
project:proj_list [2023/02/09 09:05] xkubalik [Current projects] |
||
---|---|---|---|
Line 2: | Line 2: | ||
===== Current projects ===== | ===== Current projects ===== | ||
- | * **Zabezpečený tisk z mobilního telefonu s OS Android s pomocí Bluetooth** | + | * **Kamerové zařízení pro monitorování vzdáleného prostoru pomocí ESP32-CAM a SIM800L modulů (Camera device for remote space monitoring using ESP32-CAM and SIM800L modules)** (BP - Staes Adam) |
- | * Prozkoumejte existující řešení pro Bluetooth tisk | + | * Prozkoumejte existující řešení. |
- | * Analyzujte Bluetooth a bezpečnost Bluetooth komunikace | + | * Navrhněte vlastní zařízení založené na platformě esp32-cam. |
- | * Analyzujte a navrhněte řešení pro bezpečný Bluetooth tisk | + | * Zařízení bude splňovat tyto požadavky: |
- | * Zaměřte se zejména na řešení, které není závislé na samotné bezpečnosti protokolu Bluetooth | + | - pořízení snímku při detekci pohybu na SD kartu, |
- | * Navržené řešení se bude skládat ze: serverová časti pro Raspberry Pi a uživatelské části pro Android zařízení | + | - se zařízením bude možné komunikovat přes SMS příkazy a síť WIFI, |
- | * Bluetooth komunikace bude probíhat mezi serverovou a uživatelskou | + | - zařízení umožní odeslání pořízené fotografie na email přes GPRS GSM sítě, |
- | * Navržené zařízení zrealizujte a řádně otestujte | + | - k určení času pořízení snímku bude řešení obsahovat RTC obvod. |
+ | * Navržené řešení zrealizujte. | ||
+ | * Součástí realizace bude vytvoření plošného spoje a vhodného pouzdra. | ||
+ | * Výsledné řešení řá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á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) | ||
+ | * Prozkoumejte existující řešení nástrojů vhodných k výuce bezpečnostních kódů. | ||
+ | * Analyzujte problémy studentů při výuce bezpečnostních kódů. | ||
+ | * 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. | ||
+ | * Navrhněte vlastní nástroje vhodné k výuce těchto kódů. | ||
+ | * Zaměřte se zejména na oblast generování, dekódování a opravy těchto kódů. | ||
+ | * Nástroje budou umožňovat generovat nejen výukové notebooky pro program Wolfram Mathematica, ale i VHDL kódy a testbenche pro lepší představu jejich implementace v hardware. | ||
+ | * Nástroj bude podporovat i vložení chyby a jeji opravu. | ||
+ | * Navržené řešení realizujte a řádně otestujte. | ||
- | * ** 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) | + | * **Programovatelná elektronická zátěž (Programmable electronic load)** (BP - Pánek Miloš) |
- | - Prozkoumejte existující řešení. | + | - Prozkoumejte existující řešení programovatelné elektronické zátěže. |
- | - Navrhněte a naprogramujte nástroj (sadu nástrojů) v prostředí Wolfram Mathematica umožňující generovat bezpečnostní kódy. | + | - Analyzujte problémy současných řešení a navrhněte vlastní řešení. |
- | - 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.). | + | - Navržené řešení bude podporovat tyto režimy: stálý proud, stálý odpor, stálý výkon a stálé napětí. |
- | - Výstupem generátoru budou 3 VHDL soubory sloužící jako kodér, dekodér a testbench pro zvolený kód. | + | - Programovatelná zátěž bude splňovat tyto požadavky: |
- | - 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). | + | - nastavení všech parametru zátěže přes rozhraní na samotném zařízení, |
- | - 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ů. | + | - komunikace s PC aplikací přes bluetooth, USB a wifi, |
- | - Zároveň pro každý vytvořený příklad zjistěte spotřebované zdroje při implementaci v FPGA obvodu. | + | - záznam naměřených dat lokálně na SD kartu, |
- | - Výsledné řešení řádně otestujte. | + | - jednoduchý protokol pro komunikaci s PC s možným rozšířením pro další funkcionalitu. |
+ | - Pro PC navrhněte a 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 a jejich zobrazení pří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. | ||
- | * ** 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 - Kougl Ladislav) | + | |
- | - Prozkoumejte existující řešení. | + | * **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) |
- | - 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. | + | - Prozkoumejte existující řešení ovládání periferií z FPGA obvodu firmy XILINX. |
- | - Vstupem do generátoru násobičky a děličky bude typ operace, šířka vodičů a počet bitů na číslici. | + | - Zaměřte se zejména na tyto periférie: OLED displej, alfanumerický displej, tlačítka, přepínače, led diody. |
- | - 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. | + | - Navrhněte vlastní knihovnu zaměřenou na ovládání periferií zejména přes sběrnici I2C. |
- | - 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. | + | - Navrženou knihovnu zrealizujte a řádně otestujte. |
- | - 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ů. | + | - Pro demonstraci správné funkce periférií napište obslužnou aplikaci pro FPGA Artix-7. |
- | - Zaměřte se na prezentaci algoritmu násobení a dělení v programu Wolfram Mathematica tak, aby byl zřejmý jejich princip. | + | - Aplikace bude obsahovat menu pro volbu testování periférií a nastavení obsahu registrů. |
- Výsledné řešení řádně otestujte. | - Výsledné řešení řádně otestujte. | ||
+ | |||
+ | |||
+ | * **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) | ||
+ | - Analyzujte technologii SDR(softwarově definovaného rádia) a jeho možnosti pro odchytávání bezdrátových zařízení. | ||
+ | - Zaměřte se zejména na zařízení pracující v pásmu 433MHz a 868MHz. | ||
+ | - Prozkoumejte existující řešení pro odchytávání a analýzu těchto zařízení. | ||
+ | - 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. | ||
+ | - Nástroj by měl být tvořen knihovnou a grafickým rozhraním pro odposlech a zpracování naměřených dat. | ||
+ | - 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řenos, a 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. | ||
+ | - Navrhněte vlastní zařízení fungující jako samostatný ovladač splňující tyto požadavky: | ||
+ | - komunikace s aplikací bude realizována přes USB a Bluetooth, | ||
+ | - ovladač bude umožňovat čtení vstupů z encodérů, tlačítek a Hallových senzorů, | ||
+ | - ovladač bude napájen z baterie. | ||
+ | - Navržený ovladač zrealizujte a naprogramujte. | ||
+ | - Pro PC vytvořte vlastní aplikaci umožňující zpracování dat z ovladače a jejich přenos do aplikace Adobe Lightroom Classic. | ||
+ | - Aplikace v PC bude dále umožňovat načtení konfiguračního souboru ovladače. | ||
+ | - Výsledné řešení řádně otestujte. | ||
+ | |||
+ | * **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í nástroje určené k analýze NFC komunikace. | ||
+ | - Analyzujte technologií SDR (softwarově definovaného rádia). | ||
+ | - Analyzujte technologii NFC, zejména princip komunikace mezi NFC čtečkou a NFC kartou (MIFARE Classic, MIFARE DESFire, MIFARE Plus). | ||
+ | - Analyzujte a navrhněte způsob pro odposlech NFC komunikace pomoci SDR. | ||
+ | - Navrhněte přenosné zařízení, které bude umožňovat odposlech, záznam a prvotní analýzu NFC komunikace. | ||
+ | - Zařízení bude schopné odchytit UID karty a komunikaci směrem od čtečky. Pokud bude signál dostatečně silný, zaznamená i komunikaci směrem od karty. | ||
+ | - Navržené řešení zrealizujte na platformě Raspberry Pi. | ||
+ | - 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 55: | Line 99: | ||
* 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 88: | Line 133: | ||
* 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 100: | Line 146: | ||
* 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 123: | Line 249: | ||
===== 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]] |