14.11.2017 EVOK 2.0 je naše open-source aplikační programovací rozhraní (API), licencované pod Apache, které slouží ke vzdálenému přístupu k našim PLC jednotkám.
Jde o jednoduchý software, který uživateli umožňuje co možná nejlehčí přístup k hardwaru bez nutnosti složitého programování. Ve výbavě má celkem šest unifikovaných metod, které uživateli slouží jako náhrada nutnosti psát vlastní kód - díky tomu je možné při práci s EVOKem využívat prakticky libovolný programovací jazyk. Samotné API funguje jako spojovací vrstva mezi samotným zařízením a webovou stránkou EVOKu, obsahující uživatelské rozhraní. Výsledný software je pak natolik jednoduchý na užívání, že práci v něm zvládne i naprostý začátečník.
Co má EVOK pod kapotou?
EVOK využívá šestici protokolů (či unifikovaných metod). Tyto protokoly pokrývají drtivou většinu existujícího hardwaru i softwaru a jedná se o následující:
- REST WebForms
- Bulk JSON
- REST JSON
- SOAP
- WebSocket
- JSON-RPC
REST je označení pro způsob návrhu API, který odpovídá přirozené manipulaci s endpointy podle specifikace HTTP. Web Forms je pak označení pro nativní způsob přístupu k internetovým API, založený na způsobu komunikace užívaném HTML formuláři.
Bulk JSON protokol je určen pro odesílání většího množství příkazů při zachování krátké doby odezvy. Bez něj by např. odeslání 20 příkazů znamenalo při latenci 25 ms na příkaz odezvu téměř 0,5 vteřiny, což by znamenalo potíže např. při využití jednotky ke spínání osvětlení. S bulkovým protokolem je ale možné jednou zprávou vyslat téměř jakékoliv množství příkaz přičemž celková odezva nepřekročí 30 ms.
REST JSON je velmi podobný REST Web Forms, na rozdíl od něj ale používá ke komunikaci JSON objekty a umožňuje tak jednodušší zpracování JavaScriptu.
SOAP (Simple Object Access Protocol) je protokol založený na jazyku XML, který využívá předem specifikované rozhraní. To umožňuje snazší integraci EVOKu do již existujících informačních systém.
WebSocket je nezávislý komunikační protokol, který přes jedno TCP spojení umožňuje vytvořit obousměrný komunikační kanál. Lze jej užít skrze webové prohlížeče či servery, případně přes klientské či serverové aplikace.
JSON-RPC je označení pro technologii využívající JSON objektů pro vzdálené vyvolávání skriptovacích funkcí. To umožňuje integrování vzdálených funkcí do programu bez nutnosti vytvářet transportní objekty
Co EVOK umí?
Co se funkcionality týče, EVOK umožňuje přímou kontrolu vstupů a výstupů a jejich nastavení. Přímo v API je obsaženo nastavení firmwarových funkcí řídících jednotek, jmenovitě nastavení typů analogových vstupů a výstupů, funkce DirectSwitch, funkce Counter, funkce PWM aj. Zahrnuta je i podpora startovací konfigurace, tj. možnost nastavení vstupů/výstupů tak, aby byl po spuštění zařízení jejich výchozí stav "zapnuto".
Přímo v EVOKu lze provádět základní úkony s komponenty systému, tj. spínat či vypínat vstupy/výstupy, monitorovat systém, provádět měření apod. Pro složitější operace (např. psaní chování systému) je ale nutné využít k tomu určený program. Ten následně EVOK využívá jako spojovací vrstvu mezi ním a vstupy/výstupy. Zahrnuta je i podpora rozhraní TCP-Modbus bez podpory sběrnice 1-Wire. Uživateli zde postačuje pouze Modbus mapa, EVOK pak zde díky možnosti využít JavaScript nabízí výrazně komfortnější prostředí, ve kterém se bude snadno orientovat každý uživatel zdatnější v programování.
EVOK podporuje i základní wi-fi funkcionalitu řídící jednotky. Pomocí něj lze z jednotky učinit bezdrátový přístupový bod (výchozí jméno sítě UNIPICONFIG, heslo "UniPi.technology"), zahrnuta je i podpora přemostění mezi Ethernetem a internetem.
A jak se to všechno ovládá? Jak bylo řečeno výše, EVOK je ovládán skrze webové rozhraní. V něm má uživatel snadný přístup ke konfiguraci jednotky i funkcím všech vstupů a výstupů. A co je nejlepší - každý uživatel si může lehce vytvořit vlastní podobu rozhraní dle svých požadavků, a to za pomoci široké škály programovacích jazyků.
Na úložišti GitHub naleznete odkaz ke stažení, instrukce k instalaci, technický manuál a další důležité informace. Nejvíce informací ale naleznete v oficiální dokumentaci. Ta je plně interaktivní a je rozdělena do záložek, ve kterých jsou uvedeny jednotlivé příkazy, jejich přesná funkce a ukázková odpověď příkazu. Jako třešničku na dortu pak dokumentace nabízí možnost "Try it out", neboli "Vyzkoušejte sami" - zde si můžete v jednom z nabízených jazyků napsat požadovaný segment a výsledný kód snadno překopírovat do svého programu.
Vyzkoušejte si sami a uvidíte, jak snadná práce s EVOKem je! Podrobnější informace naleznete v našem produktovém článku.