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 [2020/02/04 08:58]
xkubalik
project:proj_list [2023/02/07 15:24]
xkubalik [Current projects]
Line 2: Line 2:
 ===== Current projects ===== ===== Current projects =====
  
-  * **Dálkově ovládané 4kolé vozítko využívající platformu Arduino ​(4-wheels vehicle using the Arduino platform with a remote control ​)** (BP - Zemá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
-    * Prozkoumejte existující řešení ​dálkově ovládaných 4kolých vozítek +    * Prozkoumejte existující řešení ​nástrojů vhodných k výuce bezpečnostních kódů. 
-    * Navrhněte vlastní ​řešení řízení 4kolého vozítka s pomocí platformy Arduino +    * Analyzujte problémy studentů při výuce bezpečnostních kódů. 
-    * Aplikace pro Arduino bude umožňovat ​řízení každého kola takaby bylo možné jezdit ​emi směry+    * Zaměřte se zejména na tyto kódy: sudá paritakřížová parita, Hammingůkód, rozšířený i zkrácený Hammingův kód, cyklický kód, součinový kód a RM kód
-    * Veškeré řízení pohybu vozítka bude provedeno s pomocí dálkového ovládání+    * Navrhněte vlastní nástroje vhodné k výuce těchto kódů
-    * Vozítko bude na sobě obsahovat další senzory potřebné pro pohyb LED diody pro signalizaci směru+    * Zaměřte se zejména ​na oblast generování,​ dekódování a opravy těchto kódů. 
-    * Navržené řešení ​zrealizujte ​a řádně otestujte.+    * 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 jeji opravu
 +    * Navržené řešení ​realizujte ​a řádně otestujte.
  
-  * **Platforma pro podporu interaktivního městského mobiliáře využívající procesor ESP32 (ESP32 Based Platform Supporting Interactive Street Furniture)** - (BP - Topič Jakub) 
-    - 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í zrealizujte,​ naprogramujte,​ řádně ho zdokumentujte a otestujte. 
-    - Požadavky na výsledné řešení: 
-      * podpora nabíjení mobilních zařízení a měření spotřeby přes USB porty 
-      * komunikace s regulátory solárních panelů 
-      * měření napětí záložních baterií 
-      * spínání LED osvětlení a ventilátoru 
-      * měření meteorologických dat (teplota, tlak, vlhkost) 
-      * možnost vzdálené aktualizace firmware 
-      * vzdálená konfigurace zařízení přes webovou aplikaci 
-      * správa uživatelských účtů 
-      * vizualizace naměřených dat 
  
-  * **Platforma pro chytrou domácnost využivající WIFI spojení jednotek s RaspberryPI ​(The smart home platform based on RaspberryPI using WIFI connection)** (BP - Trejdl Tomáš) +  * **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í ​zrealizujtenaprogramujteřádně ho zdokumentujte a otestujte+    - Navržené řešení ​bude podporovat tyto režimy: stálý proudstálý odporstálý výkon a stálé napě
-    - Požadavky: +    - Programovatelná zátěž bude splňovat tyto požadavky: 
-      ​* základem celého zařízení bude webová aplikace běžící na platformě RaspberryPI  +      ​- nastavení všech parametru zátěže přes rozhraní ​na samotném ​zařízení, 
-      * pro jednoltivá ​zařízení ​v domácnosti použijte modul s ESP8266 +      ​- komunikace s PC aplikací přes bluetooth, USB a wifi
-      ​* zařízení spolu budou komunikovat prostřednictvím ​wifi sítě +      - záznam naměřených dat lokálně na SD kartu, 
-      ​* v domácnosti bude možné sledovat teplotu a detekovat otevření dveří +      ​- jednoduchý protokol pro komunikaci s PC s možným rozšířením pro další funkcionalitu. 
-      * ovládat bude možné zásuvky a světla +    - Pro PC navrhněte a naprogramujte aplikaci v jazyce c++ s grafickým rozhraním. 
-      * aplikace ​bude umožňovat ​konfiguraci zařízení s pomocí webové aplikace +    - 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. ​ 
-      * dale bude možné ​graficky zobrazovat ​průběh teploty +    - Parametry zátěže ​bude možné ​průběhu měření měnit podle předem nastavených hodnot. 
-      * zaměřte se hlavne na efektivní práci s větším množstvím modulů +    - Navržené ření zrealizujte a řádně otestujte.
-      * jednoduchý protokol pro komunikaci s možností snadného rozšíření+
  
-  * ** Zařízení pro monitorování a zobrazování informací o aktuálním stavu provozu automobilu (The automotive data logging device)** - (BP - Bohm Jakub) 
-    * Prozkoumejte existující řešení. 
-    * Vyberte vhodnou HW platformu. 
-    * Vyberte vhodný programovací jazyk. 
-    * Navrhněte vlastní řešení splňující tyto požadavky: 
-      * malé kompaktní zařízení 
-      * zařízení bude obsahovat display, GPS modul, akcelerometr,​ RTC obvod, A/D převodníky 
-      * zařízení bude umožňovat zobrazování hodnoty z A/D převodníku a dalších čidel ​ 
-      * bezdrátová komunikace s mobilním telefonem 
-      * možnost konfigurace 
-    * Výsledné řešení zrealizujte a řádně otestujte. 
  
-  * **Dálkově ovládaná meteostanice s nízkou spotřebou (The remotely controlled low power weather station)** (BP - Jilek Vojtěch+  * **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
-    - Navrhněte a zrealizujte zařízení pro vzdálené měření meteorologických dat +    - Zaměřte se zejména na tyto periférie: OLED displej, alfanumerický displej, tlačítka, přepínače, led diody. 
-    - Zařízení bude splňovat tyto požadavky:​ +    - Navrhněte vlastní knihovnu zaměřenou na ovládání periferií zejména přes sběrnici I2C. 
-      * stanice bude poskytovat měření teploty, vlhkosti, tlaku a koncentrace CO2 +    - Navrženou knihovnu zrealizujte ​a řádně otestujte. 
-      * jako řídicí platformu použijte Arduino s procesorem ATmega2560 +    - Pro demonstraci správné funkce periférií napište ​obslužnou aplikaci ​pro FPGA Artix-7. 
-      * zařízení bude komunikovat s pomocí bluetooth ​SMS zpráv s mobilním telefonem +    - Aplikace bude obsahovat menu pro volbu testování periférií a nastavení obsahu registrů. 
-      * pomocí vzdálené komunikace bude možné zařízení konfigurovat +    - Výsledné ​řešení řádně otestujte
-      * zařízení bude umožňovat záznam naměřených dat +
-      * celý návrh bude proveden s ohledem na nízkou spotřebu  +
-      * pro výsledné zařízení naprogramujte ​obslužnou ​aplikací +
-      * aplikaci ​implementujte v jazyku C +
-      * výsledné ​řešení řádně otestujte+
  
  
-  * **Nástroj ​pro tvorbu spolehlivých systémů v FPGA s použitím bezpečnostních kódů ​(A tool used to generate self-checking circuits based on error control codes)** (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í řešení ​testování poruch ​kombinačních obvodech zabezpečených ​bezpečnostními kódy +    - Analyzujte technologii SDR(softwarově definovaného rádiaa jeho možnosti pro odchytávání bezdrátových zařízení. 
-    ​* Analyzujte poruchové chování zadané sady kombinačních obvodů (benchmárků) +    ​- Zaměřte se zejména na zařízení pracující v pásmu 433MHz a 868MHz. 
-    ​* Vytvořte klasifikaci obvodů s hlediska možností opravy/​detekce poruch +    - Prozkoumejte existující řešení ​pro odchytávání a analýzu těchto zařízení. 
-    ​* Navrhněte a naprogramujte ​nástroj pro generování prediktorů pro různé bezpečností kódy +    - Využijte SDR a navrhněte nástroj pro odposlech dat přenášených rádiovým signálem ​pásmu 433MHz a 868 MHz. 
-    ​* Výsledné ​řešení ​zabezpečených kombinačních obvodů ​otestujte ​s ohledem na vznik poruch+    - 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 nastavení chování ovladače a nastavenou konfiguraci ukládat lokálně.
 +    - Výsledné řešení řádně otestujte.
  
-  * **Programovatelný generátor průběhu (sínus, trojúhelník,​ obdélník) (A programmable wave generator (sine, triangle, square))** (BP Hevessy Karel+  * **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í generování průběhů s pomocí DDS generátorů+    - Prozkoumejte existující ​nástroje určené k analýze NFC komunikace
-    - Navrhněte a zrealizujte zařízení pro generování sínusovéhotrojúhelníkového ​obdélníkového průběhu+    - Analyzujte technologií SDR (softwarově definovaného rádia). 
-    - Pro zařízení ​vyberte vhodnou platformu pro řízení DDS generátorů+    - Analyzujte technologii NFC, zejména princip komunikace mezi NFC čtečkou NFC kartou (MIFARE ClassicMIFARE DESFire, MIFARE Plus). 
-    - Zařízení bude možné ovládat s pomocí grafického dotykového displeje+    - Analyzujte ​navrhněte způsob pro odposlech NFC komunikace pomoci SDR
-    - Pro výsledné zařízení ​naprogramujte ​obslužnou aplikaci+    - Navrhněte přenosné ​zařízení, které bude umožňovat odposlech, záznam a prvotní analýzu NFC komunikace
-    - Aplikaci naprogramujte v jazyce C/C+++    - 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. 
-    - Výsledné zařízení 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 ​- FIT =====
-    +
-===== Available projects =====+
  
   1. Arduino HW/SW   1. Arduino HW/SW
Line 97: 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     * 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 116: 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 132: 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 141: 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 164: 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:​2019:​proj_2019|Realized projects 2019]]   *[[project:​2019:​proj_2019|Realized projects 2019]]
   *[[project:​2018:​proj_2018|Realized projects 2018]]   *[[project:​2018:​proj_2018|Realized projects 2018]]
project/proj_list.txt · Last modified: 2024/02/15 10:30 by xkubalik