FIWARE Platform for Smart Cities


FIWARE is born as the result of a public-private collaboration between the European Commission and the private sector.  This open platform, which provides a set of tools for different functionalities, is an innovation ecosystem for the creation of new applications and Internet services. It is especially useful in terms of Smart Cities, as it ensures the interoperability and the creation of standard data models.

In this context, being "Smart" requires first being "Aware", that is, implementing a Smart City requires gathering and managing context information describing the current and historic state of the cities. This context information refers to the values of attributes charterizing relevant entities of city services, governance, and third party apps. In this regard, Smart applications and services for cities do need information about everything happening at every moment, and thus have access to this context information. FIWARE provides a mechanism to generate, collect, publish or query massive context information and use it for applications to react to their context. This is a complex process, as this information may come from different sources: systems, mobile apps’ users, sensor networks, etc. It is our Context Broker, through a REST implementation of API OMA NGSI, which allows to shape and access it, whatever the source is.

The use and management from data coming from “Things” (i.e. sensors, actuators and other devices) is also a complex process, as there are many different protocols in the IoT sphere, but FIWARE provides a set of GEs allowing to access the relevant information through only one API (NGSI). It not only allows to read this sensor information, but also to act on some elements. Therefore, Context Broker is an essential part of the architecture to collect data, analyse them on real time, consult archives and their analysis, as well as to publish them as open data from a city. On the other hand, other functionalities such as business intelligence, web interfaces and advanced interfaces allow the creation of very powerful applications and solutions.

FIWARE IoT Stack

The FIWARE IoT Stack Documentation describes how to connect devices and receive data, integrating all device protocols and connectivity methods, understanding and interpreting relevant information. It isolates data processing and application service layers from the device and network complexity, in terms of access, security and network protocols.

FIWARE « ORION » Context Broker

Orion Context Broker allows you to manage all the whole lifecycle of NGSI context information including updates, queries, registrations and subscriptions. Using the Orion Context Broker, you are able to register context elements and manage them through updates and queries. In addition, you can subscribe to context information so when some condition occurs (e.g. an interval of time has passed or the context elements have changed) you receive a notification.

The Orion Context Broker Documentation describes in detail how to interact with the Context Broker, and thus, how to use the NGSI API for managing context information. On the other hand, this documentation describes how to deploy a dedicated instance of the Orion Context broker.

You can find the source code of Orion in the FIWARE Context Broker Github repository

FIWARE Device Backend Gateway (IDAS)

The FIWARE Device Backend Gateway supports several IoT protocols with a modular architecture where modules are called “IoT Agents”. This compontents allow to simplify the management and integration of devices. It collects data from devices using heterogeneous protocols and translates them into standard platform language: NGSI entities.

The Device Backend Gateway Documentation describes what are the different IoT Agents available and how to develop new agents for non-supported protocols

FIWARE Application Mashup (WireCloud)

WireCloud builds on cutting-edge end-user (software) development, RIA and semantic technologies to offer a next-generation end-user centred web application mashup platform aimed at allowing end users without programming skills to easily create web applications and dashboards/cockpits (e.g. to visualize their data of interest or to control their domotized home or environment). Web application mashups integrate heterogeneous data, application logic, and UI components (widgets) sourced from the Web to create new coherent and value-adding composite applications.

The WireCloud Documentation describes in detail how to interact with the Wirecloud platform, how to develop WireCloud components, and hoy to deploy a dedicated instance.

You can find a running instance in the Mashup portal of the FIWARE Lab

You can find the source code in the WireCloud Github repository

Available Smart City Real Time Data Endpoints

FIWARE offers a huge amount of Open Data that is available for you for free at https://data.lab.fiware.org. This section covers the most important real-time information that you will be able to find in all the cities that participates in the FIWARE initiative. 

Santander (Spain)

The city of Santander in Spain, relies on FIWARE for publishing its smart city real time data. For this purpose, the city has different NGSI endpoints.

There is one NGSI v1 service is deployed on http://mu.tlmat.unican.es:8099/ and can be queried sending NGSI queries to the queyContext service using HTTP POST requests. This service responses with a contextResponses node containing a list of contextElement, each  representing a entitity or sensor. For these entities, it is included the type, the id, and a list of attributes, which is different depending on the type of the entities.

In this endpoint it is published the following information:

 

There is also another NGSI v1 deployed on http://130.206.85.12:1026 that offers information about the different buses on service in Santander:

Additionally, the NGSI v1 Global Instance deployed on the FIWARE Lab (http://orion.lab.fiware.org:1026) offers some real time information of Santander. Please, take note that to access these data, you have to have a FIWARE Lab account. You can create a new one at: https://account.lab.fiware.org/sign_up/. The information provided by this endpoint covers:

Last but not least, there is a NGSI v2 endpoint deployed on http://130.206.83.68:1026 and can be queried with simple HTTP GET requests. This service responses with a list of entities containing an id, a type and a set of attributes. This endpoint contains the following information:

You can find the endpoints and examples on how to query Santander Sensors in the Santander Sensors Postman

Porto (Portugal)

The city of Portugal makes use of FIWARE technology to provide citizens real time information. This information is provided through three different NGSI instances.

There is one NGSI v2 instance deployed on http://130.206.83.68:1026 that provides information of the different Ambient Areas in which the city of Porto is divided:

There is NGSI v1 instance deployed on http://fiware-porto.citibrain.com:1026 that provides the following entities:

Finally, there is another NGSI v1 endpoint deployed on https://api.ost.pt/ngsi10/contextEntityTypes that provides information about garages (category 9), gas stations (category 417) and parking lots (category 418). The following screenshot shows the data returned from these sensors:




As can be seen in the screenshot, POIs entities contain the following attributes:

You can find the endpoints and examples on how to query Oporto Sensors in the Oporto Sensors Postman

Valencia (Spain)

The city of Valencia does not provide its data in NGSI format yet. However, it relies on FIWARE technology to offer real time information in other formats such as GeoJSON. Concretely, you can access to the following real-time information about:

You can find the endpoints and examples on how to query Valencia Sensors in the Valencia Sensors Postman

Slides used in the OpenHack

FIWARE Training Sesion