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.
Overview
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.
Installation
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)
- Sample Custom Channel implementation (basic TCP protocol adapter) (Gradle)
- Required extensions to be installed on the platform : ConnectionServicesExtension and pat-extension
Reference Documents
- ThingWorx Protocol Adapter Toolkit Developers Guide 1.0.0
- README.md in various levels of installation folders
- ThingWorx Connection Services and Compatibility Matrix 1.0.0
Related Knowledge