====== 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 our [[https://github.com/UniPiTechnology/evok|GitHub repository]].
===== Basic features =====
Evok is divided into two modules:
- Evok - the core handling the communication between all APIs and the hardware
- Evok Web (optional) - a practical example of some of the APIs in a Web-based application which also serves as a simple UI of all I/O 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**
* **REST JSON**
* **WebSocket**
* **BULK**
* **JSON-RPC**
\\
===== Documentation =====
Documentation, such as how to install or configure, is available on [[https://evok.readthedocs.io|Read the Docs]]. The API itself is documented on the [[https://unipitechnology.stoplight.io/docs/evok/|Stoplight]], a few examples are below.
Quick examples using curl and JSON:
* Returning the state of digital input **DI 1_01**: curl --request GET --url http://127.0.0.1:8080/json/di/1_01 --header 'Accept: text/html, application/json'
* Switch-on the **DO 1_01** digital output: 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}'
* Switch-off the **DO 1_01** digital output: 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)}}
**Older version of Evok:** \\
Legacy documentation of Evok v2 is available [[https://github.com/UniPiTechnology/evok/tree/master|here]], [[en:sw:02-apis:01-evok:apidoc-hidden|API documentation v2]] is also available.
/*{{https://kb.unipi.technology/_media/en~:sw:02-evok:evok.html|API documentation}}*/
/*===== Full EVOK technical scheme =====
{{:en:sw:02-evok:neuron_diagram.png?direct&400|}}*/
~~NOCACHE~~