ThingPark X IoT-Flow
Overview
Actility envisions a more efficient and sustainable world through widespread adoption of digital twin technology. Digital twins are software representations of physical devices, exposing device properties (such as battery level) and enabling the sending of downlink messages.
ThingPark X serves as the cornerstone of this vision, acting as a mediation layer between cloud applications and the physical world. Positioned at the edge of the LoRaWAN network, ThingPark X simplifies the interface between LPWAN-connected sensors and IoT applications. It transforms raw sensor data into actionable, application-friendly information that can be integrated into digital twins across various IoT platforms.
ThingPark X IoT-Flow acts as a mediation layer handling bi-directional communication between ThingPark powered networks and application servers or major cloud-based IoT Services in order to keep digital twins in sync. This ability to provide digital twins consistently all the data that the LPWAN sensors collected relies on the following key parts provided by TPX IoT-Flow:
-
Drivers: Convert device-specific payloads into generic JSON objects. Based on ThingPark device profiles, the TPX platform decodes uplink messages collected through the LPWAN network, transforming raw data into actionable data points. The ThingPark X Drivers Library supports over 100 sensor models and offers the possibility to upload custom drivers.
-
Connections: Adapt transport protocols and forward data to external application servers or cloud providers. Connectors ensure a proper delivery of extracted sensor data (via the driver engine) to the selected IoT platform (e.g., TPX IoT Core, AWS IoT Core, Azure IoT Hub, ThingWorx) by ensuring:
-
Authentication is properly handled.
-
Device/Thing provisioning is consistent. For example, the AWS IoT Core connector will create a dedicated thing type on AWS IoT Core and instantiate things if it does not exist yet.
-
Data is published to the appropriate location, such as the device shadow or the alarm framework of the IoT platform if the extracted data represents an alarm.
-
-
Flows: Process payloads and send commands to a list of devices associated with it. Each Flow is linked to one or more Connections to external application servers or IoT platform providers. Within a Flow instance, you can define the drivers for payload decoding and command encoding, and add optional filtering, transformation, and forwarding rules. Typically, a flow decodes device payloads into the ThingPark X normalized ontology, then translates this payload into the format expected by the target IoT platform.
In ThingPark Entreprise context, the Flow is not visible in the UI.
Technical parts
To route your devices' data using IoT Flow, you need to define both the data source and its destination. In TPX IoT-Flow, this information is encapsulated within a Flow object. The Flow object allows you to define simple rules to route data from a set of devices to a set of destinations.
- Source: A Flow is attached to your devices using Keys (Dev_EUI) or Tags.
- Destination: A Flow sends the data to a Connection. A Connection uses a Connector to communicate with an external service, such as a cloud provider.
Drivers
You can find the full list of available drivers here. The list keeps evolving.
Connectors
TPX IoT-Flow Connectors are profiles that determine the communication parameters toward the IoT cloud platform. Available connectors include generic options like MQTT or HTTP, as well as application-specific connectors such as AWS IoT Core or Azure IoT Hub.
These connectors establish the communication link between Actility and your application server.
You can find the full list of available connectors here. The list keeps evolving.
Connection
A Connection is a specific instance of a Connector, where you define parameters to establish a communication stream with the selected IoT cloud platform.
Flow
A Flow is the object that creates an association between a sensor and an IoT cloud platform. This association is established by matching sensors traffic to a specific Connection using tags available as metadata in uplink/downlink messages.
IoT Flow Rest API
The IoT Flow REST API is a set of webservice allowing to create and configure the IoT Flows.
Configuration Steps
To establish bi-directional communication between an LPWAN-connected sensor and a compatible IoT cloud platform using TPX IoT Flow, follow these steps:
This flow is described in the subsequent sections of this document.
To create your first IoT Flow, follow the Getting started.
Interfaces
ThingPark X IoT-Flow offers two interfaces for interaction:
Graphical User Interface (GUI)
The GUI allows for interactive management of objects and monitoring of events. It's designed to provide a meaningful overview of user objects and is best suited for scenarios involving fewer than 10 objects, such as troubleshooting a specific connection. Note that the GUI is not intended for analytics or bulk operations.
Application Programmable Interface (API)
The IoT Flow REST API enables automation of repetitive tasks and integration with existing systems. It's ideal for performing bulk operations or analytics, allowing manipulation of hundreds of objects efficiently.
ThingPark X IoT Flow product variants
There are 2 ways to get access to ThingPark X IoT-Flow product.
-
Standalone product: This options is used to integrate TPX-IoT Flow capabilities on top of ThingPark Wireless or a third-party network server. In this scenario, all capabilities and interfaces described in this documentation are available to the user.
-
ThingPark Enterprise component: ThingPark Enterprise software integrates TPX-IoT Flow product components by default. To optimize the user experience, some TPX-IoT Flow features depicted in the documentation may be hidden in the ThingPark Enterprise context. For example, the concept of Flow may not be visible in the UI.
This documentation outlines all capabilities offered by ThingPark X IoT-Flow as a standalone product. Notes are provided where certain concepts, procedures, or interfaces do not apply within the ThingPark Enterprise context.