The European-funded IoT open source platform FIWARE has matured significantly in the past two years according to developers, and is now being used in industrial production cases, pilot smart city, and utilities projects. Two projects using the FIWARE platform include a city water quality pilot and an early warning system to identify and prevent pest risks to agricultural crops.
To further support industry uptake, FIWARE has recently formalized a foundation to lead community efforts. The Foundation is expected to see a new wave of community participation in the open source platform, which already has significant links with other open source projects. For example, FIWARE's testbed environment—FIWARE Labs—uses a multi-region cloud environment built on OpenStack.
Coming out of a joint project between Spanish telco operators and funded by the European Commission, the platform's initial approach was at times seen as bureaucratic, cumbersome, and confusing, according to early adopters such as Joaquín Cabezas, Chief Commercial Officer at Adevice, a hardware manufacturer that builds wireless monitoring systems for sensors and meters.
"In 2013, FIWARE was difficult because every month there were major issues," says Cabezas. "Back then it was difficult because it wasn't clear in the documentation what was going wrong, but right now it's completely different. The maturity of the FIWARE Context Broker, for example, has completely advanced. It is easy, understandable, if you have already done some work with JSON APIs, then it is the same tech."
Adevice currently runs a smart city project in Seville, Spain, demonstrating how to monitor water quality at the city's public fountains. This project is also one of the first IPv6 end-to-end (devices, 3G M2M network, and IoT platform in the cloud) smart city trials.
To create the pilot, Cabezas orchestrated an IoT architecture using multiple open source tools from the FIWARE platform. The pilot draws in sensor data from hardware at the water fountain source, and uses the FIWARE open source IoT agent. "It is not difficult to map to the IoT agents: We are using the Ultralight 2.0 agent, but there are also agents for MQTT protocols, SIGFOX and others," Cabezas says, adding, "You just have to follow simple rules and it is almost magic."
From there, the data is fed into a hub called the Orion Context Broker, which can then also draw in data from Hadoop, open data catalogs, and other sources via APIs. This data is then channeled through API security protocols and then made available externally in the NGSI data schema. Cabezas explains, "The NGSI is a standard set of rules to communicate with a RESTful API. We use it to connect the context broker to our dashboards, which are in Freeboard, via the NGSI."
The IoT architecture for Adevice's Seville smart water fountain pilot project. (Image courtesy of Carlos Ralli Ucendo, Telefónica I+D)
Cabezas says the work to make the context broker display relevant data in a freeboard dashboard took less than five minutes. FIWARE has created a freeboard connector to speed up the ease of displaying information from an IoT sensor workflow in the open source dashboard product.
According to Cabezas, the main work when designing these systems was creating the data model. As an early adopter of FIWARE, Adevice had built their own data models when starting to experiment with the platform, but now as more cities and industry have started projects using FIWARE, community members are sharing their data models to help speed up the use of standard data schema across industry and geographies. Being a first mover, Adevice is now contributing its data model to help develop a standard water quality data schema, one of six so far documented. Schemas are published under a Creative Commons Attribution 4.0 International License.
IoT starts with data models
Andrea Cruciani, founder of TeamDev, an Italian software engineering team specializing in agriculture and smart cities, has now led the development of several precision farming products that are built off FIWARE open source tools. He says the initial difficulties with using FIWARE came from using the wrong tools and not defining the data model in enough detail.
"We started using the wrong Generic Enablers in FIWARE," Cruciani explains. "We started to link to the access control, which is a single sign-on solution, but it was not so useful for our needs. So we spent a month mapping our data model to try and understand the value. For us, the real value was in the context information and the IoT interface. At first, it was tricky to implement because of the interface layer going to the sensor, so we adopted the NGSI as our standard."
The goal for Cruiciani's team was to create Agricolus, a monitoring platform that could measure various agricultural indicators, at first for olive trees. This includes soil moisture, leaf wetness, and wind direction—three parameters that are traditionally used to calculate risk of olive fruit fly disease, according to agricultural scientists. For each sensor used in the data model, Agricolus designed a server-side software that could translate sensor readings into the NGSI metadata standard. "From there we use this information to feed forecast models for disease risk and forecast or to produce information for realtime weather information to the farmers," Cruciani says.
The Agricolus IoT architecture uses FIWARE's Orion Context Broker to standardize measures. "We use the .NET language as they are now fully open source, so we are translating all the services into .NET CORE and from then it took us about two weeks to make the analysis and develop and test the Context Provider," Cruciani explains. "FIWARE was useful because through the NGSI and Context Broker, you can translate all the information from sensors and from third-party providers, like weather data."
Cruciani says that by mapping the data model first, they could better understand what information was useful to route through the context broker and what could be added outside of the FIWARE platform. "Geographic information, for example, is already available. We asked 'what kind of information, what is the meaning of the information' first, and then for another part of the data flow we implement an interface to a proprietary GIS platform," he explains. Already Agricolus is in use across the olive-growing district of Umbria in Italy, where the industry was decimated by the olive pest fly in 2014. Now the team are building similar solutions for cereals, hard nuts, and grapes.
An open source platform for the Industrial Internet of Things?
Both Adevice and Agricolus so far are using IoT infrastructure to recreate and enhance existing workflows that leverage technology to optimize current industry practices.
To be truly Industrial Internet of Things-focused, however, both must move to leverage newer tech opportunities. For Adevice, that may mean edge processing, which to date has not been necessary given the size of the Seville pilot. "We are not doing any analytics at the edge," Cabezas says. "We didn't think we had to do fog computing, as this example is very centralized and it's a simple program. Edge computing is really for when you have to take a lot of measurements all the time and you only want to process things like alarms or averages in realtime. Here, we are reading 30-40 parameters every 15 minutes."
For Agricolus, the new tech opportunity is in machine learning. Like Adevice, their current model is an enhancement of the workflow from traditional approaches: They identify measures (in realtime) and use that data to determine risk of olive pest fly disease. Cruciani explains, "At present, we use an empirical forecaster: We measure the parameters that can affect the rise of disease. We interface with some universities who have dozens of years of research on what parameters affect disease." He says they are starting with machine learning now, which is a completely different approach. "In the ML approach, you feed in data for all your parameters to discover a pattern that will affect the rise of disease," he explains. "We are trying to move in this approach but it is early days. So far, machine learning with a legacy model combination is having a better result. We are using Hadoop to store all of this information and we use the FIWARE open source Cygnus connector. We also have a MySQL database in production."
Business advantages of the open source IoT platform
Both Adevice and Agricolus are finding that there is business viability by being built on an open source IoT platform.
Cabezas said that for Adevice, by using a common, compatible open source platform, they could sell the hardware without having to be bogged down in cost-intensive testing of interoperability. And by using FIWARE, they can be listed in a catalog of interoperable hardware options, which he hopes will lead to their discovery amongst new customers looking for an compatible solution. Cabezas says, "It helps me open markets, to go into European projects. We are already meeting with companies who are at the proof of concept stage."
Cruciani believes that by adopting an open source standard for their IoT, they can gain technical competence faster. He has also been able to develop new partnerships with other entrepreneurs in the FIWARE community.
Both are now looking to see how FIWARE's open source platform is adopted by more players in the IoT market—that still remains key to their long term business success.