Protocol Adapter Toolkit (PAT) is an SDK that allows developers to write a custom Connector that enables edge devices (without native AlwaysOn support) to connect to and communicate with the ThingWorx Platform.
A typical use case is edge communication using a protocol that can't be changed (e.g. MQTT).
Prior to PAT, developers had to use the ThingWorx (Edge or Platform) SDKs, or the ThingWorx REST interface, to enable the edge devices to communicate with ThingWorx.
PAT provides three main components: the Channel, the Codec, and the ThingWorx Platform Connection.
The Channel implements a network protocol to communicate directly with the Edge Device. Its responsibilities include reading data from an Edge Device, writing data to an Edge Device, and routing data to the correct Codec. You can implement your own custom channel or use one of the out of the box channels provided by PTC : WebSocket, HTTP (1.0.x) and MQTT (1.1.x).
The Codec translates messages from your edge devices into messages that ThingWorx platform can process (property read/write,service call, events), and provides a means to take the results of those actions and turn them back into messages for the device. You must implement the Codec.
The Platform Connection layer sends and receives messages with the ThingWorx platform.
Note : The PAT Connector capabilities depend on edge protocol and channel implementation.
The PAT installation media contains :
README.md - start here
SDK (Java API) and runtime libraries
PAT skeleton project (Gradle)
Sample codec implementations for the WebSocket, HTTP, and MQTT channels (Gradle)