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 [2014/03/06 14:13]
xkubalik [Available works]
project:proj_list [2022/02/03 12:57]
xkubalik [Current projects]
Line 1: Line 1:
 ====== All projects ====== ====== All projects ======
-===== Actual works =====+===== Current projects ​=====
  
-  * **Malé procesory AVR pro FPGA obvody (Small soft processors AVR for FPGA circuits)** - (BP Haken Lukáš) - Prostudujte existující řešení procesorů popsaných v jazyce VHDL. Zaměřte se hlavně na procesory AVR firmy Atmel. Srovnejte jejich parametry. Na základě srovnání implementujte jeden typ procesoru do FPGA obvodu. Proveďte tyto úkoly: 
-    * Vyberte vhodný procesor s ohledem na minimální spotřebu zdrojů FPGA a možnost využití stávajících nástrojů firmy Atmel umožňující programování v jazyce C. 
-    * K procesoru vytvořte několik rozhraní umožňujících komunikaci s periferiemi desky XILINX Spartan 3E. 
-    * Vytvořte knihovnu v jazyce C pro ovládání základních periferií. 
-    * Analyzujte možnosti rozšíření paměti tohoto procesoru. 
-    * Pro přípravek firmy XILINX Spartan 3E vytvořte vzorovou aplikaci využívající všechny funkce vytvořené knihovny. 
  
 +  * **Ří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.
  
-  * **Procesory ​pro FPGA obvod (Soft processors for FPGA circuits)** - (BP Filip Matouš) - Prostudujte ​existující řešení ​procesorů popsaných v jazyce VHDLSrovnejte jejich parametry. Na základě srovnání implementujte jeden typ procesoru do FPGA obvodu. Proveďte tyto úkoly+  * **Ří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) 
-    Vyberte vhodný procesor s ohledem na minimální spotřebu zdrojů FPGA a možnost ​programování v jazyce C. +    ​Prozkoumejte ​existující řešení. 
-    Vytvořte knihovnu pro ovládání základních periferií. +    - Navrhněte vlastní řešení řídicí jednotky pro vzdálenou správu elektrických zařízení v domácnosti. 
-    Rozšiřte základní paměť zvoleného procesoru+    - Řídicí jednotka bude splňovat ​tyto požadavky
-    ​Pro přípravek firmy XILINX Spartan 3E vytvořte vzorovou aplikaci využívající všechny funkce vytvořené knihovny.+      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 ​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.
  
  
-  * **Konstrukce vícerotorového dronu pro průzkum terénu (Quadrocopter for terrain survey)** - (DP Halák Jakub) - Prozkoumejte existující řešení. Navrhněte a zrealizujte vlastní létající zařízení. Zařízení by mělo být schopno komunikovat s Raspberry PI.  Zařízení bude využívat 4 motory, gyroskop, akcelerometr,​ GPS, magnetometr,​ barometr a sonar. Postup prací: ​ 
-    * Navrhněte a sestavte mechanickou konstrukci. 
-    * Navrhněte a zrealizujte základní řídicí desku s mikrořadičem pro ovládání všech dostupných periferií. 
-    * Vytvořte knihovnu pro mikrořadič umožňující komunikaci s periferiemi. Napište základní program pro létání. 
-    * Vytvořte demo aplikaci k ověření funkčnosti celého zařízení a jeho periferií. 
  
-  * **Mobilní robot schopný pohybu ve venkovním prostředí (Mobile outdoor robot)** (DP Horák Radim) - Navrhněte ​a zrealizujte konstrukci mobilního robota, který bude bezdrátově ovládán s pomocí RC vysílačky. Robot bude obsahovat měřič vzdálenosti,​ gyroskop, akcelerometr,​ magnetometr,​ GPS, čidlo teploty a vlhkosti. Nižší vrstva řízení robota bude realizována mikrořadičem. ​ Zařízení ​bude podporovat ​připojení ​procesoru RaspberryPI pro realizaci složitějších příkazů. Postup prací: +  * **Zařízení pro měření vytíženosti zdrojů vestavného procesoru pří obsluze externích modulů ​(The resource consumption measure device of embedded processor handling external modules)** (BP - Kocourek Matěj) 
-    ​* Navrhněte zrealizujte konstrukci šestikolového robota+    - Prozkoumejte existující řešení. 
-    ​* Navrhněte ​zrealizujte řídicí desku pro ovládání všech periferií+    ​- Navrhněte ​vlastní zařízení ​umožňující ​připojení ​většího množství externích modulů k vestavnému procesoru
-    ​Pro použitý mikrořadič vytvořte knihovny pro ovládání periferií+    ​- Vyberte vhodnou testovací platformu umožňující analýzu spotřeby paměti, procesorového času elektrické energie v závislosti na počtu připojených externích modulů
-    ​Pro robota ​napište ​testovací demo aplikaci ​využívající všechna periférie+    ​- Každý externí modul bude obsahovat aspoň jeden senzor ​jeden ovladací prvek
-    ​* Proveďte testy k otestování správné funkce robota pro různá prostředí.+    ​Pro vzájemnou komunikaci vyberte vhodný komunikační protokol. 
 +    - Navržené řešení zrealizujte
 +    ​Pro výsledné řešení ​napište ​obslužnou ​aplikaci ​umožňující měřit velikost potřebné paměti, dobu obsluhy externího modulu, dobu odezvy a výslednou spotřebu
 +    ​- Na základě získaných výsledků ření určete nároky na použitý vestavný systém v závislosti na počtu připojených externích modulů
  
-  * **Aplikace pro zkoušení slovní zásoby na platformě Android (Vocabulary testing application for OS Android)** (BP - Mayerová Eva) - Proveďte rešerší existujících aplikací. Zaměřte se hlavně na anglické jazykové slovníky. Navrhněte aplikací pro zkoušení anglické slovní zásoby, a to tak, aby splňovala základní požadavky kladené na tento typ slovníku. Aplikace bude umožňovat přidávání slovíček a jejich zkoušení. Výsledek zkoušení bude zaznamenán a graficky zpracován. Do slovníku bude možné přidávat slovíčka a fráze. Aplikace bude umožňovat import textového popisu slovíček ze souboru. Aplikace bude umožňovat rozpracovat několik skupin slovní zásoby. Každá skupina bude reprezentována vlastním souborem obsahujícím aktuální stav rozpracovanosti zkoušení/​učení. Postup prací: 
-    * Proveďte rešerši existujících řešení, popište výhody a nevýhody. 
-    * Navrhněte grafickou stránku aplikace. 
-    * Vytvořte samotnou aplikaci tak, aby umožňovala učení a zkoušení slovní zásoby aspoň třemi způsoby. 
-    * Navrženou aplikaci otestuje a vytvořte několik vzorových souborů s anglickými slovíčky. ​ 
  
-  * **Softwarové řešení ​pro quadrokoptéru s řídicí jednotkou Raspberry Pi (Software library ​for quadcopter ​based on Raspberry Pi)** (BP Kukačka Jiří) - Prostudujte ​existující řešení. Vyberte vhodný realtimový operační systém ​pro ovládání ​quadrokoptéry na platformě Raspberry PiVytvořte knihovnu funkcí v programovacím jazyce C pro ovládání jednotlivých periferií potřebných pro chod quadrokoptéry. Postup prací: +  * **Ří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) 
-    ​* Vyberte ​vhodný ​operační systém, porovnejte RTOS vs GPOS+    ​Prozkoumejte ​existující ​možná ​řešení pro dálkové ​ovládání ​vozítek
-    ​Navrhněte ​schéma propojení periferií k řídící jednotce, schéma komunikace ​periferií a struktury ​řídicího programu. +    ​- Pro návrh řízení vozítka vyberte ​vhodný ​model obsahující 6 samostatně řiditelných kol
-    Vytvořte jádro ​řídicího programu. +    ​Navrhněte ​vlastní ​řešení řízení vozítka ​pomocí platformy Arduino za následujících podmínek:​ 
-    Vytvořte knihovnu pro ovládání ​specifických periferií ​potřebných ​pro správné fungování quadrokoptéry+      * každá dvojice kol bude mít vlastní ​řízení ovládané samostatným arduinem, 
-    ​* Analyzujte ​možnosti využití ​algoritmů pro řízení ​navigaci v prostoru+      * řízení bude umožňovat jízdu všemi směry, 
-    ​* Vytvořte praktickou ukázku běhu programu využívající všechny dostupné periférie potřebné pro řízení quadrokoptéry.+      * řízení bude centrálně ovládáno hlavní deskou s Arduinem, 
 +      veškeré ​řízení pohybu vozítka bude provedeno pomocí dálkového ​ovládání
 +      * vozítko bude na sobě obsahovat další senzory ​potřebné pro pohyb a detekci překážek pro všechny směry, 
 +      * vozítko bude umět automaticky měnit maximální rychlost v závislosti na vzdálenosti od překážky,​ a ve všech směrech možného pohybu
 +    ​- Počítejte s možným pozdějším rozšířením o platformu Raspberry PI umožňující použití ​například rozhraní wifi, SD karty přídavné kamery
 +    ​- Navržené ​řešení zrealizujte a řádně otestujte.
  
-  * **Rozšíření síťového simulátoru o připojení do reálné sítě (Network simulation module used to connect to real network)** (BP - Mach Václav) - Prostudujte existující simulátor počítačové sítě [1, 2]. Pro tento simulátor napište modul v jazyce Java, který bude umožňovat propojení simulátoru s reálnou sítí za použití existujícího ethernetového rozhraní. Postup prací: 
-    * Prostudujte existující řešení [1, 2]. 
-    * Prozkoumejte možnosti řešení pro OS Linux a OS Microsoft Windows. 
-    * Navrhněte a napište modul pro připojení simulátoru do reálné sítě a to tak, že modul bude komunikovat na linkové úrovni. 
-    * Vytvořené řešení začleňte do již existujícího simulátoru [1, 2]. 
-    * Napište návod pro použití simulátoru a to včetně vytvořeného modulu. 
-    * Vytvořte příklad použití vytvořeného modulu. 
-    * Výsledné řešení včetně návodu otestujte. 
-    * [1] Pitřinec, T.,.: „Síťový simulátor pro výukové účely na bázi prvků OS Linux“, DP – 2012, ČVUT FIT. 
-    * [2] Švihlík, M.,:​“Vizualizace virtuální počítačové sítě“, DP-2012, ČVUT FIT. 
  
-  * **Rozšíření síťového simulátoru o možnost použití konfiguračních souborů pro konfiguraci síťových prvků (Network simulation module used to extend simulator property with configuration file)** (BP - Michal Horáček) - Prostudujte existující simulátor počítačové sítě [1, 2, 3]. Pro tento simulátor napište modul v jazyce Java, který bude umožňovat použití konfiguračního souboru pro konfigurací vlastností síťového prvku. Postup prací: 
-    * Prostudujte existující řešení [1, 2, 3]. 
-    * Prozkoumejte možnosti konfigurace sítě na systémech Debian/​Ubuntu. 
-    * Navrhněte a vytvořte modul pro možnost konfigurace síťového rozhraní, DHCP serveru a DNS serveru s pomocí konfiguračních souborů. 
-    * Vytvořené řešení začleňte do již existujícího simulátoru [1, 2, 3]. 
-    * Napište návod pro použití simulátoru a to včetně vytvořeného modulu. 
-    * Vytvořte příklad použití vytvořeného modulu. 
-    * Výsledné řešení včetně návodu otestujte. 
-    * [1] Pitřinec, T.,.: „Síťový simulátor pro výukové účely na bázi prvků OS Linux“, DP – 2012, ČVUT FIT. 
-    * [2] Švihlík, M.,:​“Vizualizace virtuální počítačové sítě“, DP-2012, ČVUT FIT. 
-    * [3] Lukáš, M.,:“ Podpůrné komponenty simulátoru počítačové sítě“, DP-2012, ČVUT FIT. 
  
 +  * **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
  
-===== Available works ===== 
  
-  * **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)+  * **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
  
-  * **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 ​echny periférie a napište demo aplikaciBP, DP - doba práce 2-4 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 ​závislosti na oprávnění přihlášeného uživatele.
  
-  * **Programovatelný softwarový generátor všech typů paketů** BP - doba práce 2 semestry (volné) (100% SW)+  * **Systém pro emulaci akceleračního pedálu osobního automobilu (System for emulating the accelerator pedal of a car)** (BP - Mareček Jakub) 
 +    * Prozkoumejte existující řešení. 
 +    * Analyzujte protokol SENT a jeho rozšíření SPC. 
 +    * Analyzujte možnosti generování kódů emulujících funkci akceleračního pedálu a navrhněte řešení s využitím platformy ESP32. 
 +    * Proveďte analýzu komunikace pedálu z koncernu VW. 
 +    * Navrhněte zařízení pro replikaci signálů akceleračního pedálu tak, aby zařízení bylo schopno komunikovat s reálnou řídící jednotkou. 
 +    * Pro komunikaci pedálu s řídicí jednotkou využijte protokol SENT/SPC. 
 +    * Zařízení musí být ovladatelné přes CAN sběrnici i fyzickými ovladači. 
 +    * Navržené řešení zrealizujte a řádně otestujte.
  
-  * **Programovatelný hardwarový generátor všech typů paketů** BP, DP doba práce 2-4 semestry (volné(80% SW20% 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 časekterá bude nasbíraná data ukládat a dále zpracovávat. 
 +    * Řešení se bude skládat ze serverové části a uživatelské části představované lokátorem (tyto dvě zařízení budou mezi sebou komunikovat přes síť Internet) 
 +    * Navržené řešení zrealizujte a řádně otestujte. 
 +    * Požadavky:​ 
 +      * GPS lokátor bude postaven na platformě ESP32 
 +      * lokátor bude odesílat data na server pomocí GPRS/EDGE 
 +      * server bude umožňovat zobrazení pozice lokátorů v reálném čase 
 +      * server bude umožňovat připojení několika lokátorů 
 +      * server bude zaznamenávat polohu a metadata z lokátorů 
 +      * uživatelské rozhraní bude realizováno formou webové aplikace.
  
-  * **Jednoduchý překladač z jazyka c do mikroprogramu - Simple translator from C to microcode 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.
  
-  * **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 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é a logické operacepodmíněný výraz if (else ifelse)cyklus whilecyklus 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)+  * **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 zachovejte jejich formát. 
 +    * Zaměřte se edevším na Fireovy kódysoučinové kódyRM kódynebinární BCH kódy a RS kódyGoppa kódy a kódy konvoluční. 
 +    * V dostatečné míře nastudujte ​zdokumentujte ​í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.
  
-    ​* **Šifrování dat na pevném SATA disku ipojeném ​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 VHDL. Pro návrh použijte existující ethernetové jádro napsané v jazyce VHDL. (DP) - doba práce 2-4 semestry (volné) (50% SW50% HW)+  ​* **Osobní GPS lokátor ​na platformě Arduino ovládaný ​es SMS í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
  
-  * **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 příslušných VHDL kódů. ​Aplikace bude podporovat i rozsáhlejší návrh složený z více částí. BPDP - doba práce 2-4 semestry (volné) (100% 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.
  
-  * **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 Spartan3eJako základ použijte modul tvořený analogovým vstupem s A/D převodníkem. Tento modul upravte takaby splňoval požadavky kladené ​na vstupní části osciloskopu takovýchto parametrůPro desku Spartan 3E napište aplikaci ​pro zpracování dat získaných s A/D převodníkuZískaná data zobrazte BP, DP - doba práce 2-4 semestry (volné) (50% SW, 50% HW)+  * **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.
  
-  ​* **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)+  ​ 
 +===== Available projects =====
  
-  * **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 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 í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)+  ​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 (displej, tlačítkaswitche, atd.
 +    * návrh hardware ​pro desku digilent CMOD A7/S7 
 +    * vlastní zadání 
 +    * Wifi a ESP32/​ESP2866 
 +    * zařízení pro ochranu baterie ​ed vybitím
  
-  * **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 ​žá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)+  ​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 edmět BI-PSI 
 +    * vlastní zadání
  
-  * **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 )+  ​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č
 +    ​grafické aplikace pro výuku 
 +    ​vlastní zadání
  
-  * **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čkateploměrapod). BPDP - doba práce 2-4 semestry ​(volné) (90% SW, 10% HW)+  ​4. Jazyk VHDL / desky FPGA 
 +    ​návrh hardware ​pro bezpečnostní kódy 
 +    ​generátor průběhů (sinusovkaobdelníktrojuhelní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í
  
-  * **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 )+  ​5. Plošné spoje 
 +    ​návrh zařízení s porcesorem atmel + drobné periferié 
 +    ​* zařízení ​s nízkou spotřebou 
 +    * vlastní ​zadání
  
-  * **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. BP, DP - doba práce 2 semestry (volné) (100% SW)+  ​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í 
 +    ​vlastní zadání
  
-  * **Zařízení ​pro sledování objektu ​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 objektukterý není připojen trvale k internetu ani k elektrické sítí. Důraz bude kladen na velmi nízkou spotřebu ​co nejmenší pořizovací cenu. Sledovací zařízení bude umožňovat získání fotografie okolí s různou kvalitou. BP, DP - doba práce 2 semestry (volné) (10% HW, 90% SW)+  ​7. Android 
 +    ​aplikace ​pro práci ​hardware (raspberry PIArduino ​jiné)
  
-  * **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)+  ​8. Python 
 +    ​aplikace pro zpracování a generování dat podle šablon
  
-  * **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 ​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)+  ​9. Optimalizace Java aplikací pro horizontální škálování v moderní mikroservisní architektuře 
 +    ​využití AoT kompilace a minimalizace start-up času 
 +    ​výběr vhodného JVM a analýza jeho výhod pro minimální náročnost na prostředky (např. GraalVM) 
 +    ​využití vhodného frameworku a analýza jeho výhod (např. Quarkus) 
 +    ​analýza možností využití pro serverless architekturu (např. Knative) 
 +    ​využití komunikace přes gRPC 
 +    * podpora feature flagů pro release management 
 +    * vlastní zadání 
 + 
 +  10Virtualizace ​izolace aplikačních prostředí 
 +    * využití OCI kontejnerů jako způsob doručování aplikací 
 +    * analýza bezpečnostních chyb využívané technologie docker a možnosti jejich eliminace 
 +    * porovnání s jinými přístupy (např. podman, buildah apod.) 
 +    * lokální orchestrace kontejnerů (docker-compose vs podman-compose) 
 +    * vnořování kontejnerů (napřdocker(-compose)-in-docker/​podman) 
 +    * vlastnosti container file systemů (napřOverlayFS) 
 +    * bezpečné (rootless) spuštění ​více kontejnerů uvnitř kontejneru 
 + 
 +  11Orchestrace kontejnerů v distribuovaném on-premise prostředí 
 +    * porovnání vlastností využívaných pro jako container runtime (containerd vs docker vs CRI-O) 
 +    * kubernetes vs jeho komerční distribuce ​(openshift, tanzu) 
 +    * helm vs yaml manifesty ​(+ možnosti jejich úprav, např. kustomize) 
 +    * realizace ingress load balancerů v lokálním on-premise prosředí 
 +    * vytvoření persistence v distribuovaném prostředí (např. Ceph, Rook, GlusterFS apod.) 
 +    * správa citlivých údajů (šifrování kubernetes secrets, PAM nástroje) 
 +    * vytvoření vlastního kubernetes operátora (vlastní zadání) 
 + 
 +  12. Podpora vývoje a administrace prostředí prostřednictvím automatizace 
 +    * analýza praktik DevOps přístupu, GitOps, SecOps, ChatOps, AIOps 
 +    * analýza a představení SRE (Site reliability engineering) praktik 
 +    * vytvoření a nasazení prostředí pro kompletní podporu životního cyklu aplikace naplňující znaky GitOps a IaaC (infrastructure as a code) 
 +    * zabezpečení SVC repozitářů přes GPG klíče 
 +    * podpora IaaC nástrojů (ansible, chef+puppet,​ cloud vendor proprietární nástroje, terraform) 
 +    * využití CI nástroje s dynamickým vytěžováním zdrojů dle aktuální zátěže (návrh tzv. CI farmy) 
 +    * podpora deklarativního popisu činností (pipelines) 
 +    * porovnání známých CI nástrojů (jenkins, jenkins-x, gitlab, tekton, github actions) 
 +    * návrh procesů pro validaci aplikací před jejich nasazením prostřednictvím testů 
 + 
 +  13. Projekty zadané externím zadavatelem 
 +    * seznam zadavatelů níže 
 + 
 +**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]]
  
-  * **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 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) 
  
-  * **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. (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 - 2013 =====+===== 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:​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:​2013:​proj_2013|Realized projects 2013]]   *[[project:​2013:​proj_2013|Realized projects 2013]]
   *[[project:​2012:​proj_2012|Realized projects 2012]]   *[[project:​2012:​proj_2012|Realized projects 2012]]
Line 139: Line 304:
  
   * [[:​start|Pavel Kubalík'​s Home Page]]   * [[:​start|Pavel Kubalík'​s Home Page]]
- 
  
  
project/proj_list.txt · Last modified: 2024/02/15 10:30 by xkubalik