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 [2021/02/03 08:54] xkubalik [Current projects] |
project:proj_list [2022/09/13 09:19] xkubalik |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== All projects ====== | ====== All projects ====== | ||
===== Current projects ===== | ===== Current projects ===== | ||
+ | |||
+ | |||
+ | * **Řídící jednotka pro vzdálené monitorování a ovládání vytápění rodinného domu (Control unit for remote monitoring and control of family house heating)** (BP - Bukač Jakub) | ||
+ | - Prozkoumejte existující řešení. | ||
+ | - Navrhněte vlastní řešení pro vzdálené monitorování a ovládání vytápění rodinného domu. | ||
+ | - Pro řídicí jednotku vyberte vhodný procesor. | ||
+ | - Řídicí jednotka bude splňovat tyto požadavky: | ||
+ | * komunikace přes mobilní GSM bránu, | ||
+ | * zobrazení údajů přes OLED displej, | ||
+ | * měření času s pomocí RTC, | ||
+ | * měření teploty. | ||
+ | - Navržené řešení zrealizujte a řádně otestuje. | ||
+ | - Pro řídicí jednotku napište vhodný SW pro demonstraci správné funkce zařízení. | ||
+ | |||
+ | * **Modulární monitorovací systém správného chodu serverovny (The modular monitoring system used for the server room)** (BP - Čtvrtečka Karel) | ||
+ | - Prozkoumejte existující řešení. | ||
+ | - Navrhněte vlastní řešení pro monitorování chodu serverovny. | ||
+ | - Základem systému bude řídicí jednotka a množina modulů obsahujících senzory . | ||
+ | - Řídící jednotka bude umožňovat: | ||
+ | * stahování dat z čidel, | ||
+ | * uchovávání historie dat v DB, | ||
+ | * možnost nastavení upozornění na překročení limitů hodnot, | ||
+ | * komunikaci přes ethernet. | ||
+ | - Modul senzorů bude splňovat: | ||
+ | * univerzální deska s podporou čidel přes UART, SPI, I2C, Analog, | ||
+ | * jednoduchá rozšiřitelnost. | ||
+ | - Pro komunikaci řídicí desky a modulů zvolte vhodný komunikační protokol. | ||
+ | - Výsledné řešení zrealizujte a řádně otestujte. | ||
+ | |||
+ | |||
+ | * **Řídicí jednotka pro individuálně adresovatelné led pásky s Raspberry Pi Zero (Control unit for individually addressable led strips using Raspberry Pi Zero)** - (BP - Krýcha Miroslav) | ||
+ | - Prozkoumejte existující řešení. | ||
+ | - Navrhněte vlastní řešení řídicí jednotky pro připojení led pásky. | ||
+ | - Řídicí jednotka bude splňovat tyto požadavky: | ||
+ | * možnost připojení dvou a více led pásků, | ||
+ | * podpora více typu led. Alespoň jeden 12V a 5V, | ||
+ | * jednotku bude možno ovládat pomocí tlačítek, dálkového ovládání a SSH, | ||
+ | * pro obsluhu k jednotce připojte Waveshare 2.7 e-ink display a vytvořte vhodné grafické rozhraní, | ||
+ | * jednotka bude obsahovat senzor zvuku a světla sloužících k automatickému spouštění. | ||
+ | - Navržené řešení zrealizujte a řádně otestujte. | ||
+ | |||
+ | * **Řídicí jednotka pro vzdálenou správu domácnosti s ESP32 (The remote management control unit of home devices based on the ESP32 platform)** - (BP - Muzika Zdeněk) | ||
+ | - Prozkoumejte existující řešení. | ||
+ | - Navrhněte vlastní řešení řídicí jednotky pro vzdálenou správu elektrických zařízení v domácnosti. | ||
+ | - Řídicí jednotka bude splňovat tyto požadavky: | ||
+ | * možnost přístupu k jednotce pomocí pevného i bezdrátového spojení, | ||
+ | * jednotku bude možné ovládat z internetu, | ||
+ | * jednotka bude obsahovat displej a tlačítka pro možnost nastavení základních parametrů, | ||
+ | * jednotka bude umožňovat ovládat zařízení v domácnosti s pomocí relé, sériové linky a rozšiřujícího portu, | ||
+ | * jednotka bude schopna zjistit aktuální stav externích zařízení s pomocí sériové linky a rozšiřujícího portu. | ||
+ | - Nevržené řešení zrealizujte. | ||
+ | - Pro výsledné zařízení napište obslužný program umožňující přístup k řídicí jednotce přes webové rozhraní. | ||
+ | - Výsledné řešení řádně otestujte. | ||
+ | |||
+ | |||
+ | |||
+ | * **Platforma pro měření efektivity komunikace mikrokontroleru Arduino s externími senzory(The communication effectivity measure platform of Arduino microcontroller handling external sensors)** - (BP - Kocourek Matěj) | ||
+ | - Prozkoumejte existující řešení pro měření efektivity komunikace při obsluze většího množství senzorů. | ||
+ | - Navrhněte vlastní zařízení umožňující připojení většího množství externích senzorů k platformě Arduino. | ||
+ | - Navržené řešení bude umožňovat analýzu využité paměti, procesorového času a elektrické energie v závislosti na počtu připojených externích senzorů. | ||
+ | - Pro komunikaci mezi mikrokontrolerem Arduino a externími senzory použijte protokol RS485. | ||
+ | - Navržené řešení zrealizujte a řádně otestujte. | ||
+ | - V jazyce C++ napište obslužnou aplikaci Arduina. | ||
+ | - Pro účely testování a analýzy spotřeby zdrojů vytvořte aplikaci v C++ pro OS Windows emulující velké množství senzorů. | ||
+ | - Na základě získaných výsledků navrhněte algoritmus pro efektivní obsluhu velkého množství senzorů s pomocí mikrokontroleru Arduino. | ||
+ | |||
+ | |||
+ | |||
+ | * **Řídicí systém pro model terénního vozítka založený na platformě Arduino (The control system used for terrain vehicle model based on Arduino platform)** - (DP - Zemánek Martin) | ||
+ | - Prozkoumejte existující možná řešení pro dálkové ovládání vozítek. | ||
+ | - Pro návrh řízení vozítka vyberte vhodný model obsahující 6 samostatně řiditelných kol. | ||
+ | - Navrhněte vlastní řešení řízení vozítka s pomocí platformy Arduino za následujících podmínek: | ||
+ | * každá dvojice kol bude mít vlastní řízení ovládané samostatným arduinem, | ||
+ | * řízení bude umožňovat jízdu všemi směry, | ||
+ | * řízení bude centrálně ovládáno hlavní deskou s Arduinem, | ||
+ | * veškeré řízení pohybu vozítka bude provedeno pomocí dálkového ovládání, | ||
+ | * vozítko bude na sobě obsahovat další senzory potřebné pro pohyb a detekci překážek pro všechny směry, | ||
+ | * vozítko bude umět automaticky měnit maximální rychlost v závislosti na vzdálenosti od překážky, a ve všech směrech možného pohybu. | ||
+ | - Počítejte s možným pozdějším rozšířením o platformu Raspberry PI umožňující použití například rozhraní wifi, SD karty a přídavné kamery. | ||
+ | - Navržené řešení zrealizujte a řádně otestujte. | ||
+ | |||
+ | |||
+ | |||
+ | * **Inovace řadiče pro grafický LCD displej elektronického psacího stroje (The controller innovation of graphical LCD display used in electronic typewrite)** - (BP - Pankovčin Boris) | ||
+ | - Prozkoumejte existující řešení ovládání LCD displeje psacího stroje typu Triumph-Adler Gabriele PFS. | ||
+ | - Z dokumentace k radiči MSM6255 analyzujte a na existujícím řešení ověřte průběhy pro ovládání displeje. | ||
+ | - Na základě získaných dát navrhněte a zrealizujte vlastní řadič displeje s pomocí FPGA obvodu. | ||
+ | - Pro účel testování propojte navrhnutý radič s vývojovou deskou RaspberryPI. | ||
+ | - Výsledné řešení řádně otestujte | ||
+ | |||
+ | |||
+ | * **Android aplikace pro dálkové ovládání platformy Arduino (An android application for remote control of the Arduino platform)** - (BP - Denissyuk Andrey) | ||
+ | - 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 a 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í. | ||
+ | * 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) | * **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) | ||
Line 71: | Line 188: | ||
* Navržené zařízení zrealizujte a řádně otestujte. | * Navržené zařízení zrealizujte a řádně otestujte. | ||
- | * **Návrh spolehlivých systémů v FPGA s použitím bezpečnostních kódů (Design of dependable system based on error control codes for FPGA)** - (DP - Pail Vojtěch) | ||
- | * Prozkoumejte existující metody řešení. | ||
- | * Analyzujte vlastnosti různých typů kombinačních obvodů pomocí sady benchmarků z hlediska odolnosti proti poruchám. Využijte simulační software dostupný na KČN. | ||
- | * Na základě takto získaných dat nalezněnte vhodný bezpečnostní kód, který bude schopen tyto poruchy detekovat, popř. i opravovat tak, aby redundance (area ovehead) byla co nejmenší. | ||
- | * Specifikujte požadavky na úpravu simulačního softwaru tak, aby obsahoval podporu pro výběr nejvhodnějšího kódu. | ||
- | * Navržený způsob řešení ověřte na několka příkladech konkrétních obvodů a kódů. | ||
- | * Vytvořte klasifikaci obvodů s hlediska možností opravy/detekce poruch. | ||
- | |||
- | |||
- | |||
- | * ** Nástroj pro generování bezpečnostních kódu ve VHDL s pomocí programu Wolfram Mathematica (Error control code generator tool in VHLD language using Wolfram Mathematica)** - (BP - Ganeev Timur) | ||
- | - Prozkoumejte existující řešení. | ||
- | - Navrhněte a naprogramujte nástroj (sadu nástrojů) v prostředí Wolfram Mathematica umožňující generovat bezpečnostní kódy. | ||
- | - Vstupem do generátoru budou základní parametry pro zvolený bezpečnostní kód (počet vstupních vodičů, název výstupních souboru apod.). | ||
- | - Výstupem generátoru budou 3 VHDL soubory sloužící jako kodér, dekodér a testbench pro zvolený kód. | ||
- | - Zaměřte se zejména na základní paralelní kódy: sudá parita, Hammingův kód rozšířený Hammingův kód a dále pak na seriové kódy, jako jsou kódy generované mnohočleny (cyklický kód). | ||
- | - Pro každý kód vytvořte několik příkladů, na kterých v simulačním nástroji ModelSim ukážete správnou funkci generovaných souborů. | ||
- | - Zároveň pro každý vytvořený příklad zjistěte spotřebované zdroje při implementaci v FPGA obvodu. | ||
- | - Výsledné řešení řádně otestujte. | ||
- | |||
- | * ** Nástroj pro generování násobiček a děliček ve VHDL s pomocí programu Volfram Mathematica (Multiplier and divider circuit generator tool in VHLD language using Wolfram Mathematica)** - (BP - <del>Kougl Ladislav</del>) | ||
- | - Prozkoumejte existující řešení. | ||
- | - Navrhněte a naprogramujte nástroj (sadu nástrojů) v prostředí Wolfram Mathematica umožňující generovat násobičky a děličky. | ||
- | - Vstupem do generátoru násobičky a děličky bude typ operace, šířka vodičů a počet bitů na číslici. | ||
- | - Generátor násobičky bude umožňovat násobení čísel bez znaménka, čísel v doplňkovém kódu a to i za použití relativních číslic. | ||
- | - Generátor děliček bude umožňovat dělit celá čísla a čísla menší než jedna. Zaměřte se i na použití dělení čísel využívající metody SRT. | ||
- | - Pro každý typ násobení a dělení vytvořte několik příkladů, na kterých v simulačním nástroji ModelSim ukážete správnou funkci generátorů. | ||
- | - Zaměřte se na prezentaci algoritmu násobení a dělení v programu Wolfram Mathematica tak, aby byl zřejmý jejich princip. | ||
- | - Výsledné řešení řádně otestujte. | ||
| | ||
===== Available projects ===== | ===== Available projects ===== | ||
Line 115: | Line 203: | ||
* 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 148: | Line 237: | ||
* 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 160: | Line 250: | ||
* aplikace pro zpracování a generování dat podle šablon | * aplikace pro zpracování a generování dat podle šablon | ||
- | 9. Projekty zadané externím zadavatelem | + | 9. 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í | ||
+ | |||
+ | 10. 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 | ||
+ | |||
+ | 11. 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í) | ||
+ | |||
+ | 12. 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ů | ||
+ | |||
+ | 13. Projekty zadané externím zadavatelem | ||
* seznam zadavatelů níže | * seznam zadavatelů níže | ||