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 [2017/01/25 13:01]
xkubalik [Current projects]
project:proj_list [2023/02/07 14:33]
xkubalik [All projects archives 2004 - 2019]
Line 2: Line 2:
 ===== Current projects ===== ===== Current projects =====
  
-  * **Hardware pro podporu leteckého simulátoru** - (Hardware support for fly simulator)(BP - Michal Buchovecký+  * **Programovatelná elektronická zátěž (Programmable electronic load)** (BP - Pánek Miloš
-    ​Prozkoumejte existující řešení ​hardwarové podpory leteckých simulátorů+    ​Prozkoumejte existující řešení ​programovatelné elektronické zátěže
-    ​* Navrhněte hardwarové ​řešení ​podpory leteckého simulátoru+    ​- Analyzujte problémy současných řešení a navrhněte vlastní ​řešení. 
-    ​* Pro řešení ​vyberte vhodný procesor umožňující ovládání MPC (multi control panel) pro Boeing 737 EFIS (Electronic flight instrument system) panel+    ​- Navržené ​řešení ​bude podporovat tyto režimy: stálý proud, stálý odpor, stálý výkon ​stálé napětí
-    ​* Panely boudou obsahovat dostatečný ​počet ovládacích prvků jako jsoutlačítka, přepínačeLED kontrolky. +    ​- Programovatelná zátěž bude splňovat tyto požadavky: 
-    * Navržené řešení zrealizujte+      - nastavení všech parametru zátěže přes rozhraní na samotném zařízení, 
-    ​Pro komunikaci s leteckým simulátorem vytvořte skript využívající FSUIPC knihovnu+      - komunikace s PC aplikací ​es bluetooth, USB a wifi
-    ​* Pro ověření ​správné funkce vytvořte jednoduchou maketu MPC a EFIS panelu+      - záznam naměřených dat lokálně na SD kartu, 
-    ​* Výsledné ​řešení ​propojte ​a otestujte ​s leteckým simulátorem Microsoft Flight Simulator X.+      - 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 ​řádně ​otestujte.
  
  
-  * ** Aplikace ​pro spolehlivé ​ovládání ​hardware s pomocí sériové komunikace ​(Application used for reliable serial communication)** (DP Martin Chudoba+  * **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
-    ​* Navrhněte jádro aplikace umožňující výměnu informací s pomocí spolehlivé komunikační linky. +    ​- Prozkoumejte existující ​řešení ovládání periferií z FPGA obvodu firmy XILINX
-    * Zařízení bude podporovat minimálně 2 sériová rozhraní+    ​- Zaměřte se zejména na tyto periférie: OLED displej, alfanumerický displej, tlačítka, přepínačeled diody
-    ​* Komunikace bude probíhat v textové i binární podobě zabezpečené jednoduchým bezpečnostním kódem. +    ​- Navrhněte vlastní knihovnu zaměřenou na ovládání periferií zejména přes sběrnici I2C
-    * Jádro bude umožňovat kontrolovat i parametry navrženého protokolu. +    ​Navrženou knihovnu zrealizujte ​řádně otestujte
-    * Se zařízením bude možné vyměňovat jednoduché parametrypole parametrů a bloky dat z paměti  ​ +    ​Pro demonstraci správné funkce periférií ​napište ​obslužnou ​aplikaci ​pro FPGA Artix-7. 
-    ​* Pro spolehlivé zpracování komunikace navrhněte vhodné spolehlivé schéma - například několik vláken+    - Aplikace ​bude obsahovat menu pro volbu testování ​periférií a nastavení obsahu registrů
-    ​Navržené jádro otestuje ​nasimulujte různé způsoby uváznutí částí programu+    - Výsledné ​řešení řádně otestujte
-    ​Pro jádro ​napište aplikaci, která ​bude umožňovat ​testování ​schopnosti jádra odolat různým situacím při selhání linek.+
  
-  * ** Aplikace pro spolehlivé ovládání hardware s pomocí sériové komunikace (Application used for reliable serial communication)** - (DP - Martin Chudoba) 
-    * Cílem práce je návrh protokolu pro bezpečnou komunikaci po sériových linkách a návrh a implementace modulu/​jádra,​ který komunikaci řídí. 
-    * Základní funkční a nefunkční požadavky jsou: 
-    * 1. Analyzujte požadavky a proveďte návrh protokolu a modulu pro komunikaci tak, aby bylo možné přenášet různě velké struktury dat a to jak binárně, tak i textově. 
-    * 2. Analyzujte požadavky a proveďte návrh jádra tak, aby dokázal odolat výpadkům jednotlivých komunikačních linek. 
-    * 3. Diskutujte a zvolte vhodnou implementační platformu. 
-    * 4. Návrh implementujte. 
-    * 5. Navrhněte a implementujte demonstrační aplikaci, která začlení a použije komunikační modul. 
-    * 6. Při testování se zaměřte na různé typy výpadků jednotlivých sériových linek a případného selhání funkce vláken pro jejich obsluhu. 
-    * 7. Zhodnoťte přínos řešení. 
  
-  * ** Zařízení ​pro získávání a zpracování ​dat z internetu na platformě Raspberry Pi (Internet ​data processing device based on the Raspberry Pi platform)** (DP - Jakub Kužel+  * **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
-    ​* Z počítače Raspberry Pi vytvořte zařízení ​pro zpracování ​prezentaci dat z internetu+    ​- Analyzujte technologii SDR(softwarově definovaného rádia) a jeho možnosti pro odchytávání bezdrátových zařízení. 
-    ​* Pro toto zařízení ​vyberte vhodný OS+    - Zaměřte se zejména na zařízení ​pracující v pásmu 433MHz ​868MHz
-    ​* Navrhněte a naprogramujte aplikaci ​pro získávání ​a zpracování dat z různých zdrojů (periferie Raspberry PiSD karta, internet)+    ​- Prozkoumejte existující řešení pro odchytávání a analýzu těchto ​zařízení. 
-    ​* Aplikace ​bude umožňovat ​na základě jednoduchého skriptu načíst vzdálený obsah (souborwebová stránka) ​s pomocí předem zvoleného skriptovacího jazyka zpracovat+    ​- Využijte SDR a navrhněte nástroj pro odposlech dat přenášených rádiovým signálem v pásmu 433MHz ​868 MHz. 
-    ​* Aplikace ​bude schopna získaná data buď zobrazit na lokálním dotykovém displeji anebo z nich vytvořit webovou stránku. Tímto způsobem ​bude možné načíst data z různých zdrojů ​vytvořit jeden výstup. +    - Nástroj by měl být tvořen knihovnou a grafickým rozhraním ​pro odposlech ​a zpracování ​naměřených ​dat
-    * Zařízení bude možné konfigurovat a ovládat s pomocí zabezpečeného síťového spojení ze vzdáleného PC+    - 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.  
-    ​* Navrhněte způsob instalace nového certifikátu a navržené řešení ​implementujte. +    ​- Nastroj ​bude umožňovat ​analyzovat přenos, a to jak nešifrovaný,​ tak i šifrovaný
-    * Zařízení bude možné ovládat lokálně s pomocí jednoduchého dotykového displeje. +    ​- 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
-    * Výsledné řešení otestujte+    ​- Navržené řešení ​zrealizujte a řádně otestujte.
  
-  * ** Knihovna funkcí ​pro podporu diagnostického protokolu ​s pomocí ​UDP (UDP support library for diagnostic protocol)** (BP - Jaromír Mikušík+  * **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í ​diagnostické protokoly používané pro vyčítání dat a nahrávání software do mikrokontroleru. +    ​Prozkoumejte existující řešení ​umožňující ​ovládání aplikace Adobe Lightroom s hardwarového ovladače
-    * Vyberte vhodný diagnostický protokol a vytvořte pro něj vhodnou knihovnu funkcí ​umožňující ​jeho spolehlivé fungování nad UDP protokolem+    ​- Navrhněte vlastní zařízení fungující jako samostatný ovladač splňující tyto požadavky: 
-    ​* Implementované funkce budou navrženy a implementovány s ohledem na minimální latence a timeouty běžné i implementaci nad TCP protokolem+      - komunikace s aplikací bude realizována ​es USB a Bluetooth,​ 
-    ​* Knihovna funkci bude rozdělená na části server ​klient+      - ovladač bude umožňovat čtení vstupů z encodérů, tlačítek a Hallových senzorů, 
-    ​* Server bude implementován v jazyce C++ obecně pro libovolný mikrokontroler+      - ovladač bude napájen z baterie
-    ​* Client ​bude s ohledem na použití na PC implementován v jave+    ​- Navržený ovladač zrealizujte ​naprogramujte
-    ​Výsledné řešení otestujte.+    ​- 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.
  
-  * **Knihovna funkcí pro OS Android umožňující ​řízení ​vývojového kitu Arduino ​(OS Android library allowing control of Arduino kit)** (BP Filip Šmíd+  * **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
-    ​* Prostudujte ​existující ​řešení +    ​- Prozkoumejte ​existující ​nástroje určené k analýze NFC komunikace. 
-    ​* Navrhněte a implementujte knihovnu pro platformu Android zajišťující komunikaci mezi zařízením se systémem Android ​vývojovým kitem Arduino+    ​- Analyzujte technologií SDR (softwarově definovaného rádia). 
-    ​* Knihovna ​bude umožňovat ​komunikaci pomocí USBBluetooth ​Wi-Fi na protokolu TCP/IP+    - Analyzujte technologii NFC, zejména princip komunikace mezi NFC čtečkou NFC kartou (MIFARE Classic, MIFARE DESFire, MIFARE Plus). 
-    ​* Pro vytvořenou knihovnu napište testovací aplikaci, která ​bude prezentovat funkčnost komunikace+    - Analyzujte ​navrhněte způsob pro odposlech NFC komunikace pomoci SDR
-    ​* Aplikace bude napsána tak, aby bylo možné ji snadno rozšířit o další funkční prvky+    ​- Navrhněte přenosné zařízení,​ které ​bude umožňovat ​odposlechzáznam ​prvotní analýzu NFC komunikace
-    ​* Aplikace a knihovna by měla podporovat specifickou architekturu pro vývoj android aplikací, jako MVP, nebo MVVM, pro oddělení logiky z prezentační vrstvy a testovatelnost kódu. +    ​- 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. 
-===== Available projects =====+    - Pro výsledné zařízení napište v jazyce Python obslužnou aplikaci
 +    ​- Výsledné zařízení řádně otestujte.
  
-**Pokud máte o téma zájem, napište mi emailRezervace v systému bpm nemá žádnou váhu.**+  ​* **Ří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í.
  
-  * **Generátor referencí na základě dat uložených ve formátu XML** - Proveďte rešerší existujících ​řešení. Navrhněte ​a zrealizujte aplikaci pro generování seznamu referencí na základě dat uložených v XML souboru a šablony ​pro generování referencíReference ​bude možné vytvářet i hierarchickyVýstupní formát ​bude možné konfigurovat s pomocí konfiguračního souboruAplikace ​bude umožňovat ​editovat jednotlivé záznamy uložené v souboru XML a vytvářet vazby mezi referencemijako je například tento článek byl citovat v těchto publikacíchBP doba práce 2 semestry (volné) (100% SW)+  * **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 UARTSPI, 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.
  
-  * **Linuxové jádro pro vestavěný procesor** - Proveďte rešerši existujících linuxových jader pro vestavěné procesory a najděte vhodné řešení pro procesor ARM osazený na desce beagleboard. Pro tuto desku s pomocí linuxového jádra rozchoďte všechny periférie a napište demo aplikaci. BP, DP - doba práce 2-4 semestry (volné) (100% SW) 
  
-  * **Programovatelný softwarový generátor všech typů paketů** BP doba práce 2 semestry ​(volné) (100% SW)+  * **Ří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.
  
-  * **Programovatelný hardwarový generátor všech typů paketů** BP, DP doba práce 2-4 semestry ​(volné(80% SW20% HW)+  * **Ří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.
  
-  * **Jednoduchý překladač z jazyka c do mikroprogramu - Simple translator from C to microcode description** - Navrhněte a zrealizujte překladač z programu popsaného podmnožinou příkazů jazyka c do mikroprogramu popsaného v jazyce VHDL. Prozkoumejte existující řešení. Jazyk c bude podporovat vybrané celočíselné a binární typy proměnných. Překladač bude schopen přeložit následující prvky jazyka C: aritmetické a logické operace, podmíněný výraz if (else if, else), cyklus while, cyklus for a příkaz goto. Implementace bude s ohledem na multiplatformnost provedena v jazyce Java. (BP, DP) - doba práce 2-4 semestry (volné) (90% SW, 10% HW) 
  
-  * **Jednoduchý překladač z jazyka c do automatového popisu ​ - Simple translator from C to automata description** - Navrhněte a zrealizujte překladač z programu popsaného podmnožinou příkazů jazyka c do mikroprogramu popsaného v jazyce VHDL. Prozkoumejte existující řešení. Jazyk c bude podporovat vybrané celočíselné a binární typy proměnných. Překladač bude schopen přeložit následující prvky jazyka C: aritmetické a logické operace, podmíněný výraz if (else if, else), cyklus while, cyklus for a příkaz goto. Implementace bude s ohledem na multiplatformnost provedena v jazyce Java. (BP, DP) - doba práce 2-4 semestry (volné) (90% SW, 10% HW) 
  
-    ​* **Šifrování dat na pevném SATA disku připojeném přes ethernetové rozhraní** - Prostudujte ​existující ​hardwarová ​řešení šifrování dat na pevném disku. Navrhněte ​a zrealizujte ​vlastní řešení ​napsané ​jazyce VHDL. Pro návrh ​použijte ​existující ethernetové jádro napsané v jazyce ​VHDL(DP) doba práce 2-4 semestry (volné) (50% SW, 50% HW)+  ​* **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 ​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. 
 + 
  
-  * **Sada nástrojů pro On-Line diagnostiku** (Set of tools for On-Line test) - Naprogramujte sadu nástrojů pro On-Line diagnostiku. Nástroje budou založeny na již existujícím nástroji pro práci s obvody. Tento nástroj zmodifikujte tak, aby umožňoval použít libovolnou techniku pro On-Line testování založenou na bezpečnostních kódech (sudá parita, zdvojení, Berger kód, Hamming kód, atp.). Výsledné řešení bude umožňovat načtení vstupního obvodu, jeho modifikaci na samočinně zabezpečený obvod a jeho konverzi do příslušných VHDL kódů. Aplikace bude podporovat i rozsáhlejší návrh složený z více částí. BP, DP - doba práce 2-4 semestry (volné) (100% SW) 
  
-  * **Rychlý osciloskop postavený s pomocí FPGA** ​(High speed scope based on FPGA) - Navrhněte ​a zrealizujte levný 1 kanálový 50 Mhz osciloskop postavený ​s pomocí ​desky Starter board s obvodem Spartan3e. Jako základ použijte modul tvořený analogovým vstupem ​A/D převodníkem. Tento modul upravte takaby splňoval požadavky kladené ​na vstupní části osciloskopu takovýchto parametrů. Pro desku Spartan 3E napište aplikaci ​pro zpracování dat získaných s A/D evodníku. Získaná data zobrazte. ​ BPDP doba práce 2-4 semestry (volné) (50% SW50% HW)+  * **Ří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 ​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 ​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í wifiSD karty a přídavné kamery. 
 +    - Navržené řešení zrealizujte a řádně otestujte.
  
-  * **JTAG SPI USB programátor pro ATMEL** - Navrhněte programátor včetně programovatelné redukce pro programování mikrořadičů Atmel. BP, DP - doba práce 2-4 semestry (volné) (50% SW, 50% HW) 
  
-  * **Vysoce spolehlivý systém železničního zabezpečovacího zařízení založeného na dvou FPGA obvodech** - Prostudujte stávající zrealizované HW zařízení. Prostudujte knihovnu prvků realizujících jednotlivé částí zabezpečovacího systému železnice. Pro toto zařízení napište firmware pro mikrořadič a spolehlivý řídicí systém popsaný v jazyce VHDL a to tak, aby docházelo k vzájemné kontrole obou FPGA obvodů. Řídicí systém musí využívat samočinně testované obvody pro zajištění detekce poruch. Celý systém musí umožňovat vložení poruchy. Návrh ověřte na příkladu zabezpečení železniční stanice. Systém v případě detekce poruchy provede rekonfiguraci špatného FPGA obvodu. BP, DP - doba práce 2-4 semestry (volné) (50% SW, 50% HW) 
  
-  * **Programovatelný stmívač světel ​pro domácí zvířata** - Navrhněte zařízení pro stmívání světel řízené mikrořadičem. Zařízení bude umožňovat stmívat 2 žárovkyPro zadání ​průběhu stmívání napište aplikaciZařízení bude možné připojit k PC s pomocí ​USB rozhraníUpřesňující pokyny zadavatele (kanárek domácí: pí píp pí píp pí pí píp) BP - doba práce 2 semestry (volné) (50% SW, 50% HW)+  * **Inovace řadič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
  
-  * **Univerzální řadič displejů** - Prozkoumejte existující řešení. Navrhněte a zrealizujte řadič displeje umožňující jednoduchou komunikaci se znakovým displejem. Komunikace bude probíhat po sériové lince. BP, - doba práce 2 semestry (volné) (60% HW, 40% SW ) 
  
-  * **Zařízení ​pro přenos lokálních informací do internetu s pomocí existujících wifi routeru** - Prostudujte ​existující řešení ​úpravy wifi routerů za účelem modifikace a vylepšení jejich funkcíUpravte linuxové jádro wifi routeru tak, aby bylo možné nahrávat a ukládat ​vlastní ​přeložený kódK wifi routeru připojte jednoduché zařízení (RFID čtečkateploměr, apod)BP, DP - doba práce 2-4 semestry ​(volné) (90% SW, 10% HW)+  * **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ýchstavu procesoru Arduina 
 +      * aplikace umožní měnit obsah proměnných v procesu Arduina
  
-  * **Implementace USB rozhraní FPGA obvodem** - Seznamte se s problematikou USB rozhraní realizovaného FPGA obvody. Prostudujte stávající způsoby realizace tohoto USB rozhraní. Navrhněte a realizujte funkční zařízení,​ které bude umožňovat přenos dat pomocí USB rozhraní realizované FPGA obvodem. Prostudujte ​existující řešení ​USB ovladačůNa základě získaných informací vytvořte vlastní ​USB ovladač podporující navržené ​řešení. ​Na jednoduché aplikaci demonstrujte funkci vytvořeného ​řešení. Při návrhu se zaměřte na co možná nejjednodušší ​řešeníkteré ​bude umožňovat přenášet jen jednoduché informaceBP, DP - doba práce 2-4 semestry (volné) (50% HW, 50% SW )+  * **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í ​ihlášeného uživatele.
  
-  * **Síťový simulátor ​pro výukové účely na bázi prvků OS Linux a CISCO směrovačů ​(Network simulator based on Linux OS component and CISCO routers)** - Prostudujte ​existující řešení. ​Doplňte některé další síťové prvky do již existujícího simulátoruBPDP - doba práce 2 semestry (volné) (100% SW)+  * **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 takaby 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.
  
-  * **Zařízení ​pro sledování ​objektu s nízkou spotřebou** - Prostudujte ​existující řešení. ​Navrhněte vlastní ​zařízení ​umožňující pořízení a odeslání fotografie ​přes internet z okolí sledovaného objektu, který není připojen trvale k internetu ani k elektrické sítí. Důraz bude kladen na velmi nízkou spotřebu ​co nejmenší pořizovací cenuSledovací zařízení ​bude umožňovat ​získání fotografie okolí s různou kvalitou. Pro výsledné zařízení navrhněte nechte vyrobit plošný spojBP, DP - doba práce 2-4 semestry (volné) (10% HW, 90% SW)+  * **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 ​metadata z lokátorů 
 +      * uživatelské rozhraní bude realizováno formou webové aplikace.
  
-  * **Generátor samoopravných kódů: Hamming, RS, BCH, LDPC** - Prostudujte ​existující řešení. ​Navrhněte vlastní generátor samoopravných kódůZadávat bude možné libovolný generující polynom, popřípadě ​bude možné specifikovat vlastnosti kódu. Zvolte vhodný výstupní formát. BPDP - doba práce 2-4 semestry ​(volné) (100% SW)+  * **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 mikrokontroleruGSM 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.
  
-  * **Simulátor procesoru DOP** - Prostudujte ​existující řešení. V programovacím jazyku Java implementujte simulátor výukového procesoru DOP-v3Simulátor musí obsahovat editor ​a překladač zdrojových mikroprogramů (mikroassembler). Syntaxe zdrojového mikroprogramu musí být stejná jako u stávajícího simulátoru ​používaného pro výuku (SimDOP)Simulátor musí umožňovat krokování mikroprogramu po jednotlivých mikroinstrukcích i spouštění úseku k zadanému bodu zastaveníBP, DP - doba práce 2-4 semestry (volné) (100% SW)+  * **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í. 
 +    * dostatečné míře nastudujte a zdokumentujte příslušnou matematickou teorii. 
 +    * Navržené řešení zrealizujte ​řádně otestujte.  
 +    * Vytvořte několik ​í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.
  
-  * **Generátor obvodů pro edmět ČAO** - Prozkoumejte existující řešení pro kreslení elektrických obvodůVytvořte aplikaci, která bude umožňovat ​na základě zadaných parametrů vytvářet obvody. BPDP - doba práce 2-4 semestry (volné) (100% SW)+  * **Osobní GPS lokátor na platformě Arduino ovládaný ​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éruGPS/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
  
-  * **Procesory pro FPGA obvody ​(Soft processors for FPGA circuits)** - Prostudujte ​existující řešení ​procesorů popsaných v jazyce VHDLSrovnejte jejich parametry. Na základě srovnání implementujte jeden typ procesoru do FPGA obvodu. Vyberte vhodný procesor s ohledem na dostupnost překladačů jazyka C do ASM.  Zaměřte se zejména na hotové implementace procesoru AVR. Vytvořte ​knihovnu pro ovládání základních periferiíPro přípravek firmy XILINX Spartan 3E vytvořte vzorovou aplikaci využívající ​echny funkce vytvořené knihovnyBP, DP - doba práce 2-4 semestry (volné) (80% SW, 20% HW)+  * **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á ​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.
  
-  * **Rychlé ethernetové jádro ​(High speed ethernet core)** - Prostudujte stávající ​řešení ​ethernetového jádra pracujícího na rychlostech 1G, 100M napsané v jazyce Verilog dostupné na stránce www.opencores.org VHDL dostupné jako diplomová práceNavrhněte a zrealizujte vlastní ​řešení ​1G100M ethernetového jádra napsaného v jazyce VHDL a to tak, aby bylo možné využít pouze jednu hodinovou doménuPro jednotlivé ​částí ​i pro celé jádro proveďte verifikaciPro výsledné jádro napište testovací aplikaci demonstrující funkci jádra na všech realizovaných rychlostech. Pro realizaci použijte vývojovou desku Xilinx(BP, DP 2-4 semestry)+  * **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 ​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.
  
-  ​* **Modul pro správu projektů s VHDL soubory** ​Prostudujte stávající řešení vývojového nástroje pro správu VHDL projektů. Do již existujícího řešení implementujte modul, který bude umožňovat přidat do souboru libovolný signál a přenést ho do vyšších úrovní zdrojových VHDL kódů. Vylepšete stávající řešení pro kontrolu konzistence VHDL souborů. V případě potřeby navrhněte nové vývojové prostředí. Otestujte generátor VHDL kódu na základě zadaných parametrů uživatele. Jako programovací jazyk zvolte Javu (BP, DP 2-4 semestry, možnost práce více studentů najednou jako tým)+  ​ 
 +===== Available projects ​FIT =====
  
-  * **Portace operačního systému android na vývojovou desku procesorem ARM** - Prostudujte existující ​řešení. Analyzujte možnosti portace operačního systému ​pro vývojovou ​desku Raspberry pi a BeagleBone Black. Na jednu z těchto desek proveďte portaci ​vytvořte knihovny ​pro obsluhu periferií. Pro vytvořenou knihovnu vytvořte demo aplikaci. (BP, DP 2-4 semestry)+  ​1. Arduino HW/SW 
 +    ​GPS přijímač a jeho aplikace 
 +    ​Meteo stanice 
 +    ​GSM modém a jeho aplikace 
 +    * NFC a bezkontaktní karty 
 +    * univerzální desky 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 ESP32/​ESP2866 
 +    * zařízení ​pro ochranu baterie před vybitím
  
-  * **FPGA deska řízená procesorem ARM** - Navrhněte zařízení obsahující FPGA obvod a procesor ARM. Mezi těmito obvody vytvořte komunikační linku vhodnou ​pro řízení FPGA obvodu s pomoci procesoru ARM. Zvolte vhodnou desku obsahující FPGA obvod. Pro řízení FPGA obvodu použijte vývojový kit Raspberry Pi osazený obvodem ARM. Vytvořte knihovnu funkcí pro procesor ARM umožňující komunikaci s FPGA obvodem. Pro ověření funkce celého spojení vytvořte testovací aplikaci. (BP, DP 2-4 semestry)+  ​2. Wolfram Mathematica 
 +    ​bezpečnostní kódy 
 +    ​kódy pro kryptografií 
 +    ​matematické funkce realizované v HW 
 +    ​aritmetický procesor v GF(2^2^n) 
 +    ​efiktivita protokolů ​pro předmět BI-PSI 
 +    * vlastní zadání
  
-  * **Správa slovní zásoby ​pro os Android** - Vytvořte aplikaci ​pro správu ​slovní zásoby. Aplikace bude umožňovat import a export slovíček s pomocí textového souboru. Aplikace bude umožňovat zpracovávat velké objemy slov (10 - 20 tisíc). Důraz bude také kladen na rychlost zpracování slov, ovladatelnost a vhodné grafické prostředí. (BP, DP 2-4 semestry) +  ​3. Visual C++/C# 
- +    ​aplikace pro komunikaci s periferiemi v PC 
-  ​**Knihovna funkcí v jazyce C pro mikrořadič ARM 32 firmy ATMEL** (BP, DP 2-4 semestry) +    ​aplikace ​pro komunikaci s procesorem Zynq 
- +    ​aplikace ​pro správu ​projektu ve VHDL 
-  **Knihovna funkcí v jazyce C pro vývojový kit STM32F030** (BP, DP 2-4 semestry) +    překladače 
-  +    grafické aplikace ​pro výuku 
-  * **Knihovna funkcí v jazyce C pro vývojový kit STM32F4*(BP, DP 2-4 semestry)+    vlastní zadání
  
-  * **Knihovna funkcí v jazyce C pro vývojový kit STM32F303** (BPDP 2-4 semestry)+  ​4. Jazyk VHDL / desky FPGA 
 +    ​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í 
 +    ​implementace procesoru/​periferié procesoru ​(ARMZ80, AVR, ...) 
 +    * HW podpora SoC (Zynq) 
 +    * aritmetický procesor v GF(2^2^n) 
 +    * Hry pro FPGA 
 +    * vlastní zadání
  
 +  5. Plošné spoje
 +    * návrh zařízení s porcesorem atmel + drobné periferié
 +    * zařízení s nízkou spotřebou
 +    * vlastní zadání
  
-  * **Jednoduchý TCP/IP stack pro malé procesory** (BP, DP 2-4 semestry)+  ​6. Raspberry PI / Raspberry PI Pico 
 +    ​ovládání jednoduchých periferií 
 +    ​chytré síť, ovládání periferií přes ethernet 
 +    ​vzdálená správa sítí 
 +    ​SDR(Software Defined Radioaplikace - sledování a analýza provozu 
 +    * vlastní zadání
  
-  * **Slovník ​pro zkušení slovní zásoby využívající sdílené úložiště** ​(BPDP 2-4 semestry)+  ​7. Android 
 +    ​aplikace ​pro práci s hardware ​(raspberry PIArduino a jiné)
  
-  * **Vysoce spolehlivé zařízení ​pro automatické dávkování léku - Aplikace pro PC - C# nebo C++** (BP, DP 2-4 semestry)+  ​8. Python 
 +    ​aplikace ​pro zpracování a generování dat podle šablon
  
-  * **Vysoce spolehlivé zařízení pro automatické dávkování léku - Firmware pro procesor** (BP, DP 2-4 semestry)+  ​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
  
-  * **Vysoce spolehlivé zařízení pro automatické dávkování léku Hardware** (BP, DP 2-4 semestry)+===== Available projects HW external =====
  
-  * **Ethernet 10G jádro** ​(BPDP 2-4 semestry)+  ​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čítkarotační encoder,…).  
 +    * Výška displeje musí splňovat normu 1U.  
 +    * Pro vytvořený displej naprogramujte framework, který usnadní práci s displejem.
  
-  * **Ethernet řízený s pomocí SMS využívající ARM processor** (BP, DP 2-4 semestry)+  ​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.
  
-  * **Sledování zařízení s nízkou spotřebou** - Navrhněte a zrealizujte ​zařízení ​umožňující ​sledování spotřeby objektu s nízkou spotřebou. Zařízení bude hlídat stav baterie a v případě poklesu pod určitou hranici celé zařízení odpojí a to včetně samo sebe. Zároveň bude umožňovat sledovat průběh změny stavu a následně upravit vlastní spotřebu až do stavukdy se odpojí od zdroje úplněBaterií ​bude možné dobíjet ze solárního panelu s regulátorem. Pro vámi navržené zařízení navrhněte a nechte vyrobit plošný spoj(BP, DP 2-4 semestry)+  ​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.
  
-  * **Knihovna funkcí pro Arduino periferní desky** - Pro různé ​Arduino periferie vytvořte knihovnu funkcí kterou bude možné přeložit v AVR studio(BP, DP 2-4 semestry)+  ​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.
  
-  * **Aplikace pro Android umožňující řízení vývojového kitu Arduino** - Prozkoumejte různé způsoby propojení mobilního telefonu ​OS Android ​vývojového kitu ArduinoVytvořte knihovnu umožňující komunikaci s touto deskouNapište demonstrační aplikaci (BP, DP 2-4 semestry)+  ​5. Efektivní (de)interlacing 12G SDI videa 
 +    ​Navrhněte ​zrealizujte (de)interlacer 6G 12G SDI videa do progressive formátu 
 +    * Modul může pracovat jak nad SDI formátem, tak na Native video formátem.
  
-  * **Spolehlivá aplikace pro AVR/​ARDUINO** (BP, DP 2-4 semestry)+  ​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.
  
-  * **Aplikace pro správu VHDL projektů** - Programovací jazyk C++(QT), (BP, DP 2-4 semestry)+  ​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.
  
-  * **Překladač z jazyka C do VHDL** ​Automat/​Testbench,​ Programovací jazyk C++, (BP, DP 2-4 semestry)+===== Available projects SW external =====
  
-  ​* **Řídicí systém ​Arduienm** - Pro velké množství periferií vytvořte obslužné knihovny ​napište demonstrační aplikaci, ​(BP, DP 2-4 semestry)+  ​1. Optimalizace Java aplikací pro horizontální škálování v moderní mikroservisní architektuře - spolupráce ​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 ​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í
  
-  ​* **Zařízení pro měření ​ukládání neelektrických veličin pomocí ARM procesoru** - K vhodné existující desce ARM procesorem ​ipojte několik čidel pro měření teplotytlaku a vlhkostiPro procesor s OS Linux vytvořte aplikaci pro sběr a ukládání dat. Konfiguraci zařízení bude možné provádět vzdáleně přes webové rozhraníVytvořte demonstrační aplikaci. (BP, DP 2-4 semestry)+  ​2. Virtualizace ​izolace aplikačních prostředí - spolupráce ​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í ​jinými ​ístupy (např. podmanbuildah 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é ​(rootlessspuštění více kontejnerů uvnitř kontejneru
  
-  * **Generátor webové stránky na základě naměřených dat pro OS Windows** - Vytvořte aplikaci pro server s OS Windows, která bude umožňovat zpracovávat data získaná z různých probíhajících úloh a na základě vyhodnocení ​vytvoří informační stránku o stavu průběhu. (BPDP 2-4 semestry)+  ​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 secretsPAM nástroje) 
 +    * vytvoření vlastního kubernetes operátora (vlastní zadání)
  
-  * **Generátor posudků na základě ​vytvořené šablony** - Vytvořte aplikaci, která na základě šablony umožní vytvořit posudek. Aplikace bude umožňovat šablony vytvářet ​editovat. Pro popis šablon použijte nějaký vhodný formát ​(např, XML). (BPDP 2-4 semestry)+  ​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 ​IaaC (infrastructure as a code) 
 +    * zabezpečení SVC repozitářů přes GPG klíče 
 +    * podpora IaaC nástrojů (ansiblechef+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 tzvCI farmy) 
 +    * podpora deklarativního popisu činností ​(pipelines) 
 +    * porovnání známých CI nástrojů (jenkinsjenkins-x, gitlab, tekton, github actions) 
 +    * návrh procesů pro validaci aplikací před jejich nasazením prostřednictvím testů
  
-  * **Low power zařízení pro analýzu a ochranu baterie** - Navrhněte a zrealizujte zařízení umožňující chránit baterií před vybitím (přebitím). Pro zařízení napište obslužnou aplikaci, která bude umožňovat zařízení konfigurovat. Při návrhu použijte vhodný AVR mikrořadič. Celé zařízení musí mít nízkou spotřebu. Při detekci nízkého napětí musí dojit k vypnutí zařízení a ke snížení odběru na nulu. (BP, DP 2-4 semestry)+  ​5. Projekty zadané externím zadavatelem 
 +    ​seznam zadavatelů níže
  
-  ​* **Android aplikace ovládající externí hardware** - Prozkoumejte možnosti propojení zařízení s OS Android a externího procesoru. Navrhněte vhodné řešení pro vytvoření jednoduchého spojení zařízení s externím procesorem. Pro OS Android ​napište ​knihovnu funkcí pro komunikaci s externím hardwareNapište demonstrační aplikaci(BP, DP 2-4 semestry)+**Pokud máte o téma zájem, ​napište ​mi emailRezervace 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í.**
  
-  * **Dotykový displej a raspberry pi** - Navrhněte a zrealizujte propojeni RPI s jednoduchým dotykovým displejem. Vytvořte vhodnou knihovnu umožnující komunikovat s dotykovým displejem. Vytvořte další knihovnu rozšiřující základní komunikaci o zobrazovací funkce. Pro otestování vytvořte demonstrační aplikaci. (BP, DP 2-4 semestry) 
  
-  * **Automaty ve VHDL - mikroprogramovaný řadič** - Prozkoumejte způsoby návrhu mikroporgramovaných řadičů ve VHDL a to s ohledem na způsob implementace a zpoždění řídicích a stavových vodičů. (BP, DP 2-4 semestry)+  *[[project:​2018:​proj_archiv|Návrhy zadání dostupných projektů]]
  
-  * **USB drivery pro MS Windows** - Navrhněte driver pro různé druhy přenos po USB sběrnici. Zaměřte se zejména na bulk přenos. (BP, DP 2-4 semestry) 
  
-  * **USB drivery pro MS Windows se zaměřením na FPGA obvod ZYNQ** - Navrhněte a rozchoďte propojení FPGA obvodu ZYNQ a PC s OS MS Windows. Upravte existující driver pro možnost přenosu dat s pomocí BULK přenosu. (BP, DP 2-4 semestry)+===== Projekty zadané externím zadavatelem =====
  
-  * **Bezpečnostní kódy a Wolfram Methematica** - Vytvořte knihovnu pro usnadnění výuky v předmětech se zaměřením na bezpečnostní samoopravné kódy. Zaměřte se zejména na Hammingův kód, BCH kód, RS kód a RM kód. (BP, DP 2-4 semestry)+  * [[project:​eaton:​proj_eaton|EATON HW/SW]]
  
-  * **Zařízení pro kontrolu stavu autobaterie s nízkou spotřebou** - Navrhněte a zrealizujte zařízení,​ které bude umožňovat odpojení spotřebiče/​solárního panelu od autobaterií v případě nízkého napětí na baterií. Jako základ použijte mikrořadič firmy atmel. (BP, DP 2-4 semestry) 
  
-  * **USB WDM driver pro MS Windows a FPGA deska ZYBO** - Navrhněte a zrealizujte propojení FPGA desky a počítače s MS Windows podporující přenos bulk. (BP, DP 2-4 semestry) 
  
-  * **Periferie pro FPGA desku ZYBO** - Pro vývojovou desku s FPGA obvodem ZYBO navrhněte a naprogramujte ovládání základních periferií. (BP, DP 2-4 semestry) 
  
-  * **Bezpečnostní kódy ve výuce s podporou Wolfram Mathematica** - Navrhněte a realizujte knihovnu pro některé základní bezpečnostní kódy. Pro navrženou knihovnu vytvořte několik úloh k řešení pro studenty, které lze využít při výuce předmětu MI-AAK a MI-BKO. (BP, DP 2-4 semestry) 
  
-  * **Program pro uchování poznámek na sdíleném uložišti** - Navrhněte aplikaci pro Windows nebo pro Android umožňující práci s poznámkami. Poznámky bude možné vytvářet, prohlížet a editovat. Poznámky budou uloženy na sdíleném uložišti (dropbox, google). (BP, DP 2-4 semestry) 
 ===== All defended works ===== ===== All defended works =====
  
-**BP a DP defended works on CTU in Prague FEL/FIT:** [[http://dip.felk.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 - 2014 =====+===== All projects archives 2004 - 2019 =====
  
 +  *[[project:​2020:​proj_2020|Realized projects 2022]]
 +  *[[project:​2020:​proj_2020|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:​2017:​proj_2017|Realized projects 2017]]
   *[[project:​2016:​proj_2016|Realized projects 2016]]   *[[project:​2016:​proj_2016|Realized projects 2016]]
   *[[project:​2015:​proj_2015|Realized projects 2015]]   *[[project:​2015:​proj_2015|Realized projects 2015]]
project/proj_list.txt · Last modified: 2024/02/15 10:30 by xkubalik