{"id":3297,"date":"2026-10-30T11:00:43","date_gmt":"2026-10-30T09:00:43","guid":{"rendered":"https:\/\/blogs.terrassa.cat\/ciutatdigital\/?p=3297"},"modified":"2026-10-30T11:00:47","modified_gmt":"2026-10-30T09:00:47","slug":"behind-infociutat-the-technology-that-makes-a-connected-city-possible","status":"publish","type":"post","link":"https:\/\/blogs.terrassa.cat\/ciutatdigital\/en\/2026\/10\/30\/behind-infociutat-the-technology-that-makes-a-connected-city-possible\/","title":{"rendered":"Behind InfoCiutat: The Technology That Makes a Connected City Possible\u00a0"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">In the previous article, we introduced the <strong>InfoCiutat<\/strong> platform, the space that provides access to the different use cases developed as part of the <strong>Terrassa Smart Buildings<\/strong> project.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But what happens between the moment a sensor collects data and the moment that information appears on a screen or becomes a tool for municipal management?&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The answer lies in the technological infrastructure that supports the entire project.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Much more than a network of sensors<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When we think of a smart city, we often imagine sensors distributed throughout the city.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">However, sensors are only a small part of the system.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For data to be useful, an infrastructure is needed that is capable of:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Collecting information from multiple sources.\u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Connecting devices distributed throughout the city.\u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Integrating data from different systems.\u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ensuring data quality and security.\u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Facilitating data reuse.\u00a0<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This combination of elements is what makes smart city management possible.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>An architecture designed to connect services<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The <strong>Terrassa Smart Buildings<\/strong> project is part of the digital city model promoted by <strong>Terrassa City Council<\/strong>.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This model is based on a connected city in which buildings, services and platforms share information to generate knowledge and support decision-making.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The aim is not to accumulate data, but to turn it into a useful tool for improving the management of municipal facilities and public services.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>The importance of open standards<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">One of the major challenges of any smart city project is ensuring that different technologies and systems can work together.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For this reason, the project is based on interoperability criteria that make it possible to integrate data from multiple sources and facilitate the incorporation of new services in the future.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This approach helps avoid technological dependencies and enables the platform to evolve as new needs emerge.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>A project aligned with smart city standards<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Terrassa Smart Buildings<\/strong> is being developed in accordance with the principles established in the <strong>UNE standards<\/strong> promoted by <strong>AENOR<\/strong> in the field of smart cities.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">One of the most relevant is <strong>UNE 178104<\/strong>, which focuses on comprehensive city management systems.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">These standards promote fundamental aspects such as:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>System interoperability.\u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Data integration.\u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Information governance.\u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Digital security.\u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Sustainability of technological solutions.\u00a0<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The aim is to ensure that the technology remains open, scalable and ready to adapt to the city&#8217;s future needs.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Data as a tool for the city<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The <strong>InfoCiutat<\/strong> platform is the visible part of a much broader system.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Behind every visualisation is an infrastructure capable of transforming dispersed data into useful information, enabling better-informed decision-making and improved coordination of municipal services.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This ability to transform data into knowledge is one of the foundations of the <strong>Terrassa Digital City<\/strong> model.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Technologies used<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The <strong>InfoCiutat<\/strong> platform follows a layered architecture model, as defined in <strong>AENOR&#8217;s UNE 178104:2017 standard<\/strong> on interoperability requirements for smart city platforms. Each layer provides the platform with a set of functionalities, allowing these capabilities to remain functionally independent so that they can be easily replaced or modified without affecting the rest of the architecture.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The overall solution architecture, taking into account data collection in buildings, complies with the <strong>UNE 178108 standard<\/strong>, which establishes the requirements for smart buildings to be considered an IoT node in accordance with <strong>UNE 178104<\/strong>.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The fact that our platform complies with the standards defined by the <strong>Smart Cities Technical Standardisation Committee (CTN 178)<\/strong> will help ensure that its components remain open and standardised, producing a key short-term benefit: interoperability with external platforms.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"901\" height=\"484\" src=\"https:\/\/blogs.terrassa.cat\/ciutatdigital\/wp-content\/uploads\/sites\/2\/2026\/10\/image-16.png\" alt=\"\" class=\"wp-image-3298\" style=\"aspect-ratio:1.8606811145510835;width:601px;height:auto\" srcset=\"https:\/\/blogs.terrassa.cat\/ciutatdigital\/wp-content\/uploads\/sites\/2\/2026\/10\/image-16.png 901w, https:\/\/blogs.terrassa.cat\/ciutatdigital\/wp-content\/uploads\/sites\/2\/2026\/10\/image-16-300x161.png 300w, https:\/\/blogs.terrassa.cat\/ciutatdigital\/wp-content\/uploads\/sites\/2\/2026\/10\/image-16-767x412.png 767w\" sizes=\"auto, (max-width: 901px) 100vw, 901px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The overall architecture of the solution is shown in the following diagram:&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>IoT Nodes in buildings<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">An <strong>IoT Node<\/strong> has been installed in each of the buildings included in the project, in accordance with the requirements of <strong>UNE 178108<\/strong>, with the following characteristics:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ubuntu-based operating system.\u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Several performance and storage options, adaptable to the characteristics of each building: \u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>x86\u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>4 GB RAM\u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>60 GB SSD\u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ability to operate using passive cooling, without fans requiring periodic maintenance.\u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Flexible installation options: electrical panels, desktop or wall-mounted.\u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ethernet connectivity: \u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>WAN for connection to the building network and the Internet.\u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>LAN for the local device network.\u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Mobile connectivity: SIM card for Internet access or as a backup connection.\u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Multiple interfaces: \u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>2 \u00d7 RS-232\u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>4 \u00d7 USB 3.0\u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>2 \u00d7 Intel GbE LAN\u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>HDMI output\u00a0<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Integration of IoT Nodes with the SENTILO Terrassa platform<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The integration of the <strong>IoT Nodes<\/strong> with the <strong>SENTILO Terrassa<\/strong> platform provides the following functionalities.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>The IoT Nodes<\/strong>&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Register with the City Council&#8217;s <strong>SENTILO IoT platform<\/strong>.\u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Collect data from sensors and\/or systems using multiple protocols.\u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use <strong>Node-RED<\/strong> to transform the data and adapt it to SENTILO, as well as to generate alerts and alarms at an early stage.\u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Store the data in <strong>PostgreSQL<\/strong> for the minimum period established as protection against service outages.\u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Send the data to SENTILO.\u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Receive commands from SENTILO to be executed by potential actuators.\u00a0<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>The City Council&#8217;s SENTILO platform<\/strong>&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Manages the data using the available databases: <strong>PostgreSQL, Oracle and Elasticsearch<\/strong>.\u00a0<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Once the data has been generated by the sensors and collected by each of the IoT Nodes, it reaches the <strong>SENTILO Terrassa<\/strong> platform.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The project has complemented this platform with a deployment of <strong>FIWARE<\/strong>, turning <strong>InfoCiutat<\/strong> into a fully fledged smart city platform.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>InfoCiutat infrastructure<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The deployment of <strong>InfoCiutat<\/strong> is based on a containerised architecture orchestrated by a <strong>Kubernetes<\/strong> system.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Its main components are:&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Context Broker: FIWARE Scorpio<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The central component for real-time context management, enabling the integration and processing of data from multiple sources.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Scorpio<\/strong> manages entities and their associated data, making this information available for consumption by other services within the infrastructure.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Keycloak<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This system provides authentication, authorisation and accounting (<strong>AAA<\/strong>) services, securely and centrally managing user access and permissions.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Keycloak<\/strong> enables the implementation of <strong>Single Sign-On (SSO)<\/strong> and <strong>Multi-Factor Authentication (MFA)<\/strong> to enhance platform security.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>API Manager<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The <strong>API Manager<\/strong> protects and manages access to the existing REST API by applying access policies, rate limiting and request authentication.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The system is integrated with <strong>Keycloak<\/strong> to ensure that only authenticated and authorised users can access API resources.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Node-RED<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A tool for developing event-driven integration applications.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Node-RED<\/strong> enables the creation of customised data flows that facilitate the manipulation and transformation of data between the different components of the infrastructure.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Node-RED has also been used to build the adapter between <strong>Sentilo<\/strong> and the <strong>NGSI service bus<\/strong>.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It also acts as a tool for generating alarms based on state-change events in Context Broker entities.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>PostgreSQL + Timescale<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A database solution optimised for handling time-series data, enabling efficient storage and fast querying of historical data.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Timescale<\/strong> is essential for managing the large volumes of data generated and used by the visualisation tools.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>MongoDB<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">An open-source <strong>NoSQL document database<\/strong> that stores documents in BSON format, which can be retrieved through queries in JSON format.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Apache Superset<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A <strong>Business Intelligence (BI)<\/strong> data visualisation and analytics tool that allows users to create interactive dashboards and advanced charts.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Apache Superset<\/strong> connects to databases to provide real-time data analysis capabilities.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>WireCloud<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A web development platform focused on the creation of <strong>Internet of Things (IoT)<\/strong> applications and hybrid portals that combine information from different sources.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It allows developers and end users to visually and flexibly integrate different data sources and web services.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It is the main visualisation component of the platform.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>NGINX<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A high-performance and highly efficient web server configured to serve static content, mainly building images, as well as CSS stylesheets and JavaScript files.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Additional tools<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The <strong>InfoCiutat<\/strong> platform also includes additional tools that provide a range of complementary functionalities, including:&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Apache Guacamole<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A free, open-source remote access gateway that allows users to connect to, view and control the desktop of computers or servers from anywhere using only a web browser, without needing to install an application or client on their device.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Drupal<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Drupal<\/strong> has been used to develop a content grid management system for the various display screens deployed throughout the city.&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the previous article, we introduced the InfoCiutat platform, the space that provides access to the different use cases developed as part of the Terrassa Smart Buildings project.&nbsp; But what happens between the moment a sensor collects data and the moment that information appears on a screen or becomes a [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":3290,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[720],"tags":[],"class_list":["post-3297","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-smart-city-en"],"_links":{"self":[{"href":"https:\/\/blogs.terrassa.cat\/ciutatdigital\/wp-json\/wp\/v2\/posts\/3297","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.terrassa.cat\/ciutatdigital\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.terrassa.cat\/ciutatdigital\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.terrassa.cat\/ciutatdigital\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.terrassa.cat\/ciutatdigital\/wp-json\/wp\/v2\/comments?post=3297"}],"version-history":[{"count":1,"href":"https:\/\/blogs.terrassa.cat\/ciutatdigital\/wp-json\/wp\/v2\/posts\/3297\/revisions"}],"predecessor-version":[{"id":3299,"href":"https:\/\/blogs.terrassa.cat\/ciutatdigital\/wp-json\/wp\/v2\/posts\/3297\/revisions\/3299"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.terrassa.cat\/ciutatdigital\/wp-json\/wp\/v2\/media\/3290"}],"wp:attachment":[{"href":"https:\/\/blogs.terrassa.cat\/ciutatdigital\/wp-json\/wp\/v2\/media?parent=3297"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.terrassa.cat\/ciutatdigital\/wp-json\/wp\/v2\/categories?post=3297"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.terrassa.cat\/ciutatdigital\/wp-json\/wp\/v2\/tags?post=3297"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}