====== 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 na [[https://github.com/UniPiTechnology/evok| GitHub.com/UniPitechnology/evok]].
/*
[[cs:sw:02-apis:01-evok:installation| Návod na instalaci Evoku
]]
*/
===== Základní funkce =====
Evok se skládá ze dvou částí:
* Evok API - jádro zajišťující komunikaci mezi jednotlivými API a hardwarem
* Evok Web - 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**
* **Bulk JSON**
* **REST JSON**
* **SOAP (Simple Object Access Protocol)**
* **WebSocket**
* **JSON-RPC**
\\
Jednoduché příklady pomocí curl a JSON:
* Získání stavu digitálního vstupu **DI 1_01**: curl --request GET --url http://vlozte-vasi-ip:8080/json/input/1_01
* Sepnutí relé **RO 2_01**: curl --request POST --url http://vlozte-vasi-ip:8080/json/output/2_01 --header 'content-type: application/json' --data '{"value":"1"}'
* Rozepnutí relé **RO 2_01**: curl --request POST --url http://vlozte-vasi-ip:8080/json/output/2_01 --header 'content-type: application/json' --data '{"value":"0"}'
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|}}