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/04/07 13:52]
xkubalik [Available projects]
project:proj_list [2023/02/07 15:08]
xkubalik [Current projects]
Line 2: Line 2:
 ===== Current projects ===== ===== Current projects =====
  
-  * **Android aplikace pro dálkové ovládání platformy Arduino ​(An android application for remote control of the Arduino platform)** (BP - Denissyuk Andrey+  * **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
-    - Pomocí metod softwarového inženýrství ​navrhněte vlastní řešení ​vyhovující níže uvedeným požadavkům+    - Analyzujte problémy současných řešení a navrhněte vlastní řešení. 
-    - Navržené řešení ​naprogramujteřádně ho zdokumentujte ​otestujte+    - Navržené řešení ​bude podporovat tyto režimy: stálý proudstálý odpor, stálý výkon ​stálé napětí
-    - Požadavky: +    - Programovatelná zátěž bude splňovat tyto požadavky: 
-      ​* aplikace bude navržena jako mobilní aplikace pro OS Android +      ​- nastavení všech parametru zátěže přes rozhraní na samotném zařízení,​ 
-      ​* aplikace umožní spojení aplikace z Arduinem pomoci Wifi +      ​- komunikace s PC aplikací přes bluetooth, USB a wifi, 
-      ​* pro komunikaci bude zvolen vhodný protokol +      ​- záznam naměřených dat lokálně na SD kartu, 
-      ​* aplikace bude umožňovat ověření uživatele s pomocí jména ​hesla +      ​- jednoduchý protokol pro komunikaci s PC s možným rozšířením pro další funkcionalitu. 
-      * aplikace ​bude umožňovat ​přidání uživatelů s různým typem oprávnění +    - Pro PC navrhněte ​naprogramujte aplikaci v jazyce c++ s grafickým rozhraním. 
-      * aplikace umožní zobrazit několik různých pohledu (seznamu proměnných) stavu procesoru Arduina +    - 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. ​ 
-      * aplikace umožní měnit ​obsah proměnných v procesu Arduina+    - 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.
  
-  * **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+  * **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
-    ​* Analyzujte protokol SENT a jeho rozšíření SPC. +    ​- Zaměřte se zejména na tyto periférie: OLED displej, alfanumerický displej, tlačítka, přepínače, led diody
-    * 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+    ​Navrhněte ​vlastní knihovnu zaměřenou na ovládání periferií zejména přes sběrnici I2C. 
-    ​* Proveďte analýzu komunikace pedálu z koncernu VW. +    - Navrženou knihovnu zrealizujte a řádně otestujte
-    * 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 demonstraci správné funkce periférií napište obslužnou aplikaci pro FPGA Artix-7
-    ​Pro komunikaci pedálu s řídicí jednotkou využijte protokol SENT/SPC+    ​- Aplikace bude obsahovat menu pro volbu testování periférií a nastavení obsahu registrů
-    ​* Zařízení musí být ovladatelné přes CAN sběrnici i fyzickými ovladači+    ​- Výsledné ​řešení řádně otestujte. ​
-    ​* 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) 
-    * 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. 
  
-  * **Přenosný přístupový identifikační systém využívající technologii NFC a umožňující komunikaci ​es GSM bránu ​(Portable access identification system ​using NFC technology and communicating via GSM gateway)** (BP - Šimůnek Martin). +  * **Multiplatformní nástroj pro odposlech dat z rádiového ​enosu pomocí SDR (A multi-platform wireless data sniffing tool using SDR)** (DP - Šimůnek Martin) 
-    ​* Prozkoumání ​existující řešení.  +    - Analyzujte technologii SDR(softwarově definovaného rádia) a jeho možnosti pro odchytávání bezdrátových zařízení
-    * Analyzujte technologii NFC možnost využití platformy arduino jako ovládací prvek+    ​- Zaměřte se zejména na zařízení pracující v pásmu 433MHz a 868MHz. 
-    ​* Analyzujte ​a navrhněte ​bezpečné ​řešení s ohledem na omezené zdroje platformy Arduino.  +    - Prozkoumejte ​existující řešení ​pro odchytávání ​analýzu těchto zařízení
-    ​* Navržené zařízení se bude skládat z Arduino mikrokontroleru,​ GSM modulu ​pro posílání SMS zpráv, čtečky NFC LCD displeje+    ​- 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
-    ​* Komunikace se zařízením ​bude probíhat ​es technologii GSM – formou SMS za pomoci LCD displeje (základní orientační údaje)+    ​- Nástroj by měl být tvořen knihovnou a grafickým rozhraním ​pro odposlech ​zpracování naměřených dat
-    ​Navržené řešení zrealizujte a řádně otestujte.+    ​- 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 ​enos, 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.
  
-  * **Pokročilé bezpečnostní kódy v programu Wolfram Mathematica ​(Advanced error control ​codes using Wolfram Mathematica)** (DP Koleník Stanislav+  * **Zařízení pro ovládání aplikace Adobe Lightroom s pomocí hardwarového ovladač(A device to control ​Adobe Lightroom ​using a hardware driver)** (BP Macháček Vitězslav
-    ​* 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í umožňující ovládání aplikace Adobe Lightroom s hardwarového ovladače
-    ​* Dodržte členění na výukové scénáře a balíčky a zachovejte jejich formát. +    ​- Navrhněte vlastní zařízení fungující jako samostatný ovladač splňující tyto požadavky: 
-    * Zaměřte se edevším na Fireovy kódysoučinové kódyRM kódy, nebinární BCH kódy RS kódyGoppa kódy a kódy konvoluč+      ​- komunikace s aplikací bude realizována ​es USB a Bluetooth, 
-    ​* V dostatečné míře nastudujte ​zdokumentujte ​íslušnou matematickou teorii+      - ovladač bude umožňovat čtení vstupů z encodérůtlačítek ​Hallových senzorů, 
-    ​* Navržené řešení ​zrealizujte a řádně otestujte.  +      - ovladač bude napájen z baterie
-    * Vytvořte několik příkladů použití každého kódu. +    ​- Navržený ovladač zrealizujte a naprogramujte. 
-    * Využijte získaných poznatků ke zmapování současného stavu použití bezpečnostních kódů v kryptografii.+    - Pro PC vytvořte vlastní aplikaci umožňující zpracování dat z ovladače a jejich ​enos do aplikace Adobe Lightroom Classic
 +    ​- Aplikace v PC bude dále umožňovat nastavení chování ovladače a nastavenou konfiguraci ukládat lokálně. 
 +    - Výsledné ​řešení řá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) +  * **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í pro osobní GPS lokátory+    ​Prozkoumejte existující ​nástroje určené k analýze NFC komunikace
-    ​Analyzujte ​technologii GSM/GPS +    ​Analyzujte ​technologií SDR (softwarově definovaného rádia). 
-    ​Analyzujte a navrhněte řešení které řeší nedostatky momentálně dostupných zařízení na trhu +    ​Analyzujte ​technologii NFC, zejména princip komunikace mezi NFC čtečkou ​NFC kartou (MIFARE ClassicMIFARE DESFireMIFARE Plus). 
-    * Zaměřte se na zařízení které není závislé na pohotovostní službě na vzdáleném serveru +    ​- Analyzujte a navrhněte ​způsob ​pro odposlech NFC komunikace pomoci SDR
-    * Navržené zařízení se bude skládat z: Arduino mikrokontroléruGPS/GSM modulubaterie, mobilní android aplikace pro snadné generovaní textových SMS příkazů +    ​- Navrhněte přenosné zařízení, které ​bude umožňovat ​odposlechzáznam ​prvotní analýzu NFC komunikace. 
-    * Komunikace bude probíhat přes technologiii GSM a textové SMS příkazy +    ​- Zařízení bude schopné odchytit UID karty komunikaci směrem od čtečkyPokud bude signál dostatečně silnýzaznamená i komunikaci směrem od karty
-    * Navržené zařízení zrealizujte a řádně otestujte +    ​Navržené řešení ​zrealizujte na platformě ​Raspberry Pi
- +    - Pro výsledné ​zařízení ​napište v jazyce Python obslužnou aplikaci
-  * **Generátor VHDL kódu (VHDL code generator)** - (BP - Fořt Rostislav) +    ​- Výsledné ​zařízení řádně otestujte.
-    * Prozkoumejte existující řešení+
-    ​* Pomocí metod softwarového inženýrství ​navrhněte ​a naprogramujte aplikaci ​pro generování základních struktur VHDL kódu+
-    ​* Vytvořte několik šablon ukazujících práci s aplikací. +
-    * Výsledné ​řešení ​řádně otestujte. +
-    * Požadavky:​ +
-      * Aplikace bude napsaná v jazyce C++ +
-      * Aplikace ​bude umožňovat ​vytvářet a upravovat šablony VHDL struktur +
-      * 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 mobile application for Bluetooth interface)** - (BP - Balko Martin) +
-    * Prozkoumejte existující řešení pro Bluetooth tisk. +
-    * Analyzujte Bluetooth a bezpečnost Bluetooth ​komunikace. +
-    ​* Analyzujte ​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.+
  
   ​   ​
-===== Available projects =====+===== Available projects ​- FIT =====
  
   1. Arduino HW/SW   1. Arduino HW/SW
Line 113: Line 75:
     * 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 146: Line 109:
     * 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 158: Line 122:
     * aplikace pro zpracování a generování dat podle šablon     * 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+  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     * 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)     * výběr vhodného JVM a analýza jeho výhod pro minimální náročnost na prostředky (např. GraalVM)
Line 167: Line 173:
     * vlastní zadání     * 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ů
  
-  ​N. Projekty zadané externím zadavatelem+  ​5. Projekty zadané externím zadavatelem
     * seznam zadavatelů níže     * seznam zadavatelů níže
  
Line 191: Line 225:
 ===== 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