Anemone

Platforma pro Internet věcí

Anemone Logo

Co bylo výzvou

Cílem projektu bylo vytvoření otevřené platformy pro Internet of Things pomocí open source a open hardware technologií. Platforma sestává z několika součástí jako jsou například drag & drop editor programů, krásné mobilní aplikace a prototyp open hardware zařízení.

Klient:

Česká spořitelna logo

Datum: Září 2016

Naším úkolem bylo navrhnout a vytvořit kompletní řešení. Detailní analýzou technologického řešení počínaje a online drag & drop editorem programů a mobilními aplikacemi konče. Zajímavou výzvou bylo nalezení vhodné komunikační technologie mezi open hardware zařízeními a webovou aplikací v cloudu. Bylo nutné zvolit takový způsob komunikace, který by splňoval všechny potřebné požadavky - jak ty technické, tak musel být dostatečně otevřený a přístupný pro cílovou skupinu celého řešení. Cílovou skupinou jsou kutilové, “bastlíři” a makeři.

Druhou výzvou v projektu byla realizace nástroje pro vizuální programování pomocí drag & drop, které by fungovalo v prostředí prohlížeče. Kutilové a makeři nejsou vždy zkušenými programátory, a proto bylo nutné pro ně připravit nástroj, který by jim umožil vytvářet jednoduché aplikace i bez nutnosti znát a ovládat programování. Nástrojů pro vizuální (nebo také flow-based) programování existuje celá řada, ale žádný z nich nesplňoval specifické požadavky našeho klienta - především pak jednoduchost jeho použití a možnost prostředí pro více současně pracujících uživatelů. Z tohoto důvodu jsme navrhli a vytvořili elegantní online editor pro flow-based programování, ve kterém je možné pracovat pomocí drag & drop. Editor disponuje pouze základními funkcemi, ale jeho uživatelské rozhraní je velmi přehledné, a je možné se v něm ihned zorientovat. Což umožňuje jeho uživatelům vytvářet jednoduché aplikace velmi snadno během pár minut.

platformaiotmobilní aplikaceandroidiosbackendapiopen hardwareflow-based programmingvývoj mobilní aplikacevývoj webuvývoj IoT aplikacetechnologická výzva

Anemone Platforma

Řešení sestává z komplexní webové aplikace naprogramované v Ruby on Rails, která tvoří prezentační web platformy, API, online editor i administrační rozhraní. Další součástí řešení jsou krásně animované nativní mobilní aplikace pro Android a iOS, 3D vytisknutelné obaly, které jsme navrhli, a mnoho dalšího.

Funkcionalita

Mezi klíčové vlastnosti mobilních a webových aplikací patří

Prototypy

Navrhli jsme několik prototypů open hardware zařízení. Vytvořili jsme prototyp jak pro řešení s ideálním poměrem cena/výkon (Arduino a NodeMCU), tak pro průmyslovou kvalitu (BigClown). Všechna zařízení jsou vytvořena pod licencí open hardware a open source.

Flows

V editoru je možné vytvářet jednoduché programy, pomocí kterých se pracuje s daty ze zařízení, které se k platformě připojí. Složitější logika se programuje v JavaScriptu.

3D obaly

Pro prototypy zařízení jsme vytvořili pět 3D vytisknutelných obalů a vypublikovali je jako open source na Thingiverse.

Mobilní aplikace

Vyvinuli jsme nativní mobilní aplikace pro Android i iOS, které umožňují uživatelům ovládat svá zařízení na dálku. Mobilní aplikace mají stylové 8-bitové uživatelské rozhraní a schovali jsme do nich několik malých překvapení (už jste viděli raketku?)

Web

Webová aplikace vytvořená v Ruby on Rails spojuje všechny součásti systému dohromady. S mobilními aplikacemi komunikuje pomocí web sockets a se zařízeními pomocí protokolu MQTT.

Responsivní webová stránka

Webová aplikace je tvořena několika oddělenými součástmi, které spolu interagují přesně daným způsobem. Frontend tvoří responsivní prezentační webová stránka. Ta umožňuje uživatelům přihlášení a registraci. Přihlášený uživatel získá přístup do svého Dashboardu odkud může spravovat připojená zařízení, která má s platformou propojena (v terminologii platformy se tato zařízení nazývají Tentacles). Kromě zařízení zde uživatelé mohou spravovat i seznam svých aplikací, které v rámci platformy vytvořili.

Vývoj responsivní webové stránky Anemone

Flow editor

Vytvořené aplikace pomocí platformy ve skutečnosti nejsou závislé na hardwarových zařízeních. Tyto aplikace mohou hardwarová zařízení připojovat k webovým službám a nebo mohou fungovat i zcela bez nich. Jedna aplikace může být napojena i na více než jedno zařízení. A jedno zařízení může být připojeno k mnoha aplikacím ve stejný okamžik. Zařízení komunikují s cloudovou aplikací pomocí technologie MQTT, která je velmi oblíbená v cílové skupině kutilů a makerů.

Aplikace, které je možné pomocí platformy vytvářet (v platformní terminologii se nazývají Flows), se skládají z jednotlivých uzlů (angl. Nodes), které jsou vzájemně propojeny pomocí drag & drop v online Flow editoru. Název editoru je odvozen od flow-based programování, což je princip, podle kterého se aplikace vytváří. V systému je už připravena celá řada různých uzlů a nové je možné vytvářet pomocí programovacího jazyka JavaScript.

Vývoj webové aplikace Flow editoru

Anemone Dokumentace

Protože je celá platforma poměrně složitá, a její použití sestává z řady možností a kroků, připravili jsme přehlednou a srozumitelnou online dokumentaci, která usnadňuje použití platformy i méně zkušeným uživatelům.

Anemone dokumentace

Ale webovou aplikací a online editorem uživatelský zážitek z Anemone platformy nekončí. V rámci projektu jsme vytvořili také dvě nativní mobilní aplikace - jednu pro Android a druhou pro iOS. Pomocí těchto aplikací může uživatel interagovat se svými aplikacemi a zařízeními odkudkoli, a mít všechny informace vždy po ruce.

Vývoj mobilních aplikací pro Android a iOS pro Anemone

Uživatelé mobilní aplikace mohou rovněž sdílet přístup ke svým Anemone aplikacím skrze mobilní telefon se svými přáteli nebo kolegy. Stejně jako to děláme u všech projektů, i zde jsme se mimořádně věnovali detailům - výsledkem je přímočarý proces sdílení přístupu k Anemone aplikacím, který je pro uživatele nevšedním a příjemným zážitkem. Právě detaily často rozhodují o tom, jak budou uživatelé mobilní aplikaci vnímat.

Anemone hand 1 Anemone hand 2
3D vytisknutý obal pro Anemone

Button Tentacle

Button Tentacle

Ani tím však Anemone nekončí. Kromě cloudové webové aplikace a mobilních aplikací jsme totiž navrhli a vytvořili celkem pět ukázkových prototypů open hardware zařízení, které jsou s platformou zintegrovány (v terminologii platformy se tato zařízení nazývají Tentacles). Tato zařízení jsme postavili pomocí prověřených a populárních open hardwarových komponent jako jsou Arduino, NodeMCU nebo BigClown. Sketche a firmware pro tato zařízení jsou dostupné jako open source a byly vytvořeny v programovacím jazyce C.

Display Tentacle

Display Tentacle

Pro vytvořená zařízení jsme také navrhli a vytvořili šikovné plně open source 3D vytisknutelné obaly. Obaly je možné používat jak společně s platformou Anemone, tak i zcela samostatně. 3D vytisknutelné obaly pro všechna navržená Tentacles jsou dostupná na Thingiverse, odkud si je může stáhnout každý, kdo má zájem.

BigClown Base Tentacle

BigClown Base Tentacle

BigClown Remote Tentacle

BigClown Remote Tentacle

Hledáte spolehlivého technologického partnera pro Váš projekt? Rádi o Vašem projektu
uslyšíme více.

Chci také aplikaci! Harley-Davidson Fraus AR
Zpět na začátek