User Tools

Site Tools


project:proj_list

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
project:proj_list [2015/10/06 15:33]
xkubalik [Available projects]
project:proj_list [2021/04/07 13:56]
xkubalik [Available projects]
Line 2: Line 2:
 ===== Current projects ===== ===== Current projects =====
  
-  * **Softwarová podpora hardwarového rozšíření ​pro platformu Raspberry PI (Software library used for hardware extension ​of Raspberry Pi)** (BP - Vico Bohdan- Proveďte tyto úkoly: +  * **Android aplikace ​pro dálkové ovládání platformy Arduino ​(An android application ​for remote control ​of the Arduino platform)** (BP - Denissyuk Andrey
-    ​* Prostudujte ​existující řešení.  +    ​- Prozkoumejte ​existující řešení. 
-    ​* Vyberte operační systém vhodný pro ovládání a komunikaci s hardware přes rozšiřující rozhraní+    ​- Pomocí metod softwarového inženýrství navrhněte vlastní ​řešení vyhovující níže uvedeným požadavkům
-    ​* Vytvořte knihovnu funkcí v programovacím jazyce C pro ovládání jednotlivých pinů rozšiřujícího rozhraní včetně sériové linky+    ​- Navržené ​řešení naprogramujte, ​řádně ho zdokumentujte a otestujte
-    ​* Propojte vývojovou desku Raspberry PI s PC s pomocí sériové linky. +    ​- Požadavky: 
-    Pro ovládání periferií vytvořte jednoduché webové rozhraní, kde bude možné nastavovat a číst jednotlivé stavy pinů rozhraní. +      aplikace ​bude navržena jako mobilní aplikace pro OS Android 
-    Umožněte s pomocí webového rozhraní posílat a číst informace ze sériové linky. +      aplikace umožní spojení aplikace z Arduinem pomoci Wifi 
-    Pro zvolený operační systém vytvořte aplikaci, která zprostředkovává ​komunikaci ​webového rozhraní s hardware. +      pro komunikaci ​bude zvolen vhodný protokol 
-    Vytvořená ​aplikace bude obsahovat soubor proměnných, které bude možné nastavovat ​s pomocí ​webového rozhraní ​s pomocí PC es sériovou linku. +      * aplikace bude umožňovat ověření uživatele ​s pomocí ​jména ​hesla 
-    Vytvořte podrobnou dokumentaci popisující důležité kroky nutné k přidání dalšího rozhraní a odpovídající modifikaci webového rozhraní.+      * aplikace bude umožňovat ​idání uživatelů s různým typem oprávnění 
 +      aplikace umožní zobrazit několik různých pohledu (seznamu proměnných) stavu procesoru Arduina 
 +      * aplikace umožní měnit obsah proměnných v procesu Arduina
  
-  * **Zařízení ​pro sledování objektu ​nízkou spotřebou** ​(Low power camera trap used for property surveillance)(BP - Václav Vanc+  * **Android aplikace ​pro sdílení proměnných ​platformou Arduino prostřednictvím Bluetooth ​(An android application ​for variable sharing with Arduino platform based on Bluetooth communication)** (BP - Jokl Natanael
-    * Prostudujte ​existující řešení. +    * Prozkoumejte ​existující řešení. 
-    * Navrhněte vlastní ​zařízení umožňující ​pořízení ​odeslání fotografie přes internet z okolí sledovaného objektu, který není připojen trvale k internetu ani k elektrické sítí+    * Pomocí metod softwarového inženýrství navrhněte vlastní řešení vyhovující níže uvedeným ​požadavkům. 
-    * Vyberte vhodný procesor sloužící ke komunikaci s GSM modulem ​kamerou. +    * Navržené ​řešení naprogramujete,​ zdokumentujte ​a řádně otestujte
-    Důraz bude kladen na velmi nízkou spotřebu a co nejmenší pořizovací cenu. +    * Požadavky: 
-    Zařízení bude napájeno z 12V baterie. +      * vyberte vhodný programovací jazyk pro OS Android ​platformu Arduino, 
-    Zařízení ​bude umožňovat data ukládat na SD kartu. +      sdílené proměnné mezi oběma zařízeními budou přenášený s pomocí formátu JSON, 
-    Nastavení parametrů a doby snímání fotografie ​bude možné pomocí SMS zpráv. +      * aplikace pro Android umožní připojení k zařízení Arduino přes Bluetooth, 
-    Navržené zařízení ​zrealizujte. +      zařízení ​Arduino ​bude podporovat tyto periferie: tlačítka, displej, LED dioda, GSM modem, 
-    Vytvořte knihovnu funkcí ​umožňující ovládat dostupné periferie. +      připojení ​bude provedeno pomocí uživatelského jména a hesla, 
-    * Pro výsledné řešení vytvořte demonstrační aplikaci. +      aplikace ​bude umožňovat více uživatelů ​různým typem oprávnění,​ 
-    * Výsledné ​zařízení ​otestujte.+      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.
  
-  * **Multiplatformní grafická aplikace ​pro simulaci mikroprogramovaného procesoru DOP v3(Cross-platform graphical simulator ​of micro-programmed processor DOP)** (DP Miškovský Vojtěch+  * **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
-    * Prostudujte ​existující řešení. +    * Prozkoumejte ​existující řešení. 
-    * V programovacím jazyku C++ implementujte simulátor výukového procesoru DOP-v3+    * Analyzujte protokol SENT a jeho rozšíření SPC
-    * Aplikaci bude možné spouštět pod OS Microsoft Windows i OS Linux+    * 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
-    * Simulátor musí obsahovat editor mikroprogramu a překladač zdrojových mikroprogramů (mikroassembler)+    * Proveďte analýzu komunikace pedálu z koncernu VW
-    * Syntaxe zdrojového mikroprogramu musí být stejná jako u stávajícího simulátoru používaného ​pro výuku předmětu BI-JPO (jednotky počítače)+    * 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
-    * Simulátor musí umožňovat krokování mikroprogramu po jednotlivých mikroinstrukcích i spouštění úseku k zadanému bodu zastavení+    * Pro komunikaci pedálu s řídicí jednotkou využijte protokol SENT/SPC
-    * Simulátor ​musí umožňovat zobrazit aktuální stav jednotlivých registrů procesoru DoP a to včetně těch, které jsou programátorsky nedostupné. +    * Zařízení ​musí být ovladatelné ​es CAN sběrnici i fyzickými ovladači
-    * Pro uživatele vytvořte jednoduchou uživatelskou ​íručku+    * Navržené ​řešení ​zrealizujte a řádně ​otestujte.
-    * Výsledné ​řešení otestujte.+
  
-  * **Programovatelný stmívač světel ​pro domácí zvířata** (Programmable light dimmer for domestic animals)(BP - Červenka Ondřej+  * **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
-    * Prostudujte ​existující řešení. +    * Prozkoumejte ​existující řešení. 
-    * Vyberte vhodný procesor pro realizaci. +    * 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
-    * Zařízení bude umožňovat nastavení stmívání ​pro 2 místnosti+    * Ř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) 
-    * Ovládání ​bude možné lokálně zařízení ​s pomocí displeje a tlačítek a také vzdáleně s pomocí PC. +    * Navržené řešení zrealizujte a řádně otestujte
-    * Pro ovládání stmívání a detekcí vnějšího osvětlení vytvořte knihovnu v jazyce c pro zvolený procesor+    * Požadavky: 
-    * Pro ovládání s PC vytvořte jednoduchou aplikaci. +      GPS lokátor bude postaven na platformě ESP32 
-    Navržené zařízení zrealizujte a vytvořenou knihovnu ​etně aplikace ​v PC otestujte.+      * 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.
  
-  * **FPGA deska řízená procesorem ARM** (FPGA board controlled by ARM processor)(BP - Elena Filipenková+  * **Přenosný přístupový identifikační systém využívající technologii NFC a umožňující komunikaci přes GSM bránu (Portable access identification system using NFC technology and communicating via GSM gateway)** (BP - Šimůnek Martin). 
-    * Prostudujte ​existující řešení. +    * Prozkoumání ​existující řešení.  
-    * Navrhněte zařízení obsahující FPGA obvod procesor ARM+    * Analyzujte technologii NFC možnost využití platformy arduino jako ovládací prvek
-    * Zvolte vhodnou desku obsahující:​ FPGA obvod, tlačítka, přepínače, display+    * Analyzujte a navrhněte bezpečné řešení s ohledem na omezené zdroje platformy Arduino.  
-    * Pro řízení ​FPGA obvodu použijte vývojový kit Raspberry Pi osazený obvodem ARM. +    * Navržené zařízení ​se bude skládat z Arduino mikrokontroleru,​ GSM modulu pro posílání SMS zpráv, čtečky NFC LCD displeje
-    * Mezi těmito obvody vytvořte komunikační linku vhodnou pro řízení FPGA obvodu s pomoci procesoru ARM. +    * Komunikace se zařízením bude probíhat přes technologii GSM – formou SMS za pomoci LCD displeje (základní ​orientační údaje)
-    * Řízení ​zjištění stavu desky bude možné s pomocí minimálně 32x16b registrů+    * Navržené řešení ​zrealizujte a řádně ​otestujte.
-    * Vytvořte knihovnu funkcí pro FPGA desku umožňující nastavovat ​ovládat ​základní ​periferie této desky procesorem ARM. +
-    * Pro FPGA desku vytvořte aplikaci umožňující zobrazovat stav registrů určených pro nastavení parametrů desky+
-    * Pro procesor ARM vytvořte jednoduchou aplikaci umožňující nastavovat a zjišťovat stav FPGA desky. +
-    * Výsledné ​řešení otestujte+
  
-  * **Generátor elektrických obvodů pro předmět ČAO** (Automatic analog circuit generator)(BP ​František Veselý+  * **Pokročilé bezpečnostní kódy v programu Wolfram Mathematica (Advanced error control codes using Wolfram Mathematica)** (DP Koleník Stanislav
-    * Prozkoumejte existující řešení pro kreslení elektrických obvodů. +    * 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
-    * 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+    * Dodržte členění na výukové scénáře ​balíčky a zachovejte jejich formát
-    * Aplikace bude umožňovat nastavit hodnoty ​typ součástky v obvodu+    * Zaměřte se 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č
-    * Výsledné schéma bude možné ​ekreslit takaby se změnila pouze pozice ​součástky. +    * V dostatečné míře nastudujte ​zdokumentujte ​íslušnou matematickou teorii
-    * 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ů. +    * Vytvořte kolik příkladů použití každého kódu
-    * Aplikace bude dále umožňovat generovat rovnice pro celkovou impedanci na vstupních svorkách ​a přenos+    * Využijte získaných poznatků ke zmapování současného stavu použití bezpečnostních kódů v kryptografii.
-    * Vygenerované rovnice bude možné bez úprav vložit do programu Wolfram Mathematica ​zpracovat+
-    * Při generování rovnic bude možné zvolit směr proudu a napětí ruč, popřípadě automaticky+
-    * Výsledné řešení otestujte.+
  
-  * **Modul pro snímání teploty ​evozu materiálu v dopravě** (Temperature monitoring module for material car transporting purpose)(BP - Jiří Šeda+  * **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í ​bezdrátových ​zařízení ​hlídajících teplotu dostupná ​na trhu. +    * Prozkoumejte existující řešení ​pro osobní GPS lokátory. 
-    * Navrhněte zařízení ​umožňující monitorování teploty přepravních boxů. +    * Analyzujte technologii GSM/GPS 
-    * Pro řízení sledování teploty a komunikaci s nadřazeným systémem zvolte vhodnou konfiguraci senzorů a procesoru. +    * Analyzujte a navrhněte řešení které řeší nedostatky momentálně dostupných ​zařízení na trhu 
-    * Zařízení bude umožňovat sledovat teplotu u více boxu. +    * Zaměřte se na zařízení ​které není závislé na pohotovostní službě na vzdáleném serveru 
-    * V ípadě překročení minimální nebo maximální hlídané hodnoty informujte řidiče pomocí zvukového upozornění na telefonu. +    * 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ů 
-    * Informaci o teplotě je nutné ukládat po celou dobu jízdy. +    * Komunikace bude probíhat ​přes technologiii GSM a textové SMS íkazy 
-    * Komunikace ​s řidičem ​bude provedena s pomocí mobilního telefonu ​přes rozhraní bluetooth. +    * Navržené zařízení zrealizujte a řádně ​otestujte
-    * Pro komunikaci procesoru s telefonem vytvořte vhodný síťový protokol zaručující bezpečný ​enos informací. +
-    * Navržené zařízení zrealizujte+
-    * Pro zvolený procesor vytvořte knihovnu funkcí ​obslužnou aplikaci demonstrující správnou funkcí celého zařízení. +
-    * Výsledné zařízení ​otestujte.+
  
-  * **Rozšíření síťového simulátoru o Spanning tree protocol** (Network simulation module extension implementing Spanning tree protocol)(BP - Peter Bábics+  * **Generátor VHDL kódu (VHDL code generator)** (BP - Fořt Rostislav
-    * Prostudujte ​existující ​simulátor počítačové sítě [1, 2, 3, 4, 5].  +    * Prozkoumejte ​existující řešení. 
-    * Prozkoumejte možnosti implementace Spanning tree protokolu do existujícího ​řešení. +    * Pomocí metod softwarového inženýrství navrhněte a naprogramujte aplikaci ​pro generování základních struktur VHDL kódu
-    * Pro tento simulátor napište modul v jazyce Java, který bude umožňovat využití Spanning tree protokolu v simulovaných přepínačích. +    * Vytvořte několik ​šablon ukazujících práci s aplikací
-    * Vytvořené řešení začleňte do existujícího simulátoru. +    * Výsledné řešení ​řádně otestujte. 
-    * Napište návod ​pro použití simulátoru a to včetně vytvořeného modulu+    * Požadavky
-    * Vytvořte několik ​příkladů použití vytvořeného modulu+      Aplikace bude napsaná v jazyce C++ 
-    * Výsledné řešení ​včetně návodu ​otestujte. +      Aplikace bude umožňovat vytvářet a upravovat ​šablony VHDL struktur 
-    * [1] Pitřinec, T.,.„Síťový simulátor pro výukové účely na bázi prvků OS Linux“, DP – 2012, ČVUT FIT. +      Aplikace bude umožňovat ze šablon generovat kód 
-    [2] Švihlík, M.,:​“Vizualizace virtuální počítačové sítě“, DP-2012, ČVUT FIT. +      * Aplikace bude schopná ve VHDL kódu rozpoznat entitu a umožní její použití ​šabloně, např. pro automatické generování testbenche.
-    [3] Lukáš, M.,:“ Podpůrné komponenty simulátoru počítačové sítě“, DP-2012, ČVUT FIT. +
-    [4] Horáček, M.,:“ Rozšíření síťového simulátoru o možnost použití ​konfiguračních souborů pro konfiguraci síťových prvků “, BP-2014, ČVUT FIT. +
-    * [5] Mach, V.,:“ Rozšíření síťového simulátoru o připojení do reálné sítěBP-2014, ČVUT FIT.+
  
-  * **Levné zařízení pro měření veličin zobrazování informací založené na existujícím wifi routeru** (Low cost device used for data colection based on wifi router)(BP - Adam Benda+  * **Zabezpečený tisk z mobilního telefonu s OS Android s pomocí Bluetooth (Secure print using mobile application for Bluetooth interface)** (BP - Balko Martin
-    * Prostudujte ​existující řešení. +    * Prozkoumejte ​existující řešení ​pro Bluetooth tisk
-    * Vyberte vhodný wifi router za účelem modifikace a vylepšení jeho funkcí+    * Analyzujte Bluetooth a bezpečnost Bluetooth komunikace
-    * Na základě vybraného wifi routeru ​navrhněte ​a sestavte zařízení, ke kterému připojíte teplotní a jiné senzory, a malý displej+    * Analyzujte a navrhněte řešení které zvýší samotné zabezpečení Bluetooth protokolu
-    * Navrhněte a implementujte aplikaci, která agreguje ze zařízení naměřené hodnotyskladuje je a umožňuje jejich prohlížení+    * Zaměřte se zejména na řešeníkteré není závislé na použité verzi protokolu Bluetooth
-    * Navrhněte ​implementujte aplikaci, která na zařízení ​zobrazuje data získaná ze sítě Internet (napřpřehled zpráv, nejbližší odjezd autobusu)+    * Navržené řešení se bude skládat ze: serverové časti pro Raspberry Pi uživatelské části pro Android ​zařízení. 
-    * Navržené zařízení ​otestuje.+    * Bluetooth komunikace bude probíhat mezi serverovou a uživatelskou částí
 +    * Navržené zařízení ​zrealizujte a řádně otestujte.
  
-  * **Knihovna funkcí pro program Wolfram Mathematica umožňující využití bezpečnostních kódů** - (Wolfram Mathematica library used for error detection and correction codes)(DP - Jakub Doubek) +  ​
-    * Prozkoumejte základní principy pro generování bezpečnostních kódů, zejména Hammingův, BCH, RS a LDPC kód. +
-    * Prostudujte existující knihovny pro generování bezpečnostních kódů. +
-    * Součástí analýzy bude i detailnější rozbor všech podporovaných kódů a potřebná matematická teorie. +
-    * Navrhněte a zrealizujte vlastní knihovnu pro program Wolfram Mathematica a to s ohledem na použití této knihovny pro zabezpečení dat. +
-    * Navrženou knihovnu otestuje. +
-    * Pro každý podporovaný bezpečnostní kód vytvořte několik jednoduchých příkladů pro kódování a dekódování dat v závislosti na různých vstupních parametrech. +
-   ​+
 ===== Available projects ===== ===== Available projects =====
  
-**Pokud máte o téma zájemnapište mi email. Rezervace v systému bpm nemá žádnou váhu.**+  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
  
-  * **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)+  ​2. Volfram 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í
  
-  * **Linuxové jádro ​pro vestavěný procesor*- Proveďte rešerši existujících linuxových jader pro vestavěné procesory a najděte vhodné ​řešení ​pro procesor ARM osazený na desce beagleboard. Pro tuto desku s pomocí linuxového jádra rozchoďte všechny periférie a napište demo aplikaci. BP, DP - doba práce 2-4 semestry (volné) (100% SW)+  ​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í
  
-  * **Programovatelný softwarový ​generátor ​všech typů paketů** BP - doba práce 2 semestry ​(volné) (100% SW)+  ​4. Jazyk VHDL / desky FPGA 
 +    ​návrh hardware pro bezpečnostní kódy 
 +    ​* generátor ​průběhů (sinusovka, obdelník, trojuhelník) 
 +    ​osciloskop 
 +    ​návrh hardware pro realizaci matematických funkcí 
 +    * implementace procesoru/​periferié procesoru ​(ARM, Z80, AVR, ...) 
 +    * HW podpora SoC (Zynq) 
 +    * aritmetický procesor v GF(2^2^n) 
 +    * Hry pro FPGA 
 +    * vlastní zadání
  
-  * **Programovatelný hardwarový generátor všech typů paketů** BP, DP - doba práce 2-4 semestry (volné) (80% SW, 20% HW)+  ​5. Plošné spoje 
 +    ​návrh zařízení s porcesorem atmel + drobné periferié 
 +    ​zařízení s nízkou spotřebou 
 +    ​vlastní zadání
  
-  * **Jednoduchý ​ekladač z jazyka c do mikroprogramu - Simple translator from C to microcode description** - Navrhněte a zrealizujte překladač z programu popsaného podmnožinou příkazů jazyka c do mikroprogramu popsaného v jazyce VHDL. Prozkoumejte existující řešení. Jazyk c bude podporovat vybrané celočíselné a binární typy proměnných. Překladač bude schopen přeložit následující prvky jazyka C: aritmetické a logické operace, podmíněný výraz if (else if, else), cyklus while, cyklus for a příkaz goto. Implementace bude s ohledem na multiplatformnost provedena v jazyce Java. (BP, DP) - doba práce 2-4 semestry (volné) (90% SW, 10% HW)+  ​6. Raspberry PI 
 +    ​ovládání jednoduchých periferií 
 +    ​chytré síť, ovládání periferií ​es ethernet 
 +    ​vzdálená správa sítí 
 +    ​vlastní zadání
  
-  * **Jednoduchý překladač z jazyka c do automatového popisu ​ - Simple translator from C to automata description** - Navrhněte a zrealizujte překladač z programu popsaného podmnožinou příkazů jazyka c do mikroprogramu popsaného v jazyce VHDL. Prozkoumejte existující řešení. Jazyk c bude podporovat vybrané celočíselné a binární typy proměnných. Překladač bude schopen přeložit následující prvky jazyka C: aritmetické a logické operace, podmíněný výraz if (else ifelse), cyklus while, cyklus for příkaz goto. Implementace bude s ohledem na multiplatformnost provedena v jazyce Java. (BP, DP) - doba práce 2-4 semestry (volné) (90% SW, 10% HW)+  ​7. Android 
 +    ​aplikace pro práci s hardware ​(raspberry PIArduino ​jiné)
  
-    ​**Šifrování ​dat na pevném SATA disku připojeném přes ethernetové rozhraní** - Prostudujte existující hardwarová řešení šifrování dat na pevném disku. Navrhněte a zrealizujte vlastní řešení napsané v jazyce VHDL. Pro návrh použijte existující ethernetové jádro napsané v jazyce VHDL. (DP) - doba práce 2-4 semestry (volné) (50% SW, 50% HW)+  8. Python 
 +    ​aplikace pro zpracování a generování ​dat podle šablon
  
-  * **Sada nástrojů ​pro On-Line diagnostiku** ​(Set of tools for On-Line test- Naprogramujte sadu nástrojů pro On-Line diagnostiku. Nástroje budou založeny na již existujícím nástroji pro práci s obvodyTento nástroj zmodifikujte tak, aby umožňoval použít libovolnou techniku ​pro On-Line testování založenou na bezpečnostních kódech ​(sudá parita, zdvojení, Berger kód, Hamming kód, atp.). Výsledné řešení bude umožňovat načtení vstupního obvodu, jeho modifikaci na samočinně zabezpečený obvod a jeho konverzi do í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)+  ​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 ​es gRPC 
 +    * podpora feature flagů pro release management 
 +    * vlastní zadání
  
-  * **Rychlý osciloskop postavený s pomocí FPGA** (High speed scope based on FPGA) - Navrhněte ​zrealizujte levný 1 kanálový 50 Mhz osciloskop postavený s pomocí desky Starter board s obvodem Spartan3e. Jako základ použijte modul tvořený analogovým vstupem ​A/D evodníkemTento 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)+  ​10. Virtualizace a 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 ​možnosti jejich eliminace 
 +    * porovnání ​jinými ​ístupy (napřpodmanbuildah apod.
 +    * lokální orchestrace kontejnerů (docker-compose vs podman-compose) 
 +    * vnořování kontejnerů (např. docker(-compose)-in-docker/​podman) 
 +    * vlastnosti container file systemů ​(např. OverlayFS) 
 +    * bezpečné ​(rootlessspuštění více kontejnerů uvnitř kontejneru
  
-  * **JTAG SPI USB programátor ​pro ATMEL** - Navrhněte programátor ​včetně programovatelné redukce pro programování mikrořadičů AtmelBPDP - doba práce 2-4 semestry (volné) (50% SW50% HW)+  ​11. Orchestrace 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 ​distribuovaném prostředí (např. CephRook, GlusterFS apod.) 
 +    * správa citlivých údajů ​(šifrování kubernetes secretsPAM nástroje) 
 +    * vytvoření vlastního kubernetes operátora (vlastní zadání)
  
-  * **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 obvoduBP, DP - doba práce 2-4 semestry ​(volné) (50% SW50% HW)+  ​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íč
 +    * 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ů
  
-  * **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)+  ​13. Projekty zadané externím zadavatelem 
 +    ​seznam zadavatelů že
  
-  ​* **Univerzální řadič displejů** - Prozkoumejte existující řešení. Navrhněte a zrealizujte řadič displeje umožňující jednoduchou komunikaci se znakovým displejemKomunikace bude probíhat po sériové lince. BP- doba práce 2 semestry (volné) (60% HW, 40% SW )+**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ématkoukněte do archívu dostupných 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č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 )+  *[[project:​2018:​proj_archiv|Návrhy zadání dostupných projektů]]
  
-  * **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) 
  
-  * **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ý spoj. BP, DP - doba práce 2-4 semestry (volné) (10% HW, 90% SW)+===== Projekty zadané externím zadavatelem =====
  
-  * **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)+  * [[project:eaton:​proj_eaton|EATON HW/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 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) 
- 
-  * **FPGA deska řízená procesorem ARM** - Navrhněte zařízení obsahující FPGA obvod a procesor ARM. Mezi těmito obvody vytvořte komunikační linku vhodnou pro řízení FPGA obvodu s pomoci procesoru ARM. Zvolte vhodnou desku obsahující FPGA obvod. Pro řízení FPGA obvodu použijte vývojový kit Raspberry Pi osazený obvodem ARM. Vytvořte knihovnu funkcí pro procesor ARM umožňující komunikaci s FPGA obvodem. Pro ověření funkce celého spojení vytvořte testovací aplikaci. (BP, DP 2-4 semestry) 
- 
-  * **Správa slovní zásoby pro os Android** - Vytvořte aplikaci pro správu slovní zásoby. Aplikace bude umožňovat import a export slovíček s pomocí textového souboru. Aplikace bude umožňovat zpracovávat velké objemy slov (10 - 20 tisíc). Důraz bude také kladen na rychlost zpracování slov, ovladatelnost a vhodné grafické prostředí. (BP, DP 2-4 semestry) 
- 
-  * **Knihovna funkcí v jazyce C pro mikrořadič ARM 32 firmy ATMEL** (BP, DP 2-4 semestry) 
- 
-  * **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) 
- 
- 
-  * **Jednoduchý TCP/IP stack pro malé procesory** (BP, DP 2-4 semestry) 
- 
-  * **Slovník pro zkušení slovní zásoby využívající sdílené úložiště** (BP, DP 2-4 semestry) 
- 
-  * **Vysoce spolehlivé zařízení pro automatické dávkování léku - Aplikace pro PC - C# nebo C++** (BP, DP 2-4 semestry) 
- 
-  * **Vysoce spolehlivé zařízení pro automatické dávkování léku - Firmware pro procesor** (BP, DP 2-4 semestry) 
- 
-  * **Vysoce spolehlivé zařízení pro automatické dávkování léku - Hardware** (BP, DP 2-4 semestry) 
- 
-  * **Ethernet řízený s pomocí SMS využívající ARM processor** (BP, DP 2-4 semestry) 
- 
-  * **Sledování zařízení s nízkou spotřebou** - Navrhněte a zrealizujte zařízení umožňující sledování spotřeby objektu s nízkou spotřebou. Zařízení bude hlídat stav baterie a v případě poklesu pod určitou hranici celé zařízení odpojí a to včetně samo sebe. Zároveň bude umožňovat sledovat průběh změny stavu a následně upravit vlastní spotřebu až do stavu, kdy se odpojí od zdroje úplně. Baterií bude možné dobíjet ze solárního panelu s regulátorem. Pro vámi navržené zařízení navrhněte a nechte vyrobit plošný spoj. (BP, DP 2-4 semestry) 
 ===== All defended works ===== ===== All defended works =====
  
-**BP a DP defended works on CTU in Prague FEL/FIT:** [[http://dip.felk.cvut.cz|BP a DP]]+**BP a DP defended works on CTU in Prague FEL/FIT:** [[https://dspace.cvut.cz|BP a DP]]
  
-===== All projects archives 2004 - 2014 =====+===== All projects archives 2004 - 2019 =====
  
 +  *[[project:​2020:​proj_2020|Realized projects 2020]]
 +  *[[project:​2019:​proj_2019|Realized projects 2019]]
 +  *[[project:​2018:​proj_2018|Realized projects 2018]]
 +  *[[project:​2017:​proj_2017|Realized projects 2017]]
 +  *[[project:​2016:​proj_2016|Realized projects 2016]]
 +  *[[project:​2015:​proj_2015|Realized projects 2015]]
   *[[project:​2014:​proj_2014|Realized projects 2014]]   *[[project:​2014:​proj_2014|Realized projects 2014]]
   *[[project:​2013:​proj_2013|Realized projects 2013]]   *[[project:​2013:​proj_2013|Realized projects 2013]]
project/proj_list.txt · Last modified: 2024/02/15 10:30 by xkubalik