čtvrtek 4. května 2017

Projekt KeepCUBE

Středoškolská odborná činnost je soutěž určená pro žáky středních škol, kteří přijdou s dobrým nápadem a zúčastní se s jeho kvalitním zpracováním. Na tuto soutěž jsme se přihlásili jako tým sestávající z šesti členů, zahrnující Marka Šefla, Dominika Kaderu, Richarda Šimečka, Dominika Dosoudila, Narka Vardanjana a mě. Dominik Kadera se bohužel v čase prezentace našeho projektu nacházel v Anglii na odborné praxi, museli jsme tedy zvládnout závěr práce na projektu bez něj.

K projektu KeepCUBE, který byl původně určen do soutěže NAG-IoE, jsem se připojil kolem dubna roku 2016. V té době na projektu pracovali jen Marek Šefl a Dominik Kadera. Nejdříve jsem se na projektu podílel navrhováním plošných spojů a obvodů, a taky programováním osmibitových mikrokontrolérů firmy Atmel. Později, když jsme to začali opravdu brát vážně, se k nám přidali Dominik Dosoudil jakožto frontend vývojář webového rozhraní, a Narek Vardanjan pro backend (Redis, PHP Api). Později se k nám přidal i Richard Šimeček, můj spolužák, který mi pomáhal s hardwarem. Jelikož se mé zájmy v té době dost přeorientovaly z hardwaru na software, začal jsem vyvíjet pro KeepCUBE mobilní verzi webového rozhraní, Android aplikaci. Richard se ujal návrhů desek plošných spojů, které jsem já následně programoval. 

Celá struktura systému je následující: uživatel zadá příkaz ve webovém GUI nebo v Android aplikaci, ten se odešle na PHP server, kde se zpracuje do formy DSC (Descriptive String Communication (námi vymyšlený komunikační standard a formát)) a odešle se na Redis server, který zprostředkovává komunikaci mezi již zmíněným PHP a Python skriptem běžícím na Raspberry Pi, což je naše základní hardwarová jednotka. Python skript přímo ovládá hardwarové periferie mikropočítače Raspberry Pi, takže i komunikaci s ATMega mikrokontrolérem, který poté zajišťuje transport příkazů na 2,4 GHz pásmu v jednoduché síti založené na topologii mesh. Přenos sice probíhá v pásmu 2,4 GHz (jako Wi-FI), ale nevyužívá standardní IEEE 802.11 protokoly. Celý tento proces trvá zlomek sekundy, takže výsledek, třeba změnu barvy LED pásků, vidí uživatel okamžitě.

Po příchodu do domu dětí a mládeže v Praze jsme se hned šli podívat na slavnostní zahájení 39. ročníku soutěže středoškolská odborná činnost. Po zahájení se všichni rozešli připravit si svoje práce na jejich prezentaci. Obor "Informatika" začal s mírným zpožděním dle mého snad nejzajímavější prací, Vykreslování geometrických n-dimenzionálních prostorů pomocí metody sledování paprsku. Následovaly práce jako 2D Android hra, Generátor Perlinova šumu, nebo Pager, program pro tvorbu webu. Práce našeho týmu, KeepCUBE, systém automatizace domácnosti, byla v pořadí prezentování zařazena na předposlední místo. Ze všech lidí co se podíleli na našem projektu prezentovali jen Marek Šefl a Richard Šimeček. Proběhla i praktická ukázka ovládání led světel přes webové grafické rozhraní. Podle počtu dotazů z publika a z poroty jsme vyvodili značný zájem o naši práci. Po skončení prezentace prací v oboru IT jsme se přesunuli do Velkého sálu, kde probíhalo vyhlašování pořadí v oboru "Elektrotechnika", kde prezentovali dva naši kolegové, z nichž Jan Šlehofer skončil na prvním místě se svojí pájecí stanicí do auta. Poté následovalo vyhlášení výsledků oboru "Informatika". Skončili jsme na třetím místě ze sedmi, což nás značně potěšilo.


Zaujala mě jedna skutečnost na samotném našem týmu, a to spolupráce, která byla v našem případě opravdu potřeba. Náš projekt zahrnoval a spojoval mnoho technologií a platforem, a jak se musely tyto části softwaru a hardwaru vzájemně propojit, tak i se museli dorozumět jednotliví "specialisti", vyvíjející každý svou vlastní část. Je to pro nás opravdu užitečná zkušenost, která se nám bude hodit v našem budoucím pracovnám nasazení.

Systém KeepCUBE plánujeme do budoucna dále rozšiřovat, uspořádat pro něj crowdfundingovou kampaň a dostat produkt na český trh, poté i na světový. Bude za tím ještě spousta práce, ale věříme, že se nám to jednou povede.

Ondrej Telka, E2.A


Začátkem roku 2017 mě zaujal projekt KeepCUBE některých žáků naší školy a vzhledem k tomu, že se o elektroniku zajímám již dlouho, řekl jsem si, že přidám ruku k dílu, uplatním svůj zájem a budu pro projekt vyvíjet hardware. Ukázalo se, že o elektronice toho nevím zdaleka tolik, kolik je potřeba na vývoj elektronických součástí o potřebných parametrech a funkcích. Naskytla se mi tím skvělá příležitost získat spoustu zkušeností v oblastech, které pro mě do té doby byly málo prozkoumané. Začal jsem tedy studovat různá schémata, protože s jemnou elektronikou jsem se moc do té doby nesetkal. Pak jsem začal hledat a sepisovat součástky vhodné pro návrh desky základny KeepCUBE. Po spoustě vyhledávání a navrhování prototypů se přiblížil termín odevzdání protokolu. I přes to, že jsem se projektu věnoval ve svém veškerém volném čase, jsme zatím měli vyrobenou pouze jednu desku plošného spoje. Čas běžel dál a mě se povedlo udělat druhou desku plošného spoje, která byla sice stále o něco rozměrově větší, než jsme potřebovali, ale od první verze byla značně vylepšena, a tím pádem se jednalo o velký skok ve vývoji. Dále byly navrženy také menší desky za účelem ovládání LED pásků. Bohužel LED desky ani deska základny nebyly včas dokončeny, především kvůli časové tísni a také nespolehlivosti některých komponent. Veškeré součásti však bylo možné sestavit na nepájivém poli, což bylo z hlediska ukázky postačující.


Nadešel den D, náš tým se sešel v DDM na Karlíně, kde se konala SOČ. Naše prezentace byla na pořadí až jako předposlední. I přestože ostatní práce byly také zajímavé, mě především zaujala práce o zobrazování n-dimenzionálních prostorů, protože byla opravdu unikátní. Já jsem byl celou dobu velice nervózní a stále jsem si opakoval svou část prezence. Nakonec se dle mého názoru prezentace vydařila, a to hlavně díky Markovi Šeflovi, který dokázal živě reagovat na připomínky a dotazy jak z publika, tak od poroty. Vyhlášení proběhlo okolo půl druhé. Umístili jsme se na skvělém třetím místě, z čehož jsem měl opravdu radost. Soutěží SOČ náš projekt neskončil a my budeme ve vývoji pokračovat i nadále, dokud nebude KeepCUBE hotová. Bude to ale ještě dlouhá cesta.

Richard Šimeček, E2.A

Žádné komentáře:

Okomentovat