We have developed a platform for the IoT as a scalable distributed system that can seamlessly support an in-home
smart grid and different concurrent applications for remote monitoring and control. The platform architecture is illustrated in Fig. 1. It consists of three main parts: the sensor and actuator networks, the IoT server and the user interfaces for visualization and management. Sensor and actuator nodes communicate in a reliable bidirectional way with the IoT server. The communication between the nodes and the IoT server follows the TCP/IP client-server model. Sensors send messages in their native format to the IoT server (through a gateway, if needed), over an encrypted link. The IoT server converts the raw payload, containing information from heterogeneous nodes, into a standard format, containing
object identifier, object type, measurement unit, data
field, geographical position, and timestamp. In this way, data
can be easily represented, manipulated and aggregated without
considering the communication protocol of the originating
source.A web-based graphical interface allows users to access
real time and historical sensor data. The same interface
allows users with administration privileges to manage networks
and single nodes. Third-party software can access the
platform using a REpresentational State Transfer application
programming interface (API) [25].
Due to the possibility of using the system to collect sensitive
and confidential data, the platform ensures an adequate
security level both to end-to-end communications and to data
access. For this reason, users need to be authenticated before
they can access the platform and can only access specific
sets of sensor data through HTTPS. The IoT server supports
multiple encryption protocols (AES-128, SSH).
At a finer level of detail, the IoT platform consists of several
hardware and software components, each described by
its functions and by its interfaces with other components. In
this way, the architecture is easily scalable and robust. Each
component can be modified, redesigned, and extended with
minimum impact on the rest of the system. The components
are indicated in Table I and are described in more detail in
the following subsections.