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 [2015/01/29 14:31]
xkubalik [Actual works]
project:proj_list [2023/02/07 14:56]
xkubalik [All projects archives 2004 - 2019]
Line 2: Line 2:
 ===== Current projects ===== ===== Current projects =====
  
-  * **Softwarová podpora hardwarového rozšíření pro platformu Raspberry PI (Software library used for hardware extension of Raspberry Pi)** (BP - Vico Bohdan- Proveďte tyto úkoly: +  * **Programovatelná elektronická zátěž ​(Programmable electronic load)** (BP - Pánek Miloš
-    ​* Prostudujte ​existující řešení.  +    ​- Prozkoumejte ​existující řešení ​programovatelné elektronické zátěže
-    ​* Vyberte operační systém vhodný pro ovládání a komunikaci s hardware přes rozšiřující rozhraní+    ​- Analyzujte problémy současných ​řešení a navrhněte vlastní ​řešení
-    ​* Vytvořte knihovnu funkcí v programovacím jazyce C pro ovládání jednotlivých pinů rozšiřujícího rozhraní včetně sériové linky+    ​- Navržené ​řešení bude podporovat tyto režimy: stálý proud, stálý odpor, stálý výkon a stálé napě
-    ​* Propojte vývojovou desku Raspberry PI s PC s pomocí sériové linky. +    ​- Programovatelná zátěž bude splňovat tyto požadavky:​ 
-    * Pro ovládání periferií vytvořte jednoduché webové rozhraníkde bude možné nastavovat a číst jednotlivé stavy pinů rozhraní+      - nastavení všech parametru zátěže přes rozhraní na samotném zařízení,​ 
-    ​* Umožněte s pomocí webového rozhraní posílat ​číst informace ze sériové linky+      - komunikace ​s PC aplikací přes bluetooth, USB a wifi, 
-    ​* Pro zvolený operační systém vytvořte aplikaci, která zprostředkovává komunikaci webového rozhraní s hardware+      - záznam naměřených dat lokálně na SD kartu, 
-    ​* Vytvořená aplikace bude obsahovat soubor proměnných, které ​bude možné ​nastavovat s pomocí webového rozhraní a s pomocí PC es sériovou linku+      - jednoduchý protokol pro komunikaci s PC s možným rozšířením pro další funkcionalitu
-    ​* Vytvořte podrobnou dokumentaci popisující důležité kroky nutné k přidání dalšího rozhraní ​odpovídající modifikaci webového rozhraní.+    ​- 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 edem nastavených hodnot
 +    ​- Navržené řešení zrealizujte ​řádně otestujte.
  
-  * **Zařízení pro sledování objektu s nízkou spotřebou** (Low power camera trap used for property surveillance)(BP - Václav Vanc) 
-    * 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í. 
-    * Vyberte vhodný procesor sloužící ke komunikaci s GSM modulem a kamerou. 
-    * Důraz bude kladen na velmi nízkou spotřebu a co nejmenší pořizovací cenu. 
-    * Zařízení bude napájeno z 12V baterie. 
-    * Zařízení bude umožňovat data ukládat na SD kartu. 
-    * Nastavení parametrů a doby snímání fotografie bude možné s pomocí SMS zpráv. 
-    * Navržené zařízení zrealizujte. 
-    * Vytvořte knihovnu funkcí umožňující ovládat dostupné periferie. 
-    * Pro výsledné řešení vytvořte demonstrační aplikaci. 
-    * Výsledné zařízení otestujte. 
  
-  * **Multiplatformní grafická aplikace ​pro simulaci mikroprogramovaného procesoru DOP v3(Cross-platform graphical simulator of micro-programmed processor DOP)** (DP Miškovský Vojtěch+  * **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
-    ​* Prostudujte ​existující řešení. +    ​- Prozkoumejte ​existující řešení ​ovládání periferií z FPGA obvodu firmy XILINX
-    ​* V programovacím jazyku C++ implementujte simulátor výukového procesoru DOP-v3. +    - Zaměřte se zejména na tyto periférie: OLED displej, alfanumerický displej, tlačítka, ​epínače, led diody
-    * Aplikaci bude možné spouštět pod OS Microsoft Windows i OS Linux. +    ​- Navrhněte vlastní knihovnu zaměřenou na ovládání periferií zejména přes sběrnici I2C
-    * Simulátor musí obsahovat editor mikroprogramu a překladač zdrojových mikroprogramů (mikroassembler). +    ​- Navrženou knihovnu zrealizujte ​řádně otestujte
-    * Syntaxe zdrojového mikroprogramu musí být stejná jako u stávajícího simulátoru používaného pro výuku ​edmětu BI-JPO (jednotky počítače)+    ​Pro demonstraci správné funkce periférií napište obslužnou aplikaci pro FPGA Artix-7
-    ​* Simulátor musí umožňovat krokování mikroprogramu po jednotlivých mikroinstrukcích i spouštění úseku k zadanému bodu zastavení+    ​- Aplikace bude obsahovat menu pro volbu testování periférií a nastavení obsahu registrů. 
-    ​* Simulátor musí umožňovat zobrazit aktuální stav jednotlivých registrů procesoru DoP to včetně těch, které jsou programátorsky nedostupné+    - Výsledné řešení ​řádně ​otestujte. ​
-    ​Pro uživatele vytvořte jednoduchou uživatelskou příručku+
-    ​Výsledné řešení otestujte.+
  
-  * **Programovatelný stmívač světel pro domácí zvířata** (Programmable light dimmer for domestic animals)(BP - Červenka Ondřej) 
-    * Prostudujte existující řešení. 
-    * Vyberte vhodný procesor pro realizaci. 
-    * Zařízení bude umožňovat nastavení stmívání pro 2 místnosti. 
-    * Ovládání bude možné lokálně u zařízení s pomocí displeje a tlačítek a také vzdáleně s pomocí PC. 
-    * Pro ovládání stmívání a detekcí vnějšího osvětlení vytvořte knihovnu v jazyce c pro zvolený procesor. 
-    * Pro ovládání s PC vytvořte jednoduchou aplikaci. 
-    * Navržené zařízení zrealizujte a vytvořenou knihovnu včetně aplikace v PC otestujte. 
  
-  * **FPGA deska řízená procesorem ARM** (FPGA board controlled by ARM processor)(BP ​Elena Filipenková+  * **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
-    ​* Prostudujte 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í
-    ​* Navrhněte zařízení ​obsahující FPGA obvod procesor ARM+    ​- Zaměřte se zejména na zařízení ​pracující v pásmu 433MHz ​868MHz
-    ​* Zvolte vhodnou desku obsahující:​ FPGA obvod, tlačítka, přepínače, display+    ​- Prozkoumejte existující ​řešení pro odchytávání a analýzu těchto zařízení
-    ​* Pro řízení FPGA obvodu použijte ​vývojový kit Raspberry Pi osazený obvodem ARM+    ​- 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
-    ​* Mezi těmito obvody vytvořte komunikační linku vhodnou ​pro řízení FPGA obvodu s pomoci procesoru ARM+    ​- Nástroj by měl být tvořen knihovnou a grafickým rozhraním ​pro odposlech a zpracování naměřených dat
-    ​* Řízení a zjištění stavu desky bude možné s pomocí minimálně 32x16b registrů+    ​- Podporována budou zejména zařízení ​typu: bezdrátový teplotní senzor, bezdrátové senzory v automobilu ​bezdrátové měřiče tepla v domácnostech.  
-    ​* Vytvořte knihovnu funkcí pro FPGA desku umožňující nastavovat ​ovládat základní periferie této desky procesorem ARM+    ​- Nastroj bude umožňovat analyzovat přenos, ​to jak nešifrovaný,​ tak i šifrovaný
-    ​* Pro FPGA desku vytvořte aplikaci umožňující zobrazovat stav registrů určených ​pro nastavení parametrů desky. +    ​- Pokud bude k dispozici klíč pro dešifrování,​ bude nástroj ​umožňovat ​i dešifrování,​ a to zejména pro bezdrátové měřiče tepla v domácnostech
-    * Pro procesor ARM vytvořte jednoduchou aplikaci ​umožňující nastavovat a zjišťovat stav FPGA desky+    ​- Navržené ​řešení ​zrealizujte a řádně ​otestujte.
-    ​* Výsledné ​řešení otestujte+
  
-  * **Generátor elektrických obvodů pro předmět ČAO** (Automatic analog circuit generator)(BP - František Veselý+  * **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í ​pro kreslení elektrických obvodů+    ​Prozkoumejte existující řešení ​umožňující ovládání aplikace Adobe Lightroom s hardwarového ovladače
-    ​* Vytvořte aplikacikterá ​bude umožňovat ​na základě zadaných parametrů automaticky náhodně generovat jednoduché obvody složené ze zdroje napájeníkondenzátorů, rezistorů a cívek. +    ​- Navrhněte vlastní zařízení fungující jako samostatný ovladač splňující tyto požadavky:​ 
-    * Aplikace ​bude umožňovat nastavit hodnoty a typ součástky v obvodu+      - komunikace s aplikací bude realizována přes USB a Bluetooth, 
-    ​* Výsledné schéma bude možné překreslit tak, aby se změnila pouze pozice součástky. +      - ovladač ​bude umožňovat ​čtení vstupů z encodérů, tlačítek a Hallových senzorů, 
-    * Vygenerované schéma bude možné uložit do formátu XML opětovně načíst+      ​- ovladač ​bude napájen z baterie
-    ​* Aplikace bude umožňovat popsat obvod s pomocí rovnic ​to jak v časové oblasti, tak s pomocí fázorů+    ​- Navržený ovladač zrealizujte ​naprogramujte
-    ​Aplikace bude dále umožňovat ​generovat rovnice pro celkovou impedanci na vstupních svorkách ​přenos. +    ​- Pro PC vytvořte vlastní aplikaci ​umožňující zpracování dat z ovladače ​jejich přenos do aplikace Adobe Lightroom Classic
-    * Vygenerované rovnice bude možné bez úprav vložit do programu Wolfram Mathematica a zpracovat. +    ​Aplikace ​v PC bude dále umožňovat ​nastavení chování ovladače ​nastavenou konfiguraci ukládat lokálně. 
-    * Při generování rovnic bude možné zvolit směr proudu a napětí ručně, popřípadě automaticky+    ​Výsledné řešení ​řádně ​otestujte.
-    ​Výsledné řešení otestujte.+
  
-  * **Modul pro snímání teploty při převozu materiálu v dopravě** (Temperature monitoring module ​for material car transporting purpose)(BP Jiří Šeda+  * **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í ​řešení dostupná na trhu+    ​Prozkoumejte existující ​nástroje určené k analýze NFC komunikace
-    ​* Navrhněte zařízení umožňující monitorování teploty přepravních boxů+    ​- Analyzujte technologií SDR (softwarově definovaného rádia). 
-    ​* Pro řízení sledování teploty ​komunikaci s nadřazeným systémem zvolte vhodný procesor+    - Analyzujte technologii NFC, zejména princip komunikace mezi NFC čtečkou a NFC kartou (MIFARE Classic, MIFARE DESFire, MIFARE Plus)
-    ​* Zařízení bude umožňovat ​sledovat teplotu u více boxu+    ​- Analyzujte ​navrhněte způsob pro odposlech NFC komunikace pomoci SDR
-    ​* V případě překročení minimální nebo maximální hlídané hodnoty informujte řidiče. +    ​- Navrhněte přenosné zařízení, které ​bude umožňovat ​odposlech, záznam a prvotní analýzu NFC komunikace
-    * Informaci o teplotě je nutné ukládat po celou dobu jízdy. +    ​- Zařízení bude schopné odchytit UID karty a komunikaci směrem od čtečkyPokud bude signál dostatečně silný, zaznamená i komunikaci ​směrem od karty
-    * Komunikace s řidičem bude provedena s pomocí mobilního telefonu přes rozhraní bluetooth. +    ​Navržené řešení ​zrealizujte ​na platformě Raspberry Pi
-    * Pro komunikaci ​procesoru s telefonem vytvořte vhodný protokol+    ​Pro výsledné zařízení napište v jazyce Python ​obslužnou aplikaci. 
-    ​Navržené ​zařízení ​zrealizujte. +    ​Výsledné zařízení ​řádně ​otestujte.
-    ​Pro zvolený procesor vytvořte knihovnu funkcí a obslužnou aplikaci ​demonstrující správnou funkcí celého zařízení+
-    ​Výsledné zařízení otestujte.+
  
-  * **Rozšíření síťového simulátoru o Spanning tree protocol** (Network simulation module extension implementing Spanning tree protocol)(BP - Peter Bábics+  * **Ří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
-    ​* Prostudujte ​existující ​simulátor počítačové sítě [1, 2, 3, 4, 5].  +    ​- Prozkoumejte ​existující ​řešení
-    ​* Prozkoumejte možnosti implementace Spanning tree protokolu do existujícího ​řešení. +    ​- Navrhněte vlastní ​řešení ​pro vzdálené monitorování a ovládání vytápění rodinného domu
-    ​Pro tento simulátor napište modul v jazyce Java, který ​bude umožňovat ​využití Spanning tree protokolu v simulovaných ​epínačích. +    ​Pro řídicí jednotku vyberte vhodný procesor. 
-    Vytvořené ření začleňte do existujícího simulátoru. +    - Řídicí jednotka ​bude splňovat ​tyto požadavky: 
-    Napište návod pro použití simulátoru a to včetně vytvořeného modulu+      * komunikace ​es mobilní GSM bránu, 
-    ​* Vytvořte několik příkladů použití vytvořeného modulu+      zobrazení údajů přes OLED displej, 
-    ​* Výsledné ​řešení včetně návodu otestujte.+      * 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í.
  
-  * **Levné zařízení pro měření veličin a zobrazování informací založené na existujícím wifi routeru** ​(Low cost device ​used for data colection based on wifi router)(BP - Adam Benda+  * **Modulární monitorovací systém správného chodu serverovny ​(The modular monitoring system ​used for the server room)** (BP - Čtvrtečka Karel
-    ​* Prostudujte ​existující řešení. +    ​- Prozkoumejte ​existující řešení. 
-    ​* Vyberte vhodný wifi router za účelem modifikace a vylepšení ​jeho funkcí+    ​- Navrhněte vlastní řešení ​pro monitorování chodu serverovny
-    ​* Na základě vybraného wifi routeru navrhněte a sestavte zařízení,​ ke kterému připojíte teplotní ​jiné senzory, a malý displej+    ​- Základem systému bude řídicí jednotka ​množina modulů obsahujících ​senzory . 
-    ​* Navrhněte a implementujte aplikaci, která agreguje ze zařízení naměřené hodnoty, skladuje je a umožňuje jejich prohlížení. +    ​- Řídící jednotka bude umožňovat: 
-    Navrhněte a implementujte aplikacikterá ​na zařízení zobrazuje data získaná ze sítě Internet (např. přehled zprávnejbližší odjezd autobusu)+      stahování dat z čidel, 
-    ​* Navržené zařízení otestuje.+      * 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 ​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.
  
  
-===== Available works =====+  * **Ří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.
  
-**Pokud máte o téma zájem, napište mi emailRezervace ​systému bpm nemá žádnou váhu.**+  ​* **Ří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í ​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.
  
-  * **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 hierarchicky. Výstupní formát bude možné konfigurovat s pomocí konfiguračního souboru. Aplikace bude umožňovat editovat jednotlivé záznamy uložené v souboru XML a vytvářet vazby mezi referencemi,​ jako je například tento článek byl citovat v těchto publikacích. BP - doba práce 2 semestry (volné) (100% SW) 
  
-  * **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)+  * **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. 
 + 
  
-  * **Programovatelný hardwarový generátor všech typů paketů** BP, DP - doba práce 2-4 semestry (volné) (80% SW, 20% HW) 
  
-  * **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ýchPřekladač ​bude schopen přeložit následující prvky jazyka C: aritmetické a logické operacepodmíněný výraz if (else ifelse)cyklus while, cyklus for a příkaz goto. Implementace ​bude s ohledem ​na multiplatformnost provedena ​jazyce Java(BP, DP) doba práce 2-4 semestry (volné) (90% SW10% 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 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 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.
  
-  * **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é v 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) 
  
-  * **Sada nástrojů ​pro On-Line diagnostiku** (Set of tools for On-Line test) - Naprogramujte sadu nástrojů pro On-Line diagnostikuNástroje budou založeny ​na již existujícím ​nástroji ​pro práci ​obvodyTento 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)+  * **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 ​pomocí FPGA obvodu. 
 +    ​Pro účel ​testování ​propojte navrhnutý radič s vývojovou deskou RaspberryPI. 
 +    - Výsledné řešení řádně otestujte
  
-  * **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 s A/D převodníkem. Tento modul upravte tak, aby 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 převodníku. Získaná data zobrazte. ​ BP, DP - doba práce 2-4 semestry (volné) (50% SW, 50% HW) 
  
-  * **JTAG SPI USB programátor ​pro ATMEL** - Navrhněte programátor včetně programovatelné redukce pro programování mikrořadičů AtmelBPDP - doba práce 2-4 semestry ​(volné) (50% SW, 50% 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
  
-  * **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 ​železnicePro toto zařízení napište firmware ​pro mikrořadič a spolehlivý ​řídicí systém popsaný v jazyce VHDL to takaby 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 obvoduBP, DP - doba práce 2-4 semestry (volné) (50% SW, 50% HW)+  * **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 ​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 ​závislosti na oprávnění ​ihlášeného uživatele.
  
-  * **Programovatelný stmívač světel pro domácí zvířata** Navrhněte zařízení pro stmívání světel ​řízené mikrořadičemZařízení bude umožňovat stmívat 2 žárovky. Pro zadání průběhu stmívání napište aplikaci. Zařízení ​bude možné ​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)+  * **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é ​es CAN sběrnici i fyzickými ovladači. 
 +    * Navržené ​řešení zrealizujte a řá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é linceBP, - doba práce 2 semestry (volné) (60% HW, 40% 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 ​řá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.
  
-  * **Zařízení pro 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čka, teploměr, apod)BP, DP - doba práce 2-4 semestry ​(volné) (90% SW, 10% HW)+  * **Přenosný ​í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.
  
-  * **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 ​enášet jen jednoduché informaceBP, DP - doba práce 2-4 semestry (volné) (50% HW, 50% 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í. 
 +    * 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 ​í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.
  
-  * **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átoru. BPDP - doba práce 2 semestry (volné) (100% SW)+  * **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é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
  
-  * **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í ​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 a co nejmenší pořizovací cenuSledovací zařízení ​bude umožňovat ​získání fotografie okolí s různou kvalitou. BPDP - doba práce 2 semestry (volné) (10% HW, 90% SW)+  * **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.
  
-  * **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óduZvolte vhodný výstupní formátBP, DP - doba práce 2-4 semestry (volné) (100% SW)+  * **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.
  
-  ​* **Simulátor procesoru DOP** Prostudujte existující řešení. V programovacím jazyku Java implementujte simulátor výukového procesoru DOP-v3. Simulá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)+  ​ 
 +===== Available projects ​FIT =====
  
-  * **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. BP, DP - doba práce 2-4 semestry ​(volné) (100% SW)+  ​1. Arduino HW/SW 
 +    ​GPS ijímač a jeho aplikace 
 +    ​Meteo stanice 
 +    ​GSM modém a jeho aplikace 
 +    * NFC a bezkontaktní karty 
 +    * univerzální desky s různými periferiemi 
 +    * řízení modelu auta 
 +    * generator analogových průběhů 
 +    * přípravky pro desku digilent CMOD A7/S7 (displej, tlačítka, switche, atd.) 
 +    * návrh hardware pro desku digilent CMOD A7/S7 
 +    * vlastní zadání 
 +    * Wifi a ESP32/​ESP2866 
 +    * zařízení pro ochranu baterie před vybitím
  
-  * **Procesory ​pro FPGA obvody (Soft processors for FPGA circuits)** - Prostudujte existující řešení ​procesorů popsaných ​jazyce VHDL. Srovnejte 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 ípravek firmy XILINX Spartan 3E vytvořte vzorovou aplikaci využívající všechny funkce vytvořené knihovny. BP, DP doba práce 2-4 semestry (volné) (80% SW, 20% HW)+  ​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í
  
-  * **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 a VHDL dostupné jako diplomová práce. Navrhněte a zrealizujte ​vlastní ​řešení 1G, 100M ethernetového jádra napsaného v jazyce VHDL a to tak, aby bylo možné využít pouze jednu hodinovou doménu. Pro jednotlivé částí i pro celé jádro proveďte verifikaci. Pro 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)+  ​3. Visual C++/C# 
 +    ​aplikace pro komunikaci s periferiemi v PC 
 +    ​aplikace pro komunikaci s procesorem Zynq 
 +    ​aplikace pro správu projektu ve VHDL 
 +    ​překladače 
 +    * grafické aplikace pro výuku 
 +    * vlastní ​zadání
  
-  * **Modul pro správu projektů ​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 ​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ů. ípadě potřeby navrhněte nové vývojové ​prostředí. ​Otestujte generátor VHDL kódu na základě zadaných parametrů uživateleJako programovací jazyk zvolte Javu (BPDP 2-4 semestrymožnost práce více studentů najednou jako tým)+  ​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 (ARM, Z80, 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í ​porcesorem atmel + drobné periferié 
 +    ​zařízení s nízkou spotřebou 
 +    ​vlastní zadání 
 + 
 +  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 Radio) aplikace - sledování a analýza provozu 
 +    * vlastní zadání 
 + 
 +  7. Android 
 +    * aplikace ​pro práci s hardware (raspberry PI, Arduino a jiné) 
 + 
 +  8Python 
 +    * 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í ​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í 
 + 
 +  2Virtualizace 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 ​í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 tzvCI farmy) 
 +    * podpora deklarativního popisu činností (pipelines) 
 +    * porovnání známých CI nástrojů ​(jenkinsjenkins-xgitlab, 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íž
 + 
 +**Pokud máte o téma zájem, napište mi email. Rezervace v systému bpm nemá žádnou váhu. Pokud se Vám nelíbí žádné z nabízených témat, koukněte do archívu dostupných zadání.** 
 + 
 + 
 +  *[[project:​2018:​proj_archiv|Návrhy zadání dostupných projektů]] 
 + 
 + 
 +===== Projekty zadané externím zadavatelem ===== 
 + 
 +  * [[project:​eaton:​proj_eaton|EATON HW/SW]]
  
-  * **Portace operačního systému android na vývojovou desku s 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 a vytvořte knihovny pro obsluhu periferií. Pro vytvořenou knihovnu vytvořte demo aplikaci. (BP, DP 2-4 semestry) 
  
-  * **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) 
  
-  * **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) 
  
-  * **Knihovna funkcí v jazyce C pro mikrořadič ARM 32 firmy ATMEL** (BP, DP 2-4 semestry) 
  
-  * **Jednoduchý TCP/IP stack pro malé procesory** (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:​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:​2017:​proj_2017|Realized projects 2017]]
 +  *[[project:​2016:​proj_2016|Realized projects 2016]]
 +  *[[project:​2015:​proj_2015|Realized projects 2015]]
   *[[project:​2014:​proj_2014|Realized projects 2014]]   *[[project:​2014:​proj_2014|Realized projects 2014]]
   *[[project:​2013:​proj_2013|Realized projects 2013]]   *[[project:​2013:​proj_2013|Realized projects 2013]]
project/proj_list.txt · Last modified: 2024/02/15 10:30 by xkubalik