====== 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|}}*/