The results of this twofold activity are sent to the processing center and then used by the location-aware services that are in charge to provide all the other features of the system. In particular, they (i) provide cultural contents to the visitors, (ii) communicate useful information to external users, and (iii) interact with heterogeneous technologies that control the status of the environment (e.g., a building automation system that manages lighting and thermoregulation of the museum). To accomplish the last task, they exploit a multiprotocol middleware that allows a transparent access to heterogeneous IoT technologies, hiding the low-level communication details. This middleware is designed to be easily extended to new technologies, in order to improve flexibility and scalability.