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 [2020/01/14 16:25] xkubalik [Current projects] |
project:proj_list [2022/01/31 13:27] 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) | + | * **Ří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í řešení dálkově ovládaných 4kolých vozítek | + | - Prozkoumejte existující řešení dálkově ovládaných vozítek. |
- | * Navrhněte vlastní řešení řízení 4kolého vozítka s pomocí platformy Arduino | + | - Pro návrh řízení vozítka vyberte vhodný model obsahující 6 samostatně řiditelných kol. |
- | * Aplikace pro Arduino bude umožňovat řízení každého kola tak, aby bylo možné jezdit všemi směry. | + | - Navrhněte vlastní řešení řízení vozítka s pomocí platformy Arduino. |
- | * Veškeré řízení pohybu vozítka bude provedeno s pomocí dálkového ovládání. | + | - Aplikace pro Arduino bude umožňovat řízení každého kola tak, aby bylo možné jezdit všemi směry. |
- | * Vozítko bude na sobě obsahovat další senzory potřebné pro pohyb a LED diody pro signalizaci směru. | + | - Cele zařízení bude navrženo s ohledem na pozdější rozšíření 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. | + | - 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. | ||
+ | - 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 - Pankovič Boric) | ||
+ | - 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 | ||
- | * **Platforma pro podporu interaktivního městského mobiliáře využívající procesor ESP32 (The basic platform used for interactive street furniture based on ESP32 processor)** - (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í 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 vzálené aktualizacé firmware | ||
- | * existence uživatleských účtů | ||
- | * vzdálená správa přes webovou aplikaci | ||
- | * správa a konfigurace externích zařízení (meteorologická data, IP adresa) | ||
- | * 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áš) | + | * **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í. | - 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. | - 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. | + | - Navržené řešení naprogramujte, řádně ho zdokumentujte a otestujte. |
- Požadavky: | - Požadavky: | ||
- | * řídicí část bude využívat existující platformu RaspberryPI | + | * aplikace bude navržena jako mobilní aplikace pro OS Android |
- | * pro jednoltivá zařízení v domácnosti použijte modul s ESP8266 | + | * aplikace umožní spojení aplikace z Arduinem pomoci Wifi |
- | * zařízení spolu budou komunikovat prostřednictvím wifi sítě | + | * pro komunikaci bude zvolen vhodný protokol |
- | * v domácnosti bude možné sledovat teplotu a detekovat otevření dveří | + | * aplikace bude umožňovat ověření uživatele s pomocí jména a hesla |
- | * ovládat bude možné zásuvky a světla | + | * aplikace bude umožňovat přidání uživatelů s různým typem oprávnění |
- | * aplikace bude umožňovat konfiguraci zařízení s pomocí webové aplikace | + | * aplikace umožní zobrazit několik různých pohledu (seznamu proměnných) stavu procesoru Arduina |
- | * dale bude možné graficky zobrazovat průběh teploty | + | * aplikace umožní měnit obsah proměnných v procesu Arduina |
- | * zaměřte se hlavne na efektivní práci s větším množstvím modulů | + | |
- | + | ||
+ | * **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) | ||
+ | * 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) | ||
+ | * Prozkoumejte existující řešení. | ||
+ | * 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. | ||
+ | * Ř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) | ||
+ | * Navržené řešení zrealizujte a řádně otestujte. | ||
+ | * Požadavky: | ||
+ | * GPS lokátor bude postaven na platformě ESP32 | ||
+ | * lokátor bude odesílat data na server pomocí GPRS/EDGE | ||
+ | * server bude umožňovat zobrazení pozice lokátorů v reálném čase | ||
+ | * server bude umožňovat připojení několika lokátorů | ||
+ | * server bude zaznamenávat polohu a 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) | ||
+ | * 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. | ||
+ | * Dodržte členění na výukové scénáře a balíčky a zachovejte jejich formát. | ||
+ | * Zaměřte se především na Fireovy kódy, součinové kódy, RM kódy, nebinární BCH kódy a RS kódy, Goppa kódy a kódy konvoluční. | ||
+ | * V dostatečné míře nastudujte a zdokumentujte příslušnou matematickou teorii. | ||
+ | * Navržené řešení zrealizujte a řádně otestujte. | ||
+ | * Vytvořte několik příkladů použití každého kódu. | ||
+ | * Využijte získaných poznatků ke zmapování současného stavu použití bezpečnostních kódů v kryptografii. | ||
+ | * **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) | ||
+ | * Prozkoumejte existující řešení. | ||
+ | * Pomocí metod softwarového inženýrství navrhněte a naprogramujte aplikaci pro generování základních struktur VHDL kódu. | ||
+ | * Vytvořte několik šablon ukazujících práci s aplikací. | ||
+ | * Výsledné řešení řádně otestujte. | ||
+ | * Požadavky: | ||
+ | * Aplikace bude napsaná v jazyce C++ | ||
+ | * Aplikace bude umožňovat vytvářet a upravovat šablony VHDL struktur | ||
+ | * 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. | ||
+ | * **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) | ||
+ | * Prozkoumejte existující řešení pro Bluetooth tisk. | ||
+ | * Analyzujte Bluetooth a bezpečnost Bluetooth komunikace. | ||
+ | * Analyzujte a navrhněte řešení které zvýší samotné zabezpečení Bluetooth protokolu. | ||
+ | * Zaměřte se zejména na řešení, které není závislé na použité verzi protokolu Bluetooth. | ||
+ | * Navržené řešení se bude skládat ze: serverové časti pro Raspberry Pi a uživatelské části pro Android zařízení. | ||
+ | * Bluetooth komunikace bude probíhat mezi serverovou a uživatelskou částí. | ||
+ | * Navržené zařízení zrealizujte a řádně otestujte. | ||
- | + | | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | | + | |
===== Available projects ===== | ===== Available projects ===== | ||
Line 66: | Line 128: | ||
* ří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 85: | Line 150: | ||
* 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 101: | Line 166: | ||
* 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 | ||
Line 110: | Line 175: | ||
* 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. Optimalizace Java aplikací pro horizontální škálování v moderní mikroservisní architektuře | ||
+ | * 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í | ||
+ | * 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í | ||
+ | * 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 | ||
+ | * 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 | ||
Line 133: | Line 239: | ||
===== All projects archives 2004 - 2019 ===== | ===== All projects archives 2004 - 2019 ===== | ||
+ | *[[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]] |