At IFS Labs, we have been researching the Internet of Things (IoT) for some time. This has resulted in a number of customer projects, interesting prototypes, and a reusable architecture on the Microsoft Azure cloud.
At this point, I want to introduce IFS Labs senior software developer Gökhan Kurt, whose ingenuity, curiosity, and willingness to experiment with his own car inspired me to write this blog post.
What I hope to illustrate here is how easily and quickly assets can be connected to IFS Applications via the Microsoft Azure IoT Suite. The project only took a few days, and all necessary components were readily available on eBay.
I will let Gökhan explain how it works and what the results were.
Setting up the hardware
For the purpose of collecting data from my Toyota Aygo, we use a standard on-board diagnostics (OBD) interface found in most cars and referred to as OBD-II or EOBD in Europe. We used a cheap OBD Bluetooth dongle and connected it to the car’s OBD port.
On the receiver side, we use a Raspberry Pi 2, a credit card-sized, barebones computer that offers the capabilities we needed for this project.
We then connected the USB OBD Bluetooth and a USB GPS dongle to receive location information via the Pi’s USB ports.
So at this point, the OBD Bluetooth component is reading data from the car and sending it to the Raspberry Pi through the USB Bluetooth dongle.
The Raspberry Pi is then adding GPS information on top of this and sending it, via Wi-Fi, to the cloud.
To accomplish this, we plugged in a USB Wi-Fi component to our Raspberry Pi and installed a 3G USB Wi-Fi modem in the car. Both Wi-Fi and the Pi were powered by the car’s 12V power port.
Setting up the cloud infrastructure
Our next step was to set up the Microsoft Azure cloud, which receives the data sent by the in-car components. Our standard IoT architecture on Microsoft Azure is illustrated below:
Here is where things get a little bit technical, so please bear with me as I explain the flow of data.
The in-car Raspberry Pi sends data to the Microsoft Azure Event Hub. The event hub is in turn connected to a Service Bus queue through an Azure Stream Analytics query using the filtering and aggregation functions provided by Stream Analytics. From the service bus queue, the car data is sent to IFS Applications through the IFS Cloud.
There are lots of advantages using these standard components from Microsoft Azure. For example, you can send the data for analysis to Power BI, or you can send important messages to mobile users as push notifications. You can also run machine learning algorithms, Big Data queries and much more.
But that’s not all.
The data output can be easily viewed in the Internet of Things Lobby that IFS Labs has designed.
For each journey you can see the average coolant temperature, average intake air temperature, engine revolutions per minute, and average speed. All this data is provided through the OBD port in the car.
Thanks to the GPS data captured, IFS Applications also enables you to see where the car has been.
Thanks to Power BI, we can easily access real-time data for each journey.
Enormous potential of IoT
This was a practical, hands-on demonstration of how to connect an asset like a car using commoditized components, transfer the data through the standardized Azure IoT suite, and view the data in IFS Applications. It couldn’t be easier.
A real-world industry scenario could involve a rental company that receives performance diagnosis data from in-the-field equipment to monitor real-time performance or to switch from a day-rate model to actual usage rate.
Our intention with this project was to show how IoT offers endless new business opportunities across all industries. At IFS Labs, we are developing solutions to let you tap the full potential of your assets by connecting them to IFS Applications.
Take a look at IFS Labs and see what else we’re up to.