Introduction

Palatine is an integrated IoT platform focused on the management, operation, and data collection of IoT devices. It facilitates the construction of specific use cases and supports the creation of digital twins. Developed within the FIWARE framework, Palatine leverages open components and standards to ensure high interoperability, scalability, and security in complex IoT environments. One of the platform's key advantages is its ability to define the data model for each type of device. This feature allows, through the user interface, the association of information received from devices with the specific data model to be stored.

Palatine enables the connection of IoT devices and the reception of data from them, integrating various protocols and connectivity options. The platform can dynamically manage the attributes to be stored from different devices, allowing the real-time definition of a smart data model per device or device type. Furthermore, it combines FIWARE components with proprietary development to isolate data processing layers from device management layers. In this context, the platform allows the definition of Smart Configuration per device, representing the set of device properties that can be modified during operation. Depending on the device type, the platform manages when the configuration changes defined in its Smart Configuration can be applied.

The solution has been developed as a set of components based on container technologies, capable of running on any Kubernetes-based container orchestrator. This capability enables easy, simple, and fast deployment in private, public, or hybrid cloud environments. All components are managed as Helm charts, facilitating version management and updates.

The main modules that make up the platform are:

  • Collection: This module consists of components designed to collect all measurements from devices and convert them into NGSI events. Based on FIWARE's IoT Agents, they have been adapted to support websocket connections and multi-level JSON messages.
  • Context Broker: Orion Context Broker processes, maintains, and integrates the contextual information of devices within the platform. It functions as an implementation of FIWARE's Generic Enabler Publish/Subscribe Context Broker, providing NGSI interfaces for efficient management.
  • Processing: Using Apache NiFi, this module allows defining and managing data flows. It processes the measurements, performs the necessary calculations, and reintegrates the contextual information into the Context Broker.
  • Storage: This module stores device information in a time-series format using QuantumLeap, an NGSI-TSDB service, and Timescale, a PostgreSQL-based time-series database. Additionally, it uses MongoDB for the persistence of configuration data and information from IoT Agents and the Orion Context Broker.
  • Dashboards: Enables the creation of custom dashboards for each tenant defined in the platform, using the open-source visualization solution Grafana.
  • Administration: This layer integrates all the mentioned components, including front and back modules for the operational management and visualization of device data. It allows defining a unique hierarchical access structure for each tenant and facilitates the grouping of devices by verticals (such as meteorology or transportation).
  • Alarm Management: In this module, alarms related to device availability, or specific operational thresholds can be established.
  • Authentication and Authorization: Incorporates Keycloak, an open-source identity management solution, which regulates access to the platform's different components and data. This module adapts to the hierarchical and vertical segmentation structure established for each tenant.
  • API Access: Facilitates the management and consumption of stored data through APIs, simplifying the development of specific applications for different sectors.
  • Monitoring: Designed to operate in a Kubernetes environment, this function uses open-source tools like Prometheus, Grafana, and Loki to provide a real-time view of the operational status of the deployed components. In summary, Palatine is a multi-tenant, modular, and scalable platform, capable of deployment in high-availability environments, allowing easy management of multi-vendor sensors and devices. Based on open standards and fully compatible with FIWARE, Palatine ensures interoperability and flexibility in various IoT environments