====== Evok ====== ~~NOTOC~~ {{ :en:sw:evok_1_.png?400&nolink |}} ;;# Patron \\ Neuron \\ Gate* \\ Unipi 1.1 \\ Axon ;;# The EVOK is our Open-Source application programming interface (API) providing interfaces to access physical inputs, outputs and communication interfaces. Its goal is to provide simple access to the hardware without the need to deal with low-level programming. Documentation, installation guide and description of APIs can be found at [[https://github.com/UniPiTechnology/evok|GitHub repository]]. ===== Basic features ===== Evok consists of two modules: - Evok API - the core handling the communication between all APIs and the hardware - Evok Web - a practical example of some of the APIs in a Web-based application which also serves as a simple UI of all I/Os of the unit Application logic and other operations (implementation of different components of the system) should be handled by an external application. {{:en:sw:02-evok:evokedited.png?400|Simplified EVOK scheme}} ===== Available protocols ===== * **REST** * **Bulk JSON** * **REST JSON** * **SOAP** * **WebSocket** * **JSON-RPC** \\ Quick examples using curl and JSON: * Returning the state of digital input **DI 1_01**: curl --request GET --url http://your-ip-goes-here:8080/json/input/1_01 * Switch-on the **RO 2_01** relay: curl --request POST --url http://your-ip-goes-here:8080/json/output/2_01 --header 'content-type: application/json' --data '{"value":"1"}' * Switch-off the **RO 2_01** relay: curl --request POST --url http://your-ip-goes-here:8080/json/output/2_01 --header 'content-type: application/json' --data '{"value":"0"}' See the {{https://kb.unipi.technology/_media/en~:sw:02-evok:evok.html | complete documentation including API usage examples}}. ===== Full EVOK technical scheme ===== {{:en:sw:02-evok:neuron_diagram.png?direct&400|}} ~~NOCACHE~~