AMQP
General
AMQP is a standard messaging protocol for the Internet of Things (IoT). It is designed as an extremely lightweight publish/subscribe messaging transport that is ideal for connecting remote devices with a small code footprint and minimal network bandwidth.
Southbound AMQP communication
The Information Router (IR) supports the AMQP protocol between devices and IR, meaning that the device publishes to an AMQP broker to a certain queue and IR subscribes to it, in order to receive the request. The IR then forwards the received message to the target service, most commonly via REST. The response from the service is received by the IR again via the destination protocol (commonly REST) and published back to a topic on which the device is subscribed. The response to the device is currently limited as only error messages are sent back.
When southbound AMQP protocol is enabled the queues are automatically generated for the PPMP use case. Subscription queues are generated on startup, response queues are generated only when the first response is sent back. The TenantId is dynamically filled based on the relevant environment variable. The devices have to send their PPMP messages to the relevant subscription queues.
Subscription queue: {TenantId}/ppmp/v2/message
Publishing queue: {TenantId}/ppmp/v2/message/response
Subscription queue: {TenantId}/ppmp/v2/measurement
Publishing queue: {TenantId}/ppmp/v2/measurement/response
Subscription queue: {TenantId}/ppmp/v2/process
Publishing queue: {TenantId}/ppmp/v2/process/response
Subscription queue: {TenantId}/ppmp/v3/message
Publishing queue: {TenantId}/ppmp/v3/message/response
Subscription queue: {TenantId}/ppmp/v3/measurement
Publishing queue: {TenantId}/ppmp/v3/measurement/response
Subscription queue: {TenantId}/ppmp/v3/process
Publishing queue: {TenantId}/ppmp/v3/process/response
Publishing queue: observation:shopfloor-management:operationmode-changed
Publishing queue: observation:shopfloor-management:changeover
Publishing queue: observation:shopfloor-management:jam
Publishing queue: observation:shopfloor-management:partmissing
Publishing queue: observation:shopfloor-management:error
Publishing queue: observation:shopfloor-management:part-processed
Publishing queue: observation:shopfloor-management:multi-part-processed
Publishing queue: observation:shopfloor-management:group-of-parts-processed