Under PPS1, Aa framework was designed to be included in a data transmission chain for IoT devices, with the focus of this framework being to allow, in a seamless way, the development of platforms that can interact with different IoT devices, regardless of the communication protocol they use.

It is possible to define at runtime which devices are allowed to communicate and where their data is routed to. The data sent by IoT devices is forwarded by the framework to its consumers, which can be any application capable of receiving that data, such as databases, processing algorithms (e.g. AI), data visualization platforms, etc.

Just as devices can be added to the framework, ecosystems, consumers, and endpoints can be added, changed, or removed in real time.

In a “traditional” situation, developers would have to create a way to connect each of the ecosystems to each of the endpoints receiving data/sending commands. In order to simplify the entire development and production process, this framework provides a way to connect all these devices and endpoints in a simple and fast way.

The framework developed is based on microservices, which will allow, in an easy way, the integration of new functionalities. It will thus be possible to develop platforms that will allow in the future the addition of not only the devices foreseen in this project, but also other solutions that may be developed in the future.

Besides the integration of various types of devices, the integration of various types of consumers is also possible, allowing the connection to platforms (already existing or developed around this framework) developed according to the intended business model.

The central part of this framework includes a fully configurable “Mediator” that is intended to forward the information coming from the devices (e.g. GPS coordinates) to the consumers of that information and to send commands to the devices.

The interaction between this module and the other (distributed) services will be done through well-defined interfaces. These interfaces have specified the type of messages that can be exchanged between the various players and are reflected, in practice, in APIs, which allow in a secure way (with authentication and end-to-end encryption) the exchange of information between “Mediator” and the other modules, using gRPC.

In addition to gRPC, for nodes internal to the Framework, it is also planned to use REST for interaction with external elements, or elements focused on data visualization and user iteration.