summaryrefslogtreecommitdiffstats
path: root/docs/1-Architecture.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/1-Architecture.md')
-rw-r--r--docs/1-Architecture.md21
1 files changed, 21 insertions, 0 deletions
diff --git a/docs/1-Architecture.md b/docs/1-Architecture.md
new file mode 100644
index 0000000..487c467
--- /dev/null
+++ b/docs/1-Architecture.md
@@ -0,0 +1,21 @@
+# AGL VIWI HIGH-CAN binding architecture
+
+This binding is intended to act between low-level binding(s) and clients. It builds ViWi resources as defined in a json configuration file, and implements subscribe/unsubscribe/get verbs for the clients. Each ViWi resource can be composed of several elements, for which subscriptions will be made to the low-level binding with configurable frequencies or filters.
+
+![ViWi High Level binding architecture](images/high-level-arch.png)
+
+<!-- pagebreak -->
+
+## BRIEF VIWI DESCRIPTION
+
+ViWi (Volkswagen Infotainment Web Interface) protocol defines a serie of objects, which can be queried or updated via JSon messages.
+
+Each object is assigned with a unique URI.
+
+The depth of the URI tree is limited to 3, i.e. /service/resource>/element/, for instance **/car/doors/3901a278-ba17-44d6-9aef-f7ca67c04840**.
+
+To retrieve the list of elements for a given resource, one can use the get command, for instance **get /car/doors/**.
+
+It is also possible to subscribe to elements or group of elements, for instance **subscribe /car/doors/3901a278-ba17-44d6-9aef-f7ca67c04840**. Requests can also have various filters, or specify a frequency.
+
+More details in the [ViWi general documentation](https://www.w3.org/Submission/viwi-protocol/) and in the [ViWi.service.car documentation](https://www.w3.org/Submission/viwi-service-car/)