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 [2018/08/20 12:30]
xkubalik [Current projects]
project:proj_list [2023/02/07 10:35]
xkubalik [Current projects]
Line 2: Line 2:
 ===== Current projects ===== ===== Current projects =====
  
 +  * **Zařízení pro ovládání základních periferií připojených k FPGA obvodu (Device for controlling basic peripherals connected to the FPGA circuit)** (BP - Šebek Michal)
 +    - Prozkoumejte existující řešení ovládání periferií z FPGA obvodu firmy XILINX.
 +    - Zaměřte se zejména na tyto periférie: OLED displej, alfanumerický displej, tlačítka, přepínače,​ led diody.
 +    - Navrhněte vlastní knihovnu zaměřenou na ovládání periferií zejména přes sběrnici I2C.
 +    - Navrženou knihovnu zrealizujte a řádně otestujte.
 +    - Pro demonstraci správné funkce periférií napište obslužnou aplikaci pro FPGA Artix-7.
 +    - Aplikace bude obsahovat menu pro volbu testování periférií a nastavení obsahu registrů.
 +    - Výsledné řešení řádně otestujte. ​
  
  
 +  * **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)
 +    - Analyzujte technologii SDR(softwarově definovaného rádia) a jeho možnosti pro odchytávání bezdrátových zařízení.
 +    - Zaměřte se zejména na zařízení pracující v pásmu 433MHz a 868MHz.
 +    - Prozkoumejte existující řešení pro odchytávání a analýzu těchto zařízení.
 +    - 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.
 +    - Nástroj by měl být tvořen knihovnou a grafickým rozhraním pro odposlech a zpracování naměřených dat.
 +    - Podporována budou zejména zařízení typu: bezdrátový teplotní senzor, bezdrátové senzory v automobilu a bezdrátové měřiče tepla v domácnostech. ​
 +    - Nastroj bude umožňovat analyzovat přenos, a to jak nešifrovaný,​ tak i šifrovaný.
 +    - 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.
 +    - Navržené řešení zrealizujte a řá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í ​aplikace Adobe Lightroom ​s pomocí ​hardwarového ovladače ​(A device to control Adobe Lightroom using a hardware driver)** (BP Macháček Vitězslav
-    ​* Navrhněte jádro aplikace ​umožňující ​výměnu informací ​pomocí spolehlivé komunikační linky+    ​- Prozkoumejte existující řešení ​umožňující ​ovládání aplikace Adobe Lightroom ​hardwarového ovladače
-    ​* Zařízení ​bude podporovat minimálně 2 sériová rozhraní. +    ​- Navrhněte vlastní zařízení ​fungující jako samostatný ovladač splňující tyto požadavky: 
-    * Komunikace bude probíhat v textové i binární podobě zabezpečené jednoduchým bezpečnostním kódem. +      ​- komunikace s aplikací bude realizována přes USB a Bluetooth,​ 
-    * Jádro bude umožňovat kontrolovat i parametry navrženého protokolu. +      - ovladač ​bude umožňovat ​čtení vstupů z encodérů, tlačítek a Hallových senzorů, 
-    * Se zařízením ​bude možné vyměňovat ​jednoduché parametry, pole parametrů a bloky dat paměti. ​   +      - ovladač bude napájen z baterie
-    * Pro spolehlivé zpracování komunikace navrhněte vhodné spolehlivé schéma ​například několik vláken+    ​Navržený ovladač zrealizujte a naprogramujte
-    ​Navržené jádro otestuje a nasimulujte různé způsoby uváznutí ​částí programu+    ​Pro PC vytvořte vlastní ​aplikaci ​umožňující zpracování dat z ovladače a jejich přenos do aplikace Adobe Lightroom Classic. 
-    ​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 v PC bude dále umožňovat ​nastavení chování ovladače a nastavenou konfiguraci ukládat lokálně. 
 +    - Výsledné ​řešení řádně otestujte.
  
-  * ** Aplikace ​pro spolehlivé ovládání hardware s pomocí sériové ​komunikace (Application used for reliable serial ​communication)** ​(DP - Martin ​Chudoba+  * **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) 
-    ​* 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í+    ​- Prozkoumejte existující nástroje určené k analýze NFC komunikace
-    ​* Základní funkční a nefunkční požadavky jsou: +    ​- Analyzujte technologií SDR (softwarově definovaného rádia). 
-    ​* 1. Analyzujte ​požadavky a proveďte návrh protokolu ​modulu pro komunikaci takaby bylo možné přenášet různě velké struktury dat a to jak binárnětak i textově+    ​Analyzujte ​technologii NFC, zejména princip komunikace mezi NFC čtečkou NFC kartou (MIFARE ClassicMIFARE DESFireMIFARE Plus)
-    ​* 2. Analyzujte ​požadavky ​proveďte návrh jádra tak, aby dokázal odolat výpadkům jednotlivých komunikačních linek+    ​Analyzujte a navrhněte způsob pro odposlech NFC komunikace pomoci SDR
-    ​* 3. Diskutujte ​zvolte vhodnou implementační platformu+    ​- Navrhněte přenosné zařízení,​ které bude umožňovat odposlech, záznam ​prvotní analýzu NFC komunikace
-    ​* 4. Návrh implementujte. +    ​- 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
-    * 5. Navrhněte a implementujte demonstrační aplikacikterá začlení a použije komunikační modul+    ​- Navržené ​řešení zrealizujte na platformě Raspberry Pi. 
-    ​* 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+    - Pro výsledné zařízení napište v jazyce Python obslužnou aplikaci
-    ​* 7. Zhodnoťte přínos řešení.+    ​- Výsledné zařízení ​řádně otestujte.
  
-  * ** Zařízení ​pro získávání ​zpracování dat z internetu na platformě Raspberry Pi (Internet data processing device based on the Raspberry Pi platform)** (DP - Jakub Kužel+  * **Řídící jednotka ​pro vzdálené monitorování ​ovládání vytápění rodinného domu (Control unit for remote monitoring and control of family house heating)** (BP Bukač ​Jakub) 
-    ​* Z počítače Raspberry Pi vytvořte zařízení ​pro zpracování ​prezentaci dat z internetu+    ​- Prozkoumejte existující ​řešení. 
-    ​Pro toto zařízení ​vyberte vhodný ​OS+    - Navrhněte vlastní ​řešení ​pro vzdálené monitorování ​ovládání vytápění rodinného domu
-    * Navrhněte a naprogramujte aplikaci v jazyce C pro získávání a zpracování dat z různých zdrojů (periferie Raspberry PiSD karta, internet). +    ​Pro řídicí jednotku ​vyberte vhodný ​procesor
-    Za účelem získání dat ze souboru nebo webové stránky použijte jednoduchý skriptovací jazyk. +    ​- Řídicí jednotka bude splňovat tyto požadavky:​ 
-    Zařízení bude možné konfigurovat a ovládat pomocí zabezpečeného síťového spojení ze vzdáleného PC nebo přímo lokálně ​pomocí ​dotykového displeje. +      ​komunikace přes mobilní GSM bránu
-    Aplikace bude umožňovat vzdálenou instalaci nového digitálního certifikátu pro zabezpečený přenos dat+      zobrazení údajů přes OLED displej, 
-    ​* Výsledné ​řešení ​otestujte+      ření času s pomocí ​RTC, 
 +      ření teploty
 +    ​- Navržené ​řešení ​zrealizujte a řádně otestuje. 
 +    - Pro řídicí jednotku napište vhodný SW pro demonstraci správné funkce zařízení.
  
-  * ** Knihovna funkcí pro podporu diagnostického protokolu s pomocí UDP (UDP support library ​for diagnostic protocol)** (BP - Jaromír Mikušík+  * **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í ​diagnostické protokoly používané pro vyčítání dat a nahrávání software do mikrokontroleru+    ​Prozkoumejte existující ​řešení
-    ​* 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í řešení ​pro monitorování chodu serverovny
-    ​* Implementované funkce budou navrženy ​implementovány s ohledem na minimální latence a timeouty běžné při implementaci nad TCP protokolem+    ​- Základem systému bude řídicí jednotka ​množina modulů obsahujících senzory ​
-    ​* Knihovna funkci ​bude rozdělená na části server a klient. +    ​- Řídící jednotka ​bude umožňovat:​ 
-    Server bude implementován ​jazyce C++ obecně pro libovolný mikrokontroler+      * stahování dat z čidel, 
-    ​* Client ​bude s ohledem na použití na PC implementován v jave+      uchovávání historie dat DB, 
-    ​Výsledné řešení otestujte.+      * možnost nastavení upozornění na překročení limitů hodnot, 
 +      * komunikaci přes ethernet
 +    ​- Modul senzorů ​bude splňovat:​ 
 +      * univerzální deska podporou čidel přes UART, SPI, I2C, Analog, 
 +      * jednoduchá rozšiřitelnost
 +    ​- Pro komunikaci řídicí desky a modulů zvolte vhodný komunikační protokol. 
 +    - Výsledné řešení ​zrealizujte a řádně ​otestujte.
  
-  * **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) 
-    * Prostudujte existující řešení 
-    * Navrhněte a implementujte knihovnu pro platformu Android zajišťující komunikaci mezi zařízením se systémem Android a vývojovým kitem Arduino. 
-    * Knihovna bude umožňovat komunikaci pomocí USB, Bluetooth a Wi-Fi na protokolu TCP/IP. 
-    * Pro vytvořenou knihovnu napište testovací aplikaci, která bude prezentovat funkčnost komunikace. 
-    * Aplikace bude napsána tak, aby bylo možné ji snadno rozšířit o další funkční prvky. 
-    * 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. 
  
-  * **Aplikace ​pro zpracování a prezentaci dat z experimentů pro OS Windows ​(Application used for management and presentation of experimental data based on OS Windows platform)** - (BP - Roman Artemov+  * **Ří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
-    ​Navrhněte ​a implementujte aplikaci ​pro zpracování a prezentaci experimentálních dat+    ​- Prozkoumejte existující řešení. 
-    ​* Aplikace ​bude napsána v Microsoft ASP.NET MVC. +    - Navrhněte ​vlastní řešení řídicí jednotky ​pro připojení led pásky
-    Aplikace bude umožňovat s pomocí jednoduchého skriptu zpracovat výsledky z naměřených experimentálních dat. +    ​- Řídicí jednotka ​bude splňovat tyto požadavky: 
-    Zpracovaná data bude možné prezentovat jako tabulku nebo graf+      možnost připojení dvou a více led pásků, 
-    Nastavování plánování extrakce dat s pomocí jednoduchého skriptu ​bude možné s pomocí ​Windows task scheduleru. +      podpora více typu ledAlespoň jeden 12V a 5V, 
-    * Extrahovaná data budou exportována do generického XML dokumentu ​následně zpracována implementovanou aplikací. +      jednotku ​bude možno ovládat ​pomocí ​tlačítek, dálkového ovládání ​SSH, 
-    Autentizace ​pro přístup k webové stránce bude řešena s pomocí SSO ve federaci cvutID. +      * pro obsluhu k jednotce ​ipojte Waveshare 2.7 e-ink display a vytvořte vhodné grafické rozhraní, 
-    Vzdálená zpráva aplikace (nastavení plánování,​ šablon ​základní konigurace) bude umožněna přes zabezpečené webové rozhraní+      jednotka bude obsahovat senzor zvuku světla sloužících k automatickému spouště
-    ​* Pro výslednou aplikaci vytvořte několik testovacích dat pro ověření správné funkce.+    ​- Navržené ​řešení zrealizujte a řádně otestujte.
  
-  * **Dohledové zařízení ​pro chytrou domácnost založené na platformě Arduino ​(Monitoring device used in smart home based on Arduino ​platform)** - (BP - Martin Dvořák+  * **Ří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
-    ​Navrhněte ​a realizujte ​zařízení ​umožňující monitorování a ovládání chytré ​domácnosti. +    ​- Prozkoumejte existující řešení. 
-    * Zařízení ​bude obsahovat analogové a digitální vstupy/​výstupy. +    - Navrhněte ​vlastní řešení řídicí jednotky pro vzdálenou správu elektrických ​zařízení ​domácnosti. 
-    Pro komunikaci ​bude zařízení ​obsahovat ​GSM Ethernet modem. +    ​- Řídicí jednotka bude splňovat tyto požadavky:​ 
-    * Při volbě periferií se zaměřte zejména na možnost ​sledování stavu zálohovací baterie a možnosti ovládat ​externí ​zařízení s pomocí ​Relé. +      ​možnost přístupu k jednotce pomocí pevného i bezdrátového spojení, 
-    Zařízení ​bude umožňovat přijmout SMS a následně odeslat ethernetový rámec ​požadovaným obsahem+      * jednotku ​bude možné ovládat z internetu, 
-    ​* Zrealizované zařízení následně propojte s vývojovou deskou Raspberry PI, na které bude nainstalován vhodný operační systém včetně jednoduchého dohledového software+      * jednotka ​bude obsahovat ​displej ​tlačítka pro možnost ​nastavení základních parametrů,​ 
-    ​* Funkčnost výsledného ​zařízení ​demonstrujte na několika ​íkladech.+      * 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í ​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í ​ístup k řídicí jednotce přes webové rozhraní. 
 +    - Výsledné řešení řádně otestujte.
  
-  * **Nástroj pro generování vývojových diagramů z podmnožiny jazyka C (A tool for generating flowcharts from a subset of C language)** - (BP - Vojtěch Procházka) 
-    * Cílem práce je vytvořit nástroj pro generování vývojových diagramů zejména pro vyjádření funkce mikroprogramového automatu. 
-    * Prostudujte existující řešení a vyberte vhodnou cílovou aplikaci pro zobrazení vývojového diagramu. 
-    * Důraz bude kladen na jednoduchou konverzi mezi jazykem C a vnitřní formou popisu v cílové aplikaci. 
-    * Navrhněte řešení pro automatické generování vývojových diagramů pomocí podmnožiny příkazů jazyka C. 
-    * Navržené řešení zrealizujte a otestujte. 
-    * Vytvořte několik ukázek možného popisu vývojového diagramu v jazyce C. 
  
-  * **Inteligentní ovládání a správa běžných zařízení v domácnosti (A device for controlling and managing of smart home)** - (BP - Vojtěch Pail) 
-    * Prostudujte existující řešení pro ovládání a správu zařízení používaných pro chytré domácnosti. 
-    * Navrhněte vlastní systém založený na modulární architektuře. 
-    * Řešení bude obsahovat základní jednotku pro správu a řízení a univerzální modul umístěný u ovládaného zařízení. 
-    * Pro propojení těchto modulů navrhněte vhodnou propojovací strukturu včetně komunikačního protokolu. 
-    * Navržené řešení zrealizujte a otestujte. 
-    * Vytvořte několik ukázek možných aplikaci pro ovládání jednotlivých zařízení jakou jsou světla, zásuvky apod. 
  
-  * **Generátor elektrických obvodů ​pro předmět ČAO** (Automatic analog circuit generator)(BP - Branda Šimon+  * **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 kreslení elektrických obvodů. +    ​Prozkoumejte existující řešení pro měření efektivity komunikace při obsluze většího množství senzorů. 
-    ​* Vytvořte aplikaci, která 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í ​umožňující připojení většího množství externích senzorů k platformě Arduino
-    ​* Aplikace ​bude umožňovat ​nastavit hodnoty a typ součástky ​obvodu+    ​- 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ů
-    ​* Výsledné schéma bude možné překreslit tak, aby se změnila pouze pozice součástky+    ​- Pro komunikaci mezi mikrokontrolerem Arduino a externími senzory použijte protokol RS485
-    ​* Vygenerované schéma bude možné uložit do formátu XML opětovně načíst+    ​- Navržené řešení zrealizujte ​řádně otestujte
-    ​* Aplikace bude umožňovat popsat obvod s pomocí rovnic a to jak v časové oblasti, tak s pomocí fázorů+    ​- V jazyce C++ napište obslužnou aplikaci Arduina
-    ​* Vygenerované rovnice bude možné bez úprav vložit do programu Wolfram Mathematica ​zpracovat+    ​- Pro účely testování ​analýzy spotřeby zdrojů vytvořte aplikaci v C++ pro OS Windows ​ emulující velké množství senzorů
-    ​* Při generování rovnic bude možné zvolit směr proudu a napětí ručně, popřípadě automaticky+    ​- Na základě získaných výsledků navrhněte algoritmus pro efektivní obsluhu velkého množství senzorů s pomocí mikrokontroleru Arduino
-    * Výsledné řešení otestujte.+ 
  
-  * **Univerzální vývojová deska s Arduinem** (Universal development board with Arduino)(BP - Jan Kubát) 
-    * Prozkoumejte existující vývojové desky s Arduinem a zaměřte se zejména na množství a typ periferií. 
-    * Navrhněte vlastní vývojovou desku obsahující velké množství periferií. 
-    * Vývojová deska by měla obsahovat zejména tyto periferie: grafický display, tlačítka, lineární potenciometr,​ teploměr/​vlhkoměr,​ ultrazvukový měřic vzdálenosti,​ wifi/​ethernet,​ bluetooth, RFID. 
-    * Navržené řešení zrealizujte a otestuje. 
-    * Pro demonstraci správné funkce periferií vytvořte několik demonstračních aplikací. 
  
-  * **Programovatelné zařízení s nízkou spotřebou ​pro ochranu baterie** ​(Low power programmable device ​for battery protection) (BP Miroslav Kallus+  * **Řídicí systém ​pro model terénního vozítka založený na platformě Arduino ​(The control system used for terrain vehicle model based on Arduino platform)** - (DP Zemánek Martin
-    ​Prozkoumejte existující řešení. +    ​Prozkoumejte existující ​možná ​řešení ​pro dálkové ovládání vozítek
-    ​Navrhněte vlastní řešení zařízení ​zajišťující ochranu baterie proti úplnému vybití. +    ​- Pro návrh řízení vozítka vyberte vhodný model obsahující 6 samostatně řiditelných kol. 
-    Zařízení bude umožňovat ​nastavení minimální úrovně napětípři kterém má být baterie odpojena od spotřebiče. +    - Navrhněte vlastní řešení ​řízení vozítka s pomocí platformy Arduino ​za následujících podmínek:​ 
-    Zařízení bude navrženo takaby v klidovém stavu odebíralo minimální proud ze zdroje napájení. +      * každá dvojice kol bude mít vlastní ​řízení ​ovládané samostatným arduinem, 
-    Pro ovládání a nastavení celého zařízení vyberte vhodný mikrokontrolér. +      * řízení bude umožňovat ​jízdu všemi směry
-    Nastavení ​bude možné provést ​pomocí několika tlačítek ​jednoduchého displeje+      * řízení bude centrálně ovládáno hlavní deskou s Arduinem
-    ​Navržené řešení zrealizujte a otestujte. +      veškeré řízení pohybu vozítka bude provedeno pomocí dálkového ​ovládání
-    * Pro výsledné ​řešení s mikrokontrolérem napište aplikaci umožňující nastavit a sledovat celé zařízení.+      * vozítko bude na sobě obsahovat další senzory potřebné pro pohyb detekci překážek pro všechny směry, 
 +      vozítko ​bude umět automaticky měnit maximální rychlost v závislosti na vzdálenosti od překážky,​ a ve všech směrech ​možného pohybu. 
 +    - Počítejte ​možným pozdějším rozšířením o platformu Raspberry PI umožňující použití například rozhraní wifi, SD karty přídavné kamery
 +    ​Navržené řešení zrealizujte a řádně otestujte.
  
-  * **Nástroj pro analýzu procesů v jádře os Android na platformě Raspberry PI** (Android core process analysis tool on Raspberry PI platform) (BP - Roman Vaivod) 
-    * Explore existing projects that support porting of os Android to the Raspberry PI platform. 
-    * Select the most suitable project and port it on the Raspberry PI platform. 
-    * Find a good place in the architecture of Android for the placement of the diagnostic tool. 
-    * Design a tool for performance analysis of Android components. 
-    * Tool will be developed in C++ language 
-    * Tool will allow to trace events happening with specified process in specified period of time and create a list where each entry is described by at least three parameters: CPU usage, memory usage, system/​process event. 
-    * Based on this list, tool will detect possible performance problems in execution of the process and output problematic sequence of events to user. 
-    * Tool will be written with respect to the next extension. 
-    * Implement the proposed tool and write tests for it. 
-    * Create some examples to demonstrate usage of the tool. 
  
-  * **Inteligentní zrcadlo s Raspberry Pi pro ovládání chytré domácnosti** (Intelligent mirror with Raspberry Pi for smart home control) (BP - Frederik Štefaniak) 
-    * Prozkoumejte existující řešení inteligentních zrcadel 
-    * Zvolte vhodný typ dotykové obrazovky a zrcadlové vrstvy 
-    * Pro platformu Raspberry Pi vyberte vhodný OS 
-    * Napište konfigurační soubor pro připojení displeje přes HDMI port a dotykové vrstvy připojené přes USB port 
-    * Naprogramujte knihovnu pro ovládání periferií (světlá, bluetooth reproduktor,​ zásuvky) 
-    * Naprogramujte knihovnu pro získávání různých dát z internetu (počasí, čas, doprava, atp.) 
-    * Navrhněte a naprogramujte aplikaci umožňující ovládat dostupné periférie a zobrazovat výstupy z nich 
-    * Výsledné řešení otestujete ​ 
-    
-===== Available projects ===== 
  
-**Pokud máte o téma zájem, napište mi emailRezervace v systému bpm nemá žádnou váhu.**+  ​* **Inovace řadiče pro grafický LCD displej elektronického psacího stroje (The controller innovation of graphical LCD display used in electronic typewrite)** - (BP - Pankovčin Boris) 
 +    - Prozkoumejte existující řešení ovládání LCD displeje psacího stroje typu Triumph-Adler Gabriele PFS. 
 +    - Z dokumentace k radiči MSM6255 analyzujte a na existujícím řešení ověřte průběhy pro ovládání displeje. 
 +    - Na základě získaných dát navrhněte a zrealizujte vlastní řadič displeje s pomocí FPGA obvodu. 
 +    - Pro účel testování propojte navrhnutý radič s vývojovou deskou RaspberryPI. 
 +    - Výsledné řešení řádně otestujte
  
-  * **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 beagleboardPro tuto desku s pomocí linuxového jádra rozchoďte všechny periférie ​napište demo aplikaciBP, DP - doba práce 2-4 semestry ​(volné) (100% SW)+  * **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 ​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
  
-  * **Programovatelný softwarový generátor všech typů paketů** BP - doba práce 2 semestry (volné) (100% 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í přihlášeného uživatele.
  
-  * **Programovatelný hardwarový generátor všech typů paketů** BP, DP doba práce 2-4 semestry (volné(80% SW20% 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 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.
  
-  * **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é ​binární typy proměnných. Překladač bude schopen ​eložit následující prvky jazyka C: aritmetické ​logické operace, podmíněný výraz if (else if, else), cyklus while, cyklus for a příkaz gotoImplementace ​bude s ohledem ​na multiplatformnost provedena ​jazyce Java(BP, DP) - doba práce 2-4 semestry (volné) (90% SW, 10% HW)+  * **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 uživatelské části představované lokátorem (tyto dvě zařízení budou mezi sebou komunikovat ​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ů ​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.
  
-  * **Jednoduchý překladač z jazyka c do automatového popisu ​ - Simple translator from C to automata description** - Navrhněte a zrealizujte ​ekladač z programu popsaného podmnožinou íkazů jazyka c do mikroprogramu popsaného v jazyce VHDLProzkoumejte ​existující řešení. ​Jazyk c bude podporovat vybrané celočíselné ​binární typy proměnnýchPřekladač bude schopen ​eložit následující prvky jazyka C: aritmetické ​logické operace, podmíněný výraz if (else if, else), cyklus while, cyklus for příkaz gotoImplementace bude s ohledem na multiplatformnost provedena v jazyce Java. (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 ​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 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 ​es technologii GSM – formou SMS za pomoci LCD displeje ​(základní orientační údaje)
 +    * Navržené řešení zrealizujte ​a řádně otestujte.
  
-    ​* **Š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 diskuNavrhněte a zrealizujte vlastní ​řešení ​napsané v jazyce VHDLPro návrh ​použijte ​existující ethernetové jádro napsané ​jazyce VHDL(DP) - doba práce 2-4 semestry (volné) (50% SW, 50% HW)+  ​* **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 RS kódy, Goppa kódy a kódy konvoluční. 
 +    * V dostatečné míře nastudujte a zdokumentujte příslušnou matematickou teorii. 
 +    * Navržené ​řešení ​zrealizujte a řádně otestujte 
 +    * Vytvořte několik příkladů ​použití každého kódu. 
 +    * Využijte ​získaných poznatků ke zmapování současného stavu použití bezpečnostních kódů ​kryptografii.
  
-  * **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 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 í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)+  * **Osobní GPS lokátor na platformě Arduino ovládaný přes SMS příkazy (Personal GPS locator based on Arduino platform controlled by SMS commands)** (BP Stáhl Martin) 
 +    * Prozkoumejte existující řešení ​pro osobní GPS lokátory. 
 +    * Analyzujte technologii GSM/GPS 
 +    * Analyzujte a navrhněte ​řešení ​které řeší nedostatky momentálně dostupných zařízení ​na trhu 
 +    * Zaměřte se na zařízení které není závislé na pohotovostní službě na vzdáleném serveru 
 +    * Navržené zařízení se bude skládat z: Arduino mikrokontroléru,​ GPS/GSM modulu, baterie, mobilní android aplikace pro snadné generovaní textových SMS íkazů 
 +    * Komunikace ​bude probíhat přes technologiii GSM a textové SMS příkazy 
 +    * Navržené zařízení zrealizujte a řá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) +  * **Generátor VHDL kódu (VHDL code generator)** - (BP - Fořt Rostislav
- +    * Prozkoumejte existující řešení. 
-  * **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) +    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í
-  * **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+    Výsledné ​řešení řádně otestujte
- +    Požadavky: 
-  ​**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 žárovky. Pro zadání průběhu stmívání napište aplikaci. Zaří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) +      ​Aplikace ​bude napsaná v jazyce C++ 
- +      Aplikace ​bude umožňovat vytvářet a upravovat ​šablony ​VHDL struktur 
-  * **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 ) +      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.
-  ​**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ód. K 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) +
- +
-  * **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é informace. BP, DP - doba práce 2-4 semestry (volné) (50% HW, 50% SW ) +
- +
-  ​**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átoruBP, DP - doba práce 2 semestry (volné) (100% SW) +
- +
-  ​**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 a co nejmenší pořizovací cenu. Sledovací zařízení bude umožňovat získání fotografie okolí s různou kvalitou. Pro výsledné zařízení navrhněte a nechte vyrobit plošný spojBP, DP - doba práce 2-4 semestry (volné) (10% HW, 90% SW) +
- +
-  **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. BP, DP - doba práce 2-4 semestry (volné) (100% SW) +
- +
-  **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) +
- +
-  * **Generátor obvodů pro př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) +
- +
-  * **Procesory pro FPGA obvody (Soft processors for FPGA circuits)** - Prostudujte existující řešení procesorů popsaných v 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 pří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) +
- +
-  * **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á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) +
- +
-  **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) +
- +
-  * **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. (BPDP 2-4 semestry) +
- +
-  * **FPGA deska řízená procesorem ARM** - Navrhněte zařízení obsahující FPGA obvod a procesor ARMMezi těmito obvody vytvořte komunikační linku vhodnou ​pro řízení FPGA obvodu s pomoci procesoru ARMZvolte 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) +
- +
-  * **Knihovna funkcí v jazyce C pro vývojový kit STM32F030** (BP, DP 2-4 semestry) +
-  +
-  * **Knihovna funkcí v jazyce C pro vývojový kit STM32F4** (BP, DP 2-4 semestry) +
- +
-  * **Knihovna funkcí v jazyce C pro vývojový kit STM32F303** (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 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.
  
-  ​* **Jednoduchý TCP/IP stack pro malé procesory** (BP, DP 2-4 semestry)+  ​ 
 +===== Available projects ​FIT =====
  
-  * **Slovník pro zkušení slovní zásoby využívající sdílené úložiště** (BPDP 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 s různými periferiemi 
 +    * řízení modelu auta 
 +    * generator analogových průběhů 
 +    * přípravky pro desku digilent CMOD A7/S7 (displejtlačí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
  
-  * **Vysoce spolehlivé zařízení ​pro automatické dávkování léku - Aplikace pro PC - C# nebo C++** (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í
  
-  * **Vysoce spolehlivé zařízení ​pro automatické dávkování léku - Firmware pro procesor** (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í
  
-  * **Vysoce spolehlivé zařízení ​pro automatické dávkování léku - Hardware** (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í
  
-  * **Ethernet 10G jádro** (BP, DP 2-4 semestry)+  ​5. Plošné spoje 
 +    ​návrh zařízení s porcesorem atmel + drobné periferié 
 +    ​zařízení s nízkou spotřebou 
 +    ​vlastní zadání
  
-  * **Ethernet ​řízený s pomocí SMS využívající ARM processor** (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í
  
-  * **Sledování zařízení ​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 ​nechte vyrobit plošný spoj. (BP, DP 2-4 semestry)+  ​7. Android 
 +    ​aplikace pro práci ​hardware (raspberry PIArduino ​jiné)
  
-  * **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)+  ​8. Python 
 +    ​aplikace ​pro zpracování a generování dat podle šablon
  
-  * **Aplikace pro Android umožňující řízení vývojového kitu Arduino** - Prozkoumejte různé způsoby propojení mobilního telefonu a OS Android a vývojového kitu Arduino. Vytvořte knihovnu umožňující komunikaci s touto deskou. Napište demonstrační aplikaci (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
  
-  * **Spolehlivá aplikace pro AVR/​ARDUINO** (BP, DP 2-4 semestry)+===== Available projects HW external =====
  
-  * **Aplikace pro správu VHDL projektů** - Programovací jazyk C++(QT)(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.
  
-  * **Překladač z jazyka C do VHDL** - Automat/​Testbench,​ Programovací jazyk C++, (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.
  
-  * **Řídicí systém s Arduienm** - Pro velké množství periferií vytvořte obslužné knihovny a napište demonstrační aplikaci, (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šní kompatibility.
  
-  * **Zařízení pro měření ​ukládání neelektrických veličin s pomocí ARM procesoru** - K vhodné existující desce s ARM procesorem připojte ​kolik čidel pro měření teploty, tlaku 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)+  ​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 ​opačně.  
 +    * Modul by l zvládat konverzi různé datové šířky audio samplu ​multiplexování více audio streamu do jednoho I2S interfacu.
  
-  * **Generátor webové stránky na základě naměřených dat pro OS Windows** - Vytvořte aplikaci pro server s OS Windowskterá 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(BP, DP 2-4 semestry)+  ​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átemtak na Native video formátem.
  
-  ​* **Generátor posudků ​na základě vytvořené šablony** - Vytvořte aplikaci, která ​na základě šablony umožní vytvořit posudekAplikace bude umožňovat ​šablony vytvářet a editovat. Pro popis šablon použijte nějaký vhodný formát (např, XML)(BP, DP 2-4 semestry)+  ​6. Embedded audio konvertor ​na AXi4 Stream a zpě
 +    ​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.
  
-  * **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)+  ​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.
  
-  * **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 hardware. Napište demonstrační aplikaci. (BP, DP 2-4 semestry)+===== Available projects SW external =====
  
-  * **Dotykový displej ​raspberry pi** Navrhněte 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í funkcePro otestování vytvoř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 s průmyslem 
 +    ​využití AoT kompilace ​minimalizace start-up času 
 +    * výběr vhodného JVM 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í
  
-  ​* **Automaty ve VHDL - mikroprogramovaný řadič** Prozkoumejte způsoby návrhu mikroporgramovaných řadičů ve VHDL a to s ohledem na způsob ​implementace ​zpoždění ​řídicích a stavových vodičů. (BP, DP 2-4 semestry)+  ​2. Virtualizace a izolace aplikačních prostředí ​spolupráce s průmyslem 
 +    * využití OCI kontejnerů jako způsob ​doručování aplikací 
 +    * analýza bezpečnostních chyb využívané technologie docker ​možnosti jejich eliminace 
 +    * porovnání s jinými přístupy (např. podman, buildah apod.) 
 +    * lokální orchestrace kontejnerů (docker-compose vs podman-compose) 
 +    * vnořování kontejnerů (napřdocker(-compose)-in-docker/​podman) 
 +    * vlastnosti container file systemů (např. OverlayFS) 
 +    * bezpečné (rootless) spuštění více kontejnerů uvnitř kontejneru
  
-  * **USB drivery ​pro MS Windows** - Navrhněte driver pro různé druhy přenos po USB sběrniciZaměřte se zejména na bulk přenos. (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í)
  
-  * **USB drivery pro MS Windows se zaměřením na FPGA obvod ZYNQ** - Navrhněte ​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 enosu. (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í ​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ářů 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-x, gitlab, tekton, github actions) 
 +    * návrh procesů pro validaci aplikací před jejich nasazením prostřednictvím testů
  
-  * **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)+  ​5. Projekty zadané externím zadavatelem 
 +    ​seznam zadavatelů ​že
  
-  ​* **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)+**Pokud máte o téma zájem, napište mi email. Rezervace v systému bpm nemá žádnou váhuPokud se Vám nelíbí ​žádné z nabízených témat, koukněte do archívu dostupných zadání.**
  
-  * **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)+  *[[project:​2018:​proj_archiv|Návrhy zadání dostupných projektů]]
  
-  * **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)+===== Projekty zadané externím zadavatelem =====
  
-  * **Nástroj pro automatické generování diagramu z jazyka C** - Navrhněte a implementujte nástroj umožňující na základě podmnožiny příkazů jazyka C generovat vývojový diagram. (BP, DP 2-4 semestry)+  * [[project:​eaton:​proj_eaton|EATON HW/SW]]
  
-  * **Podpora ovládání elektrického kolejiště s pomocí aplikace na PC** - Navrhněte a naprogramujte aplikaci pro podporu modelového kolejiště velikosti TT. (BP, DP 2-4 semestry) 
  
-  * **Aplikace pro komunikaci s hardware pomocí sériové linky** - Navrhněte a naprogramujte aplikaci pod OS MS Widnows. Aplikace bude napsána v jazyce c++ pod .NET. (BP 2-4 semestry) 
  
-  * **Jednoduchá meteorologická stanice s nízkou spotřebou a možností komunikace přes SMS** - Navrhněte zařízení které bude umožňovat monitorovat teplotu, vlhkost a tlak ne několika místech s možností vzdálené správy přes SMS zprávy (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 - 2018 =====+===== All projects archives 2004 - 2019 =====
  
 +  *[[project:​2020:​proj_2020|Realized projects 2020]]
 +  *[[project:​2019:​proj_2019|Realized projects 2019]]
   *[[project:​2018:​proj_2018|Realized projects 2018]]   *[[project:​2018:​proj_2018|Realized projects 2018]]
   *[[project:​2017:​proj_2017|Realized projects 2017]]   *[[project:​2017:​proj_2017|Realized projects 2017]]
project/proj_list.txt · Last modified: 2024/02/15 10:30 by xkubalik