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 [2019/01/29 12:04]
xkubalik [Current projects]
project:proj_list [2023/02/07 15:24]
xkubalik [Current projects]
Line 2: Line 2:
 ===== Current projects ===== ===== Current projects =====
  
-  * ** Grafické uživatelské rozhraní (GUI) pro definování funkcionality vývodů mikrokontroléru a generování kostry kódu jazyku C (A graphical user interface (GUI) for clock domains setting ​in specified microcontroller and C language skeleton generator)** (BP - Tamarkov Dmitriy+  * **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 vlastní ​řešení vyhovující níže uvedeným požadavkům+    ​* Analyzujte problémy studentů při výuce bezpečnostních kódů. 
-    ​- Navržené ​řešení naprogramujte, řádně ho zdokumentujte ​otestujte+    ​* Zaměřte se zejména na tyto kódy: sudá paritakřížová parita, Hammingův kód, rozšířený i zkrácený Hammingův kód, cyklický kód, součinový kód RM kód
-    ​- Požadavky:​ +    * Navrhněte vlastní nástroje vhodné k výuce těchto kódů. 
-      ​aplikace bude napsána v jazyce Python +    Zaměřte se zejména na oblast generování,​ dekódování a opravy těchto kódů. 
-      uživatelské rozhraní bude napsáno v anglickém jazyce +    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 ​hardware. 
-      uživatelské rozhraní ​umožní nastavení funkcionality vývodů mikrokontroléru +    Nástroj bude podporovat i vložení chyby jeji opravu. 
-      * všechna možná nastavení ​iřazení ​mikrořadiči budou popsána v JSON formátu +    Navržené řešení realizujte a řádně otestujte.
-      uživatelské rozhraní umožní čtení ​zápis uživatelem zvolené konfigurace ve formátu JSON +
-      uživatelské rozhraní umožní vygenerovat kostru v jazyku C, která bude implementovat funkcionalitu (přiřazení funkce k vývodu obvodu), která byla nastavena uživatelem v uživatelském rozhraní+
  
  
 +  * **Programovatelná elektronická zátěž (Programmable electronic load)** (BP - Pánek Miloš)
 +    - Prozkoumejte existující řešení programovatelné elektronické zátěže.
 +    - Analyzujte problémy současných řešení a navrhněte vlastní řešení.
 +    - Navržené řešení bude podporovat tyto režimy: stálý proud, stálý odpor, stálý výkon a stálé napětí.
 +    - Programovatelná zátěž bude splňovat tyto požadavky:
 +      - nastavení všech parametru zátěže přes rozhraní na samotném zařízení,​
 +      - komunikace s PC aplikací přes bluetooth, USB a wifi,
 +      - 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 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.
  
  
-  * ** Aplikace ​pro ovládání ​zařízení v chytré domácnosti vytvořené na platformě RaspberryPi ​(An application ​for devices ​controlling ​in a SmartHome realized with the Raspberry Pi platform)** (BP - Chyský Adam+  * **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 vlastní ​řešení vyhovující níže uvedeným požadavkům+    - Zaměřte se zejména na tyto periférie: OLED displej, alfanumerický displej, tlačítka, přepínače, led diody
-    - Implementujte funkční prototyp, ​řádně ​ho zdokumentujte a otestujte. +    - Navrhněte vlastní knihovnu zaměřenou na ovládání periferií zejména přes sběrnici I2C. 
-    - Požadavky: +    - Navrženou knihovnu zrealizujte a řádně otestujte. 
-      * aplikace bude napsána ​pro platformu Raspberry PI +    - Pro demonstraci správné funkce periférií napište obslužnou aplikaci ​pro FPGA Artix-7. 
-      * ovládací zařízení ​bude obsahovat ​dotykový displej +    - Aplikace ​bude obsahovat ​menu pro volbu testování periférií ​nastavení obsahu registrů. 
-      * aplikace bude umožňovat ovládání RGBW světel, klimatizace a vypínačů +    - Výsledné ​řešení řádně otestujte. ​
-      * aplikace bude umožňovat sledovat teplotu a množství CO2 +
-      * analyzovat a zvolte vhodný programovací jazyk a prostředí ​pro realizaci aplikace +
-      * analyzujte možnosti bezdrátového spojení jednotek s ovládacím zařízením a vyberte optimální technologií +
-      * analyzujte komunikační protokoly na aplikační vrstvě ​vyberte optimální způsob komunikace +
-      * při návrhu architektury aplikace počítejte s budoucím rozšířením o další moduly+
  
-  * **Meteorologická stanice v chytré domácnosti založená na platformě Arduino (The weather station for SmartHome based on the Arduino platform)** - (BP - Švec Michal) 
  
-    ​- Prozkoumejte existující řešení. +  * **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) 
-    - Pomocí metod softwarového inženýrství ​navrhněte ​vlastní ​řešení vyhovující níže uvedeným požadavkům+    - Analyzujte technologii SDR(softwarově definovaného rádia) a jeho možnosti pro odchytávání bezdrátových zařízení. 
-    - Implementujte funkční prototyp, řádně ho zdokumentujte ​otestujte+    - Zaměřte se zejména na zařízení pracující v pásmu 433MHz a 868MHz. 
-    - Požadavky: +    ​- Prozkoumejte existující řešení ​pro odchytávání a analýzu těchto zařízení
-      * stanice bude poskytovat ​měření teploty a vlhkosti +    - 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
-      * jako řídící platformu použijte Arduino s procesorem ATmega2560 +    - Nástroj by měl být tvořen knihovnou ​grafickým rozhraním pro odposlech a zpracování naměřených dat
-      * aplikaci implementujte ​jazyku C +    - Podporována budou zejména zařízení typubezdrátový teplotní senzor, bezdrátové senzory v automobilu a bezdrátové ​měřiče tepla domácnostech. ​ 
-      * aplikace ​umožní: +    - Nastroj bude umožňovat analyzovat přenos, to jak nešifrovanýtak i šifrovaný. 
-        * ověření identity uživatele pomocí jména a kódu +    - 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. 
-        * záznam naměřených dat jejich odesílání +    - Navržené ​řešení zrealizujte ​řádně otestujte.
-        * komunikaci a konfiguraci pomocí SMS zprávemailů a bluetooth +
-      * každý modul systému (čidlakomunikační moduly, ...) bude realizován jako samostatná knihovna v jazyku C +
-      * při návrhu architektury aplikace počítejte s budoucím rozšířením o další moduly +
-      * navrhněte ​implementujte jednoduchou aplikaci pro OS Android, která umožní základní konfiguraci pomocí bluetooth+
  
-  * ** Nástroj ​pro měření spotřeby systémových zdrojů OS linux při obsluze externích HW klientů na platformě Raspberry Pi (OS Linux resource consumption measurement tool during handling of external devices for the Raspberry Pi platform)** (BP - Kňazovický Marek+  * **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 ​a analyzujte ​existující ​nástroje a knihovny ​umožňující ​měření spotřeby systémových zdrojů pro OS Linux+    ​Prozkoumejte existující ​řešení ​umožňující ​ovládání aplikace Adobe Lightroom s hardwarového ovladače
-    ​Navrhněte vlastní ​knihovnu pro testování a měření využití systémových zdrojů (paměť, procesor, sítě). +    ​Navrhněte vlastní ​zařízení fungující jako samostatný ovladač splňující tyto požadavky: 
-    * Při návrhu zohledněte omezené prostředky platformy Raspberry PI pro kterou ​bude knihovna navržena. +      ​- komunikace s aplikací ​bude realizována ​přes USB a Bluetooth, 
-    * Samotné testování bude zaměřeno zejména na obsluhu mnoha síťových klientů připojených ​přes síťové rozhraní k platformě Raspberry PI. +      - ovladač bude umožňovat čtení vstupů z encodérů, tlačítek a Hallových senzorů, 
-    * HW klienti budou komunikovat s pomocí wifi modulu postaveném na čipu ESP8266. +      ​- ovladač bude napájen z baterie
-    * Pro komunikaci knihovny s HW klienty vyberte vhodný komunikační protokol+    ​Navržený ovladač ​zrealizujte ​a naprogramujte
-    ​Navržené řešení ​zrealizujte. +    ​Pro PC vytvořte ​vlastní aplikaci umožňující zpracování dat z ovladače a jejich přenos do aplikace Adobe Lightroom Classic
-    ​Pro navrženou knihovnu ​vytvořte ​testovací nástroj, který bude demonstrovat využití zrealizované knihovny+    ​- Aplikace v PC bude dále umožňovat nastavení chování ovladače ​nastavenou ​konfiguraci ​ukládat lokálně
-    ​* Pro ovládání klientů ​a konfiguraci ​napište jednoduchou aplikaci pro OS Android+    ​Výsledné řešení ​řádně ​otestujte.
-    ​Výsledné řešení 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 ​- FIT =====
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
-    +
-===== Available projects =====+
  
   1. Arduino HW/SW   1. Arduino HW/SW
Line 86: Line 82:
     * řízení modelu auta     * řízení modelu auta
     * generator analogových průběhů     * generator analogových průběhů
 +    * přípravky pro desku digilent CMOD A7/S7 (displej, tlačítka, switche, atd.)
 +    * návrh hardware pro desku digilent CMOD A7/S7
     * vlastní zadání     * vlastní zadání
 +    * 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í
     * matematické funkce realizované v HW     * matematické funkce realizované v HW
 +    * aritmetický procesor v GF(2^2^n)
 +    * efiktivita protokolů pro předmět BI-PSI
     * vlastní zadání     * vlastní zadání
  
Line 102: Line 104:
     * vlastní zadání     * vlastní zadání
  
-  4. Jazyk VHDL+  4. Jazyk VHDL / desky FPGA
     * návrh hardware pro bezpečnostní kódy     * návrh hardware pro bezpečnostní kódy
     * generátor průběhů (sinusovka, obdelník, trojuhelník)     * generátor průběhů (sinusovka, obdelník, trojuhelník)
Line 109: Line 111:
     * implementace procesoru/​periferié procesoru (ARM, Z80, AVR, ...)     * implementace procesoru/​periferié procesoru (ARM, Z80, AVR, ...)
     * HW podpora SoC (Zynq)     * HW podpora SoC (Zynq)
 +    * aritmetický procesor v GF(2^2^n)
     * Hry pro FPGA     * Hry pro FPGA
     * vlastní zadání     * vlastní zadání
Line 117: 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 126: Line 130:
     * aplikace pro práci s hardware (raspberry PI, Arduino a jiné)     * aplikace pro práci s hardware (raspberry PI, Arduino a jiné)
  
-  8. Projekty zadané externím zadavatelem+  8. Python 
 +    * aplikace pro zpracování a generování dat podle šablon 
 + 
 +  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 147: Line 234:
 **BP a DP defended works on CTU in Prague FEL/FIT:** [[https://​dspace.cvut.cz|BP a DP]] **BP a DP defended works on CTU in Prague FEL/FIT:** [[https://​dspace.cvut.cz|BP a DP]]
  
-===== All projects archives 2004 - 2018 =====+===== 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:​2019:​proj_2019|Realized projects 2019]]
   *[[project:​2018:​proj_2018|Realized projects 2018]]   *[[project:​2018:​proj_2018|Realized projects 2018]]
   *[[project:​2017:​proj_2017|Realized projects 2017]]   *[[project:​2017:​proj_2017|Realized projects 2017]]
project/proj_list.txt · Last modified: 2024/02/15 10:30 by xkubalik