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/12/14 08:58]
xkubalik [Available projects]
project:proj_list [2023/02/09 09:05]
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) +  * **Kamerové zařízení ​pro monitorování vzdáleného prostoru ​pomocí ​ESP32-CAM ​SIM800L modulů (Camera device ​for remote space monitoring using ESP32-CAM and SIM800L modules)** (BP - Staes Adam)
-    - 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 ​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í.     * 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. +    * Navrhněte vlastní ​zařízení založené ​na platformě esp32-cam
-    * Navržené ​řešení naprogramujete,​ zdokumentujte a řádně otestujte+    * Zařízení bude splňovat tyto požadavky: 
-    * Požadavky: +      ​- pořízení snímku při detekci pohybu na SD kartu
-      ​* vyberte vhodný programovací jazyk pro OS Android a platformu Arduino+      ​- se zařízením bude možné komunikovat ​es SMS příkazy a síť WIFI
-      ​* sdílené proměnné mezi oběma ​zařízeními budou enášený s pomocí formátu JSON+      ​- zařízení ​umožní ​odeslání pořízené fotografie na email přes GPRS GSM sítě
-      ​* aplikace pro Android ​umožní ​připojení k zařízení Arduino ​přes Bluetooth+      ​- k určení času pořízení ​snímku ​bude řešení obsahovat RTC obvod. 
-      ​* zařízení ​Arduino ​bude podporovat tyto periferie: tlačítka, displej, LED dioda, GSM modem, +    Navržené ​řešení zrealizujte. 
-      připojení bude provedeno pomocí uživatelského jména a hesla, +    Součástí realizace ​bude vytvoření plošného spoje a vhodného pouzdra. 
-      aplikace ​bude umožňovat více uživatelů s různým typem oprávnění,​ +    Výsledné ​řešení řádně otestujte.
-      * 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+  * **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í. +    * Prozkoumejte existující řešení ​nástrojů vhodných k výuce bezpečnostních kódů
-    * 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+    * Analyzujte problémy studentů při výuce bezpečnostních kódů
-    * Ř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) +    * 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é řešení zrealizujte a řádně otestujte+    * Navrhněte vlastní nástroje vhodné k výuce těchto kódů. 
-    * Požadavky:​ +    Zaměřte se zejména ​na oblast generování,​ dekódování a opravy těchto kódů. 
-      * GPS lokátor bude postaven na platformě ESP32 +    Nástroje budou umožňovat ​generovat nejen výukové notebooky pro program Wolfram Mathematica,​ ale i VHDL kódy a testbenche pro lepší ​edstavu jejich implementace v hardware. 
-      lokátor bude odesílat data na server pomocí GPRS/EDGE +    Nástroj ​bude podporovat i vložení chyby jeji opravu. 
-      * server bude umožňovat zobrazení pozice lokátorů v reálném čase +    Navržené řešení realizujte a řádně otestujte.
-      server bude umožňovat připojení několika lokátorů +
-      server ​bude zaznamenávat polohu ​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 přes GSM bránu (Portable access identification system using NFC technology and communicating via GSM gateway)** (BP - Šimůnek Martin). 
-    * Prozkoumání existující řešení. ​ 
-    * Analyzujte technologii NFC a možnost využití platformy arduino jako ovládací prvek. 
-    * Analyzujte a navrhněte bezpečné řešení s ohledem na omezené zdroje platformy Arduino. ​ 
-    * Navržené zařízení se bude skládat z Arduino mikrokontroleru,​ GSM modulu pro posílání SMS zpráv, čtečky NFC a LCD displeje. 
-    * Komunikace se zařízením bude probíhat přes technologii GSM – formou SMS a za pomoci LCD displeje (základní orientační údaje). 
-    * 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+  * **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 ​řá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 ​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.+ 
 +  ​**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 ​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.
  
-  * **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) +  * **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 Bluetooth tisk+    ​Prozkoumejte existující ​nástroje určené k analýze NFC komunikace
-    ​Analyzujte ​Bluetooth a bezpečnost Bluetooth ​komunikace. +    ​Analyzujte ​technologií SDR (softwarově definovaného rádia). 
-    ​Analyzujte a navrhněte ​řešení které zvýší samotné zabezpečení Bluetooth protokolu+    - Analyzujte technologii NFC, zejména princip ​komunikace ​mezi NFC čtečkou a NFC kartou (MIFARE Classic, MIFARE DESFire, MIFARE Plus)
-    ​* Zaměřte se zejména na řešení, které ​není závislé na použité verzi protokolu Bluetooth+    ​Analyzujte a navrhněte ​způsob pro odposlech NFC komunikace pomoci SDR
-    ​Navržené řešení ​se bude skládat ze: serverové časti pro Raspberry Pi a uživatelské části pro Android zařízení+    ​- Navrhněte přenosné zařízení, které ​bude umožňovat odposlech, záznam a prvotní analýzu NFC komunikace
-    ​* Bluetooth komunikace bude probíhat mezi serverovou a uživatelskou částí+    ​- 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é ​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
 +    ​- Výsledné ​zařízení řádně otestujte.
  
   ​   ​
-===== Available projects =====+===== Available projects ​- FIT =====
  
   1. Arduino HW/SW   1. Arduino HW/SW
Line 151: Line 137:
     * 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 159: Line 146:
     * 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 168: Line 197:
     * vlastní zadání     * vlastní zadání
  
-  ​10. Virtualizace a izolace aplikačních prostředí+  ​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í     * 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     * analýza bezpečnostních chyb využívané technologie docker a možnosti jejich eliminace
Line 177: Line 206:
     * bezpečné (rootless) spuštění více kontejnerů uvnitř kontejneru     * bezpečné (rootless) spuštění více kontejnerů uvnitř kontejneru
  
-  ​11. Orchestrace kontejnerů v distribuovaném on-premise prostředí+  ​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)     * porovnání vlastností využívaných pro jako container runtime (containerd vs docker vs CRI-O)
     * kubernetes vs jeho komerční distribuce (openshift, tanzu)     * kubernetes vs jeho komerční distribuce (openshift, tanzu)
Line 186: Line 215:
     * vytvoření vlastního kubernetes operátora (vlastní zadání)     * vytvoření vlastního kubernetes operátora (vlastní zadání)
  
-  ​12. Podpora vývoje a administrace prostředí prostřednictvím automatizace+  ​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 praktik DevOps přístupu, GitOps, SecOps, ChatOps, AIOps
     * analýza a představení SRE (Site reliability engineering) praktik     * analýza a představení SRE (Site reliability engineering) praktik
Line 197: Line 226:
     * návrh procesů pro validaci aplikací před jejich nasazením prostřednictvím testů     * návrh procesů pro validaci aplikací před jejich nasazením prostřednictvím testů
  
-  ​13. Projekty zadané externím zadavatelem+  ​5. Projekty zadané externím zadavatelem
     * seznam zadavatelů níže     * seznam zadavatelů níže
  
Line 220: 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]]
project/proj_list.txt · Last modified: 2024/02/15 10:30 by xkubalik