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 [2018/08/20 13:00] xkubalik [Available projects] |
project:proj_list [2023/02/13 08:50] xkubalik [Current projects] |
||
---|---|---|---|
Line 2: | Line 2: | ||
===== Current projects ===== | ===== Current projects ===== | ||
- | * **připravuje se** | + | * **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í. | ||
+ | * Navrhněte vlastní zařízení založené na platformě esp32-cam. | ||
+ | * Zařízení bude splňovat tyto požadavky: | ||
+ | - pořízení snímku při detekci pohybu na SD kartu, | ||
+ | - se zařízením bude možné komunikovat přes SMS příkazy a síť WIFI, | ||
+ | - zařízení umožní odeslání pořízené fotografie na email přes GPRS GSM sítě, | ||
+ | - 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á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. | ||
+ | * **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. | ||
+ | * **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í ovládání periferií z FPGA obvodu firmy XILINX. | ||
+ | - Zaměřte se zejména na tyto periférie: OLED displej, alfanumerický displej, tlačítka, přepínače, led diody. | ||
+ | - Navrhněte vlastní knihovnu zaměřenou na ovládání periferií zejména přes sběrnici I2C. | ||
+ | - Navrženou knihovnu zrealizujte a řádně otestujte. | ||
+ | - Pro demonstraci správné funkce periférií napište obslužnou aplikaci pro FPGA Artix-7. | ||
+ | - Aplikace bude obsahovat menu pro volbu testování periférií a nastavení obsahu registrů. | ||
+ | - 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. | ||
+ | - 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í 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. | ||
+ | * **Aplikace pro chytrou domácnost využívající rádiové spojení jednotek s Raspberry Pi** (BP - Zoreník Pavel) | ||
+ | - 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: | ||
+ | - webová aplikace na platformě Raspberry Pi (konfigurace zařízení), | ||
+ | - 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í, | ||
+ | - jednotlivá zařízení STM32, prostředí Arduino, | ||
+ | - komunikace zařízení přes rádiový modul RFM69, | ||
+ | - provoz zařízení na baterii, | ||
+ | - sledování teploty, ovládání zásuvek. | ||
- | + | | |
- | ===== Available projects ===== | + | ===== Available projects - FIT ===== |
1. Arduino HW/SW | 1. Arduino HW/SW | ||
Line 25: | Line 108: | ||
* NFC a bezkontaktní karty | * NFC a bezkontaktní karty | ||
* univerzální desky s různými periferiemi | * univerzální desky s různými periferiemi | ||
+ | * řízení modelu auta | ||
+ | * 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í | ||
+ | * 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 kriptografií | + | * 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í | ||
3. Visual C++/C# | 3. Visual C++/C# | ||
* aplikace pro komunikaci s periferiemi v PC | * aplikace pro komunikaci s periferiemi v PC | ||
* aplikace pro komunikaci s procesorem Zynq | * aplikace pro komunikaci s procesorem Zynq | ||
+ | * aplikace pro správu projektu ve VHDL | ||
+ | * překladače | ||
+ | * grafické aplikace pro výuku | ||
+ | * vlastní zadání | ||
- | 4. Jazyk VHDL | + | 4. Jazyk VHDL / desky FPGA |
- | * návrh kódů pro bezpečnostní kódy | + | * návrh hardware pro bezpečnostní kódy |
+ | * generátor průběhů (sinusovka, obdelník, trojuhelník) | ||
+ | * osciloskop | ||
* návrh hardware pro realizaci matematických funkcí | * návrh hardware pro realizaci matematických funkcí | ||
+ | * implementace procesoru/periferié procesoru (ARM, Z80, AVR, ...) | ||
+ | * HW podpora SoC (Zynq) | ||
+ | * aritmetický procesor v GF(2^2^n) | ||
+ | * Hry pro FPGA | ||
+ | * vlastní zadání | ||
5. Plošné spoje | 5. Plošné spoje | ||
* návrh zařízení s porcesorem atmel + drobné periferié | * návrh zařízení s porcesorem atmel + drobné periferié | ||
* zařízení s nízkou spotřebou | * zařízení s nízkou spotřebou | ||
+ | * 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í | ||
+ | |||
+ | 7. Android | ||
+ | * aplikace pro práci s hardware (raspberry PI, Arduino a jiné) | ||
+ | |||
+ | 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 | ||
**Pokud máte o téma zájem, napište mi email. Rezervace v systému bpm nemá žádnou váhu. Pokud se Vám nelíbí žádné z nabízených témat, koukněte do archívu dostupných zadání.** | **Pokud máte o téma zájem, napište mi email. Rezervace v systému bpm nemá žádnou váhu. Pokud se Vám nelíbí žádné z nabízených témat, koukněte do archívu dostupných zadání.** | ||
- | *[[project:2018:proj_archiv|Archiv dostupných projektů]] | + | *[[project:2018:proj_archiv|Návrhy zadání dostupných projektů]] |
- | ===== Paid available projects ===== | + | |
+ | |||
+ | ===== Projekty zadané externím zadavatelem ===== | ||
+ | * [[project:eaton:proj_eaton|EATON HW/SW]] | ||
Line 63: | Line 262: | ||
**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]] |