====== Evok ======
~~NOTOC~~
/*
*/
{{ :en:sw:evok_1_.png?400&nolink |}}
/*
;;#
Patron \\
Neuron \\
Gate* \\
Unipi 1.1 \\
Axon
;;#
*/
Evok je naše Open-Source aplikační programovací rozhraní (API), které slouží jako rozhraní fyzických vstupů, výstupů a komunikačních rozhraní. Jde o software, který uživateli umožňuje co nejjednodušší přístup k hardwaru bez toho, aby se uživatel musel zaobírat složitým nízkoúrovňovým programováním.
Veškerá dokumentace, návod na instalaci a popis jednotlivých API je k dispozici v našem [[https://github.com/UniPiTechnology/evok|repozitáři GitHub]].
===== Základní funkce =====
Evok je rozdělen na dvě části:
* Evok - jádro zajišťující komunikaci mezi jednotlivými API a hardwarem
* Evok Web (volitelná) - praktická ukázka využití API v podobě jednoduché webové aplikace sloužící jako uživatelské rozhraní pro všechny vstupy a výstupy jednotky
Pro programovou logiku a další operace (integrace dalších komponent systému) je již třeba využít odpovídající externí aplikaci.
/*{{:en:sw:02-evok:evokedited.png?400|Zjednodušené schéma EVOKu}}*/
===== Podporované protokoly =====
* **REST**
* **REST JSON**
* **WebSocket**
* **BULK**
* **JSON-RPC**
\\
===== Dokumentace =====
Dokumentace (instalace a konfigurace) je k dispozici na [[https://evok.readthedocs.io|Read the Docs]]. API je dokumentováno na [[https://unipitechnology.stoplight.io/docs/evok/|Stoplight]], pár příkladů níže.
Jednoduché příklady pomocí curl a JSON:
* Získání stavu digitálního vstupu **DI 1_01**: curl --request GET --url http://127.0.0.1:8080/json/di/1_01 --header 'Accept: text/html, application/json'
* Sepnutí digitálního výstupu **DO 1_01**: curl --request POST --url http://127.0.0.1:8080/json/do/1_01 --header 'Accept: application/json' --header 'Content-Type: application/json' --data '{"value": 1}'
* Rozepnutí digitálního výstupu **DO 1_01**: curl --request POST --url http://127.0.0.1:8080/json/do/1_01 --header 'Accept: application/json' --header 'Content-Type: application/json' --data '{"value": 0}'
----
{{ :files:img_warning-line_b.png?nolink |}}
{{ :en:hw:08_safety-instructions_pseudo-ISO-7010-info.png?nolink |(i)}}
**Starší verze Evok:** \\
Dokumentace k zastaralému Evok v2 je k dispozici [[https://github.com/UniPiTechnology/evok/tree/master|zde]], [[en:sw:02-apis:01-evok:apidoc-hidden|API dokumentace v2]] je též k dispozici.
/*Kompletní dokumentace a příklad použítí jednotlivých API je k dispozici {{https://kb.unipi.technology/_media/en~:sw:02-evok:evok.html | ZDE}}.
===== Kompletní technické schéma EVOKu =====
{{:en:sw:02-evok:neuron_diagram.png?direct&400|}}*/