This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
project:proj_list [2018/02/14 11:41] xkubalik [Current projects] |
project:proj_list [2018/08/20 12:41] xkubalik [Current projects] |
||
---|---|---|---|
Line 2: | Line 2: | ||
===== Current projects ===== | ===== Current projects ===== | ||
- | * **Hardware pro podporu leteckého simulátoru** - (Hardware support for fly simulator)(BP - Michal Buchovecký) | + | * **připravuje se** |
- | * Prozkoumejte existující řešení hardwarové podpory leteckých simulátorů. | + | |
- | * Navrhněte hardwarové řešení podpory leteckého simulátoru. | + | |
- | * Pro řešení vyberte vhodný procesor umožňující ovládání MPC (multi control panel) pro Boeing 737 a EFIS (Electronic flight instrument system) panel. | + | |
- | * Panely boudou obsahovat dostatečný počet ovládacích prvků jako jsou: tlačítka, přepínače, LED kontrolky. | + | |
- | * Navržené řešení zrealizujte. | + | |
- | * Pro komunikaci s leteckým simulátorem vytvořte skript využívající FSUIPC knihovnu. | + | |
- | * Pro ověření správné funkce vytvořte jednoduchou maketu MPC a EFIS panelu. | + | |
- | * Výsledné řešení propojte a otestujte s leteckým simulátorem Microsoft Flight Simulator X. | + | |
- | * ** Aplikace pro spolehlivé ovládání hardware s pomocí sériové komunikace (Application used for reliable serial communication)** - (DP - Martin Chudoba) | ||
- | * Navrhněte jádro aplikace umožňující výměnu informací s pomocí spolehlivé komunikační linky. | ||
- | * Zařízení bude podporovat minimálně 2 sériová rozhraní. | ||
- | * Komunikace bude probíhat v textové i binární podobě zabezpečené jednoduchým bezpečnostním kódem. | ||
- | * Jádro bude umožňovat kontrolovat i parametry navrženého protokolu. | ||
- | * Se zařízením bude možné vyměňovat jednoduché parametry, pole parametrů a bloky dat z paměti. | ||
- | * Pro spolehlivé zpracování komunikace navrhněte vhodné spolehlivé schéma - například několik vláken. | ||
- | * Navržené jádro otestuje a nasimulujte různé způsoby uváznutí částí programu. | ||
- | * Pro jádro napište aplikaci, která bude umožňovat testování schopnosti jádra odolat různým situacím při selhání linek. | ||
- | * ** Aplikace pro spolehlivé ovládání hardware s pomocí sériové komunikace (Application used for reliable serial communication)** - (DP - Martin Chudoba) | ||
- | * Cílem práce je návrh protokolu pro bezpečnou komunikaci po sériových linkách a návrh a implementace modulu/jádra, který komunikaci řídí. | ||
- | * Základní funkční a nefunkční požadavky jsou: | ||
- | * 1. Analyzujte požadavky a proveďte návrh protokolu a modulu pro komunikaci tak, aby bylo možné přenášet různě velké struktury dat a to jak binárně, tak i textově. | ||
- | * 2. Analyzujte požadavky a proveďte návrh jádra tak, aby dokázal odolat výpadkům jednotlivých komunikačních linek. | ||
- | * 3. Diskutujte a zvolte vhodnou implementační platformu. | ||
- | * 4. Návrh implementujte. | ||
- | * 5. Navrhněte a implementujte demonstrační aplikaci, která začlení a použije komunikační modul. | ||
- | * 6. Při testování se zaměřte na různé typy výpadků jednotlivých sériových linek a případného selhání funkce vláken pro jejich obsluhu. | ||
- | * 7. Zhodnoťte přínos řešení. | ||
- | * ** Zařízení pro získávání a zpracování dat z internetu na platformě Raspberry Pi (Internet data processing device based on the Raspberry Pi platform)** - (DP - Jakub Kužel) | ||
- | * Z počítače Raspberry Pi vytvořte zařízení pro zpracování a prezentaci dat z internetu. | ||
- | * Pro toto zařízení vyberte vhodný OS. | ||
- | * Navrhněte a naprogramujte aplikaci v jazyce C pro získávání a zpracování dat z různých zdrojů (periferie Raspberry Pi, SD karta, internet). | ||
- | * Za účelem získání dat ze souboru nebo webové stránky použijte jednoduchý skriptovací jazyk. | ||
- | * 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. | ||
- | * Aplikace bude umožňovat vzdálenou instalaci nového digitálního certifikátu pro zabezpečený přenos dat. | ||
- | * Výsledné řešení otestujte | ||
- | * ** Knihovna funkcí pro podporu diagnostického protokolu s pomocí UDP (UDP support library for diagnostic protocol)** - (BP - Jaromír Mikušík) | ||
- | * Prozkoumejte existující diagnostické protokoly používané pro vyčítání dat a nahrávání software do mikrokontroleru. | ||
- | * Vyberte vhodný diagnostický protokol a vytvořte pro něj vhodnou knihovnu funkcí umožňující jeho spolehlivé fungování nad UDP protokolem. | ||
- | * Implementované funkce budou navrženy a implementovány s ohledem na minimální latence a timeouty běžné při implementaci nad TCP protokolem. | ||
- | * Knihovna funkci bude rozdělená na části server a klient. | ||
- | * Server bude implementován v jazyce C++ obecně pro libovolný mikrokontroler. | ||
- | * Client bude s ohledem na použití na PC implementován v jave. | ||
- | * Výsledné řešení 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) | ||
- | * Navrhněte a implementujte aplikaci pro zpracování a prezentaci experimentálních dat. | ||
- | * Aplikace bude napsána v Microsoft ASP.NET MVC. | ||
- | * Aplikace bude umožňovat s pomocí jednoduchého skriptu zpracovat výsledky z naměřených experimentálních dat. | ||
- | * Zpracovaná data bude možné prezentovat jako tabulku nebo graf. | ||
- | * Nastavování plánování extrakce dat s pomocí jednoduchého skriptu bude možné s pomocí Windows task scheduleru. | ||
- | * Extrahovaná data budou exportována do generického XML dokumentu a následně zpracována implementovanou aplikací. | ||
- | * Autentizace pro přístup k webové stránce bude řešena s pomocí SSO ve federaci cvutID. | ||
- | * Vzdálená zpráva aplikace (nastavení plánování, šablon a základní konigurace) bude umožněna přes zabezpečené webové rozhraní. | ||
- | * Pro výslednou aplikaci vytvořte několik testovacích dat pro ověření správné funkce. | ||
- | * **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) | ||
- | * Navrhněte a realizujte zařízení umožňující monitorování a ovládání chytré domácnosti. | ||
- | * Zařízení bude obsahovat analogové a digitální vstupy/výstupy. | ||
- | * Pro komunikaci bude zařízení obsahovat GSM a Ethernet modem. | ||
- | * 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é. | ||
- | * Zařízení bude umožňovat přijmout SMS a následně odeslat ethernetový rámec s požadovaným obsahem. | ||
- | * 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. | ||
- | * Funkčnost výsledného zařízení demonstrujte na několika příkladech. | ||
- | * **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) | ||
- | * Prozkoumejte existující řešení pro kreslení elektrických obvodů. | ||
- | * 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. | ||
- | * Aplikace bude umožňovat nastavit hodnoty a typ součástky v obvodu. | ||
- | * Výsledné schéma bude možné překreslit tak, aby se změnila pouze pozice součástky. | ||
- | * Vygenerované schéma bude možné uložit do formátu XML a opětovně načíst. | ||
- | * Aplikace bude umožňovat popsat obvod s pomocí rovnic a to jak v časové oblasti, tak s pomocí fázorů. | ||
- | * Vygenerované rovnice bude možné bez úprav vložit do programu Wolfram Mathematica a zpracovat. | ||
- | * Při generování rovnic bude možné zvolit směr proudu a napětí ručně, popřípadě automaticky. | ||
- | * 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) | ||
- | * Prozkoumejte existující řešení. | ||
- | * Navrhněte vlastní řešení zařízení zajišťující ochranu baterie proti úplnému vybití. | ||
- | * Zařízení bude umožňovat nastavení minimální úrovně napětí, při kterém má být baterie odpojena od spotřebiče. | ||
- | * Zařízení bude navrženo tak, aby v klidovém stavu odebíralo minimální proud ze zdroje napájení. | ||
- | * Pro ovládání a nastavení celého zařízení vyberte vhodný mikrokontrolér. | ||
- | * Nastavení bude možné provést s pomocí několika tlačítek a jednoduchého displeje. | ||
- | * Navržené řešení zrealizujte a otestujte. | ||
- | * Pro výsledné řešení s mikrokontrolérem napište aplikaci umožňující nastavit a sledovat celé zařízení. | ||
- | |||
- | * **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) | ||
- | * 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. | ||
Line 265: | Line 145: | ||
* **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) | * **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) | ||
+ | |||
+ | *[[project:2018:proj_archiv|Archiv dostupných projektů]] | ||
+ | |||
===== 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 - 2018 ===== |
+ | *[[project:2018:proj_2018|Realized projects 2018]] | ||
+ | *[[project:2017:proj_2017|Realized projects 2017]] | ||
*[[project:2016:proj_2016|Realized projects 2016]] | *[[project:2016:proj_2016|Realized projects 2016]] | ||
*[[project:2015:proj_2015|Realized projects 2015]] | *[[project:2015:proj_2015|Realized projects 2015]] |