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/03/18 14:06]
xkubalik [Available projects]
project:proj_list [2023/02/07 14:59]
xkubalik [Current projects]
Line 2: Line 2:
 ===== Current projects ===== ===== Current projects =====
  
-  * **Konfigurovatelný terminál pro rychlou komunikaci s externím zařízením s pomocí sériové linky (Configurable terminal for high-speed communication with external devices based on a serial link)** (BP - Kožík Juraj+  * **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í ​naprogramujteřádně ho zdokumentujte a otestujte+    - Navržené řešení ​bude podporovat tyto režimy: stálý proudstálý odpor, stálý výkon a stálé napě
-    - Požadavky: +    - Programovatelná zátěž bude splňovat tyto požadavky: 
-      ​* platforma OS MS Windows +      ​- nastavení všech parametru zátěže přes rozhraní na samotném zařízení,​ 
-      * výběr vhodného programovacího jazyka ​ +      ​- komunikace s PC aplikací přes bluetooth, USB wifi, 
-      ​* třída pro vlastní komunikaci ​definici jednoduchých protokolů +      ​- záznam naměřených dat lokálně na SD kartu, 
-      ​* GUI pro testování a ukázku funkčnosti vytvořené třídy ​ +      ​- jednoduchý protokol pro komunikaci s PC s možným rozšířením pro další funkcionalitu. 
-      ​možnost snadného nastavení parametrů sériové linky včetně ​její dostupnosti +    - Pro PC navrhněte a naprogramujte aplikaci v jazyce c++ s grafickým rozhraním. 
-      * posílaní raw dat po sériové lince maximální dostupnou rychlostí +    - 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. ​ 
-      * posílaní zabezpečených ​dat po sériové lince +    - Parametry zátěže bude možné v průběhu měření měnit podle předem nastavených hodnot. 
-      * posílání souboru +    ​- Navržené řešení zrealizujte a řádně otestujte.
-      * možnost implementace jednoduchého komunikačního protokolu na základě regulárního výrazu +
-    ​+
  
-  * **Bezpečnostní kódy v programu Wolfram Mathematica (Error control codes in Wolfram Mathematica)** - (BP - Koleník Stanislav) 
-    * Prozkoumejte existující řešení podpory práce s bezpečnostními kódy v programu Wolfram Mathematica. 
-    * Navrhněte vlastní řešení pro práci se základními bezpečnostními kódy. 
-    * Zaměřte se zejména na tyto kódy: sudá parita, příčná a podélná parita, Hammingův kód, cyklické kódy, prokládané kódy, LDPC a BCH kódy. 
-    * Při návrhu řešení zohledněte jeho využitelnost pro výukové účely. 
-    * Vytvořte několik vzorových příkladů na práci s bezpečnostními kódy včetně jejich řešení. 
-    * Výsledné řešení řádně otestujte. 
-    * Prozkoumejte metody určování kódové vzdálenosti u lineárních kódů a jejich výpočetní náročnost. 
  
-  * **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+  * **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í ​dálkově ovládaných 4kolých vozítek +    ​Prozkoumejte existující řešení ​ovládání periferií z FPGA obvodu firmy XILINX. 
-    ​Navrhněte vlastní řešení ​řízení 4kolého vozítka s pomocí platformy Arduino +    - Zaměřte se zejména na tyto periférie: OLED displej, alfanumerický displej, tlačítka, přepínače,​ led diody. 
-    ​* Aplikace pro Arduino bude umožňovat ​řízení každého kola tak, aby bylo možné jezdit všemi směry+    ​Navrhněte vlastní ​knihovnu zaměřenou na ovládání periferií zejména přes sběrnici I2C. 
-    ​* Veškeré řízení pohybu vozítka bude provedeno s pomocí dálkového ovládání+    ​- Navrženou knihovnu zrealizujte a řádně otestujte
-    ​* Vozítko ​bude na sobě obsahovat ​další senzory potřebné ​pro pohyb LED diody pro signalizaci směru+    ​- Pro demonstraci správné funkce periférií napište obslužnou aplikaci pro FPGA Artix-7
-    ​* Navržené ​řešení ​zrealizujte a řádně otestujte.+    ​- Aplikace ​bude obsahovat ​menu pro volbu testování periférií ​nastavení obsahu registrů
 +    ​- Výsledné ​řešení řádně otestujte. ​
  
-  * **Realizace základních matematických funkcí s pomocí hardware (Hardware implementation of essential mathematical functions)** - (BP - Brokeš Jan) 
-    * Prozkoumejte existující řešení implementace základních matematických funkcí v jazyce VHDL. 
-    * Zaměřte se zejména na funkce goniometrické,​ logaritmické a druhou odmocninu. 
-    * Vytvořte model výpočtu těchto matematických funkci v programu Wolfram Mathematica. 
-    * Výsledné modely výpočtu matematických funkci převeďte do jazyka VHDL. 
-    * Pro vytvořené řešení vytvořte několik ukázek v jazyce VHDL. 
-    * Výsledné řešení řádně otestujte. 
-    * Při návrhu berte v úvahu následné nasazení materiálu ve výuce. 
  
-  * **Aplikace ​pro řízení a správu vytápění v chytré domácnosti s pomocí ​wifi sítě ​(A heating control application for the SmartHome based on a wifi network)** (BP Hepner Lukáš+  * **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í. +    - Analyzujte technologii SDR(softwarově definovaného rádia) a jeho možnosti pro odchytávání bezdrátových zařízení. 
-    - 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 zařízení pracující v pásmu 433MHz a 868MHz. 
-    - Navržené ​řešení naprogramujte, ​řádně ho zdokumentujte a otestujte+    - Prozkoumejte existující řešení ​pro odchytávání a analýzu těchto zařízení
-    - Požadavky:​ +    - 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
-      * každé vzdálené ​zařízení ​(teplotní ​čidlotermo hlavice, atd.) bude opatřeno wifi modulem +    - Nástroj by měl být tvořen knihovnou a grafickým rozhraním pro odposlech a zpracování naměřených dat
-      * aplikace ​bude umožňovat ​nalézt hlavice ​ipojené k Wi-Fi síti +    - Podporována budou zejména ​zařízení ​typu: bezdrátový ​teplotní ​senzorbezdrátové senzory v automobilu a bezdrátové měřiče tepla v domácnostech. ​ 
-      * aplikace ​bude umožňovat ​vytvářet rozvrhy vytápění ​ty přiřazovat vybraným termo hlavicím +    - Nastroj ​bude umožňovat ​analyzovat ​enos, a to jak nešifrovaný,​ tak i šifrovaný. 
-      * rozvrhy bude možné ukládat a načítat ze souboru ve formátu XML +    - Pokud bude k dispozici klíč pro dešifrování,​ bude nástroj ​umožňovat ​i dešifrování, ​to zejména pro bezdrátové měřiče tepla v domácnostech. 
-      * aplikace bude podporovat více uživatelů s různým typem oprávnění +    - Navržené řešení zrealizujte a řádně otestujte.
-      * aplikace umožní správu uživatelských účtů a jejich práv +
-      * termo hlavice si bude synchronizovat čas pomocí NTP protokolu+
  
 +  * **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.
  
-  * **Aplikace android ​pro komunikaci s platformou Arduino protokolem Bluetooth ​(An android application communicating with the Arduino ​platform ​by a Bluetooth)** - (BP - Denissyuk Andrey)+  * **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. 
 + 
 +  * **Ří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í.     - Prozkoumejte existující řešení.
-    - Pomocí metod softwarového inženýrství navrhněte vlastní řešení ​vyhovující ​že uvedeným požadavkům+    - Navrhněte vlastní řešení ​pro vzdálené monitorování a ovládání vytápění rodinného domu
-    - Navržené ​řešení naprogramujte,​ řádně ho zdokumentujte a otestujte+    - Pro řídicí jednotku vyberte vhodný procesor
-    - Požadavky: +    - Řídicí jednotka bude splňovat tyto požadavky: 
-      * aplikace bude navržena jako mobilní ​aplikace pro OS Android +      * komunikace přes mobilní ​GSM bránu, 
-      * aplikace umožní spojení aplikace z Arduinem pomoci Bluetooth +      * zobrazení údajů přes OLED displej, 
-      * pro komunikaci bude zvolen vhodný protokol +      * měření ​času s pomocí ​RTC, 
-      * aplikace bude umožňovat ověření ​uživatele ​s pomocí ​jména a hesla +      * ření teploty. 
-      * aplikace bude umožňovat přidání uživatelů s různým typem oprávnění +    - Navržené řešení zrealizujte a řádně otestuje. 
-      * aplikace umožní zobrazit několik různých pohledu (seznamu proměnných) stavu procesoru Arduina +    - Pro řídicí jednotku napište vhodný SW pro demonstraci správné funkce zařízení.
-      * aplikace umožní měnit obsah proměnných v procesu Arduina+
  
-  * ** Přenosný zvukový syntezátor se záznamem více stop (Portable sound synthesizer with multiple track recording)** (BP - Dohnal Pavel) +  * **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í. +
-    * Vyberte vhodnou HW platformu. +
-    * Vyberte vhodný programovací jazyk. +
-    * Navrhněte vlastní řešení splňující tyto požadavky:​ +
-      * malé kompaktní přenosné zařízení +
-      * zařízení bude obsahovat ovládací prvky pro hraní tónů +
-      * syntezátory budou mít ručně nastavitelné parametry +
-      * zařízení bude podporovat tyto efekty: reverb/​delay a filtr +
-      * možnost nahrávání oddělených stop +
-      * podpora ukládání a načtení projektů na externí uložiště. +
-    * Výsledné řešení zrealizujte a řádně otestujte. +
- +
-  * ** Grafické uživatelské rozhraní (GUI) pro definování funkcionality vývodů mikrokontroléru a generování kostry kódu v jazyku C (A graphical user interface (GUI) for assignment microcontroller pad functionality and C language skeleton generator)** - (BP - Tamarkov Dmitriy)+
     - 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+    - Navrhněte vlastní řešení ​pro monitorování chodu serverovny
-    - Navržené ​řešení naprogramujte,​ řádně ho zdokumentujte ​otestujte+    - Základem systému bude řídicí jednotka ​množina modulů obsahujících senzory ​
-    - Požadavky+    - Řídící jednotka bude umožňovat
-      * aplikace bude napsána v jazyce Python +      * stahování dat z čidel, 
-      * uživatelské rozhraní bude napsáno ​anglickém jazyce +      * uchovávání historie dat DB, 
-      * uživatelské rozhraní umožní ​nastavení ​funkcionality vývodů mikrokontroléru +      * možnost nastavení ​upozornění na překročení limitů hodnot, 
-      * všechna možná nastavení ​iřazení v mikrořadiči budou popsána v JSON formátu +      * komunikaci ​es ethernet. 
-      * uživatelské rozhraní umožní ​čtení a zápis uživatelem zvolené konfigurace ve formátu JSON +    - Modul senzorů bude splňovat: 
-      * uživatelské rozhraní umožní vygenerovat kostru v jazyku C, která bude implementovat funkcionalitu (přazení funkce k vývodu obvodu), která byla nastavena uživatelem v uživatelském rozhraní +      * univerzální deska s podporou ​čidel přes UART, SPI, I2C, Analog, 
- +      * jednoduchá rozšitelnost. 
 +    - Pro komunikaci řídicí desky a modulů zvolte vhodný komunikační protokol. 
 +    - Výsledné ř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)+  * **Ří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í.     - 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. +    - Navrhněte vlastní řešení řídicí jednotky pro připojení led pásky
-    - Implementujte funkční prototyp, ​řádně ho zdokumentujte a otestujte+    - Řídicí jednotka bude splňovat tyto požadavky: 
-    - Požadavky: +      * možnost připojení dvou a více led pásků, 
-      * aplikace bude napsána pro platformu Raspberry PI +      * podpora více typu led. Alespoň jeden 12V a 5V
-      * ovládací zařízení bude obsahovat dotykový displej +      * jednotku ​bude možno ovládat pomocí tlačítek, dálkového ovládání ​SSH, 
-      * aplikace bude umožňovat ovládání RGBW světelvypínačů a zásuvek. +      * pro obsluhu k jednotce připojte Waveshare 2.7 e-ink display ​vytvořte vhodné grafické rozhraní, 
-      * aplikace ​bude umožňovat sledovat teplotu ​množství CO2 +      * jednotka bude obsahovat senzor zvuku a světla sloužících k automatickému spouště. 
-      * analyzovat ​zvolte vhodný programovací jazyk a prostředí pro realizaci aplikace +    - Navržené ​řešení zrealizujte a řádně otestujte.
-      * 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ě a 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)+
  
 +  * **Ří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í.     - 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. +    - Navrhněte vlastní řešení řídicí jednotky pro vzdálenou správu elektrických zařízení v domácnosti
-    - Implementujte funkční prototyp, ​řádně ho zdokumentujte a otestujte+    - Řídicí jednotka bude splňovat tyto požadavky: 
-    - Požadavky: +      * možnost přístupu k jednotce ​pomocí ​pevného i bezdrátového spojení
-      * stanice bude poskytovat měření teploty a vlhkosti +      * jednotku bude možné ovládat z internetu
-      * jako řídící platformu použijte Arduino s procesorem ATmega2560 +      * jednotka bude obsahovat displej a tlačítka pro možnost nastavení základních parametrů, 
-      * aplikaci implementujte v jazyku C +      * jednotka bude umožňovat ovládat zařízení v domácnosti s pomocí relé, sériové linky rozšiřujícího portu
-      * aplikace umožní: +      jednotka ​bude schopna zjistit aktuální stav externích zařízení ​s pomocí ​sériové linky a rozšiřujícího portu
-        * ověření identity uživatele ​pomocí ​jména a kódu +    ​- Nevržené řešení zrealizujte. 
-        * záznam naměřených dat a jejich odesílání +    ​Pro výsledné zařízení ​napište ​obslužný program umožňující přístup k řídicí jednotce přes webové rozhraní
-        * komunikaci a konfiguraci pomocí SMS zprávemailů a bluetooth +    ​Výsledné řešení ​řádně ​otestujte.
-      * 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 a 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) +
-    Prozkoumejte a analyzujte existující nástroje a knihovny ​umožňující měření spotřeby systémových zdrojů pro OS Linux. +
-    * Navrhněte vlastní knihovnu pro testování ​ření využití systémových zdrojů (paměťprocesor, sítě). +
-    Při návrhu zohledněte omezené prostředky platformy Raspberry PI pro kterou ​bude knihovna navržena. +
-    * 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. +
-    * HW klienti budou komunikovat ​s pomocí ​wifi modulu postaveném na čipu ESP8266+
-    ​* Pro komunikaci knihovny s HW klienty vyberte vhodný komunikační protokol. +
-    * Navržené řešení zrealizujte. +
-    ​Pro navrženou knihovnu vytvořte testovací nástroj, který bude demonstrovat využití zrealizované knihovny. +
-    * Pro ovládání klientů a konfiguraci ​napište ​jednoduchou aplikaci pro OS Android+
-    ​Výsledné řešení 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)
 +    * 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.
  
-    +   
-===== Available projects =====+  ​ 
 +===== Available projects ​- FIT =====
  
   1. Arduino HW/SW   1. Arduino HW/SW
Line 168: Line 198:
     * ří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)     * aritmetický procesor v GF(2^2^n)
 +    * efiktivita protokolů pro předmět BI-PSI
     * vlastní zadání     * vlastní zadání
  
Line 185: Line 220:
     * 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 201: Line 236:
     * 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 210: Line 246:
     * 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 231: Line 350:
 **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