You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As the MQTT protocol is based on a pub-sub model, while VISS is based on a client-server model, it is necessary to apply a thin application level protocol
1530
-
on top of MQTT to abstract the client-server specific behavior. This is done by embedding the VISS messages in the MQTT messages,
1531
-
together with supplementary information that makes this abstraction possible, see the next chapter.<br>
1532
-
The VISS messages are adhering to the primary payload format without any deviations.
1529
+
The MQTT protocol operates on a publish-subscribe communication model, whereas the VISS is designed around a client-server interaction model.
1530
+
To reconcile these differences, a lightweight application-level protocol is introduced on top of MQTT.
1531
+
This protocol encapsulates VISS messages within MQTT messages and includes additional metadata required to support client-server semantics.
1532
+
Details of this abstraction mechanism are provided in the following chapter.<br>
1533
+
The VISS messages transmitted over MQTT SHALL conform to the primary payload format without modification.
1533
1534
</p>
1534
1535
1535
1536
<sectionid="application-level-protocol">
1536
1537
<h2>Application Level Protocol</h2>
1537
1538
<p>
1538
-
For MQTT to support the complete VISSv3 interface, as decribed in the <adata-link-type="dfn" href="https://github.com/COVESA/vehicle-information-service-specification/blob/gh-pages/spec/VISSv3.0_Core.html#interface">interface</a> chapter of the [[CORE]] specification,
1539
-
an applicationlevel protocol that runs on top of MQTT is added.
1540
-
It is described in the following, please also see the sequence diagram below.
1541
-
To emulate the client-server pattern that is described in the [[CORE]] specification, the vehicle server, via its vehicle client,
1542
-
issues a subscribe request to the broker on a topic named VID/Vehicle,
1543
-
where VID is an identity that uniquely links to the vehicle in the access control ecosystem.
1544
-
This vehicle identity is not necessarily the manufacturer's Vehicle Identification Number (VIN).<br>
1545
-
The client on the "cloudside" of the broker is expected to have access to this vehicle identity.
1539
+
For MQTT to support the full VISSv3 interface, as decribed in the <adata-link-type="dfn" href="https://raw.githack.com/COVESA/vehicle-information-service-specification/main/spec/VISSv3.0_Core.html#interface">chapter 5. Interface</a> of the [[CORE]] specification,
1540
+
an application-level protocol that runs on top of MQTT is required.
1541
+
This protocol is described below and illustrated in the accompanying sequence diagram.
1542
+
To emulate the client-server pattern that is described in the [[CORE]] specification,
1543
+
the vehicle server—via its vehicle-side client—MUST subscribe to the broker on a topic named VID/Vehicle,
1544
+
where VID represents a unique identifier that links the vehicle to the access control ecosystem.
1545
+
This vehicle identifier is not necessarily the manufacturer's Vehicle Identification Number (VIN).<br>
1546
+
The cloud-side client is expected to have access to this vehicle identifier.
1546
1547
How it obtains it is out of scope for this specification.
1547
-
When the cloud client wants to issue a request to the vehicle server it first generates a unique topic name,
1548
-
which it subscribes to at the broker. It then generates a JSON formatted payload with the general structure
1548
+
When the cloud client intends to send a request to the vehicle server,
1549
+
it first generates a unique topic name and subscribes to it via the broker.
1550
+
The client then generates a JSON formatted payload with the following structure:
0 commit comments