THE BPD Blog

From blogs to case studies to news, we love sharing our tips and tricks for asset management, cloud, IoT and smarter operations.

by | Sep 4, 2017

IoT and IBM Maximo – Part 1

Since its first contemporary vision in the early to mid-1990s, the Internet of Things (or IoT as it is commonly known) has grown in its usage, function and maturity.  Today, there are a vast number of options available across various underlying platforms. From relatively cheap kits for hobbyists – to large scale industry solutions – the IoT demonstrates a diverse and scalable utilisation. With Gartner estimating that there will be nearly 20.8 Billion IoT devices in use by 2020, there are no signs of this technology slowing down either.
With IBM Maximo’s powerful and versatile Integration Framework (MIF), there are several possible ways to integrate IoT and Maximo.  This includes direct connections from the IoT devices to Maximo:

And solutions in between the IoT device and Maximo such as IBM’s Bluemix which provide analysis and other functions before the data reaches Maximo:

The method used depends on factors including:

  • The number of IoT devices being used
  • Frequency of data collection
  • If all raw data is required to be recorded in Maximo, or just specific/alert data
  • Available storage and ongoing retention

In this blog, I’ll be focusing on a basic IoT Integration, pushing data on a regular interval from an IoT Device directly into Maximo.  The device I used while writing this blog was a NodeMCU based on Arduino, however the same concepts and methodology can be used with other IoT devices too.  The device I setup monitored temperature, humidity and lighting.  I also included a 16 x 2 LCD display to show the readings on the device as well as it being pushed to Maximo.
With so many tutorials, how to guides and videos, I’ll not focus on setting up the sensors on the Arduino device, however if you would like a copy of the source code I wrote when setting up this example, please feel free to request it from me via email.
Once the sensors on the device are set up and tested using the LCD display, the next step is to interface this data across to Maximo.  To do this, I would recommend using Web Services due to the basic libraries already available for IoT devices and its compatibility with the Maximo Integration Framework.  Utilising Maximo standard functionality, I would also recommend using the Web Service from the IoT device to create meter readings for meters created in Maximo.  I personally used Gauge meters while writing this blog, however the same method can be used for any meter type.
When creating the meter readings via Web Services, it is worth remembering that creating a custom Object Structure to do this may give you several errors around required fields etc. Instead, IBM has provided a useful technote on the out-of-the-box Object Structure available to do this.  Here is the link.
With the Object Structure and Web Service created, the next step is to test that the Web Service can be accessed and utilised correctly.  While this can be performed by using the IoT device itself, I would recommend using a Web Service Testing Software first.  I used SoapUI but there are other software products available to do this.
Once tested, the next step is to add the Web Service post from the IoT device to Maximo.  When doing this, remember to set a compatible content type (such as text/xml) and character set (such as UTF-8).  A compatible post method should also be set (such as HTTP/1.1).  As part of the Web Service call, the length of the Web Service also needs defining.  On a number of web examples, I’ve seen this hardcoded into the web service.  While this will technically work, it is better practice to make this a variable based on the actual length of the specific request.  While much of the structure is set, the overall can still change.  For example, the light reading going from 230 to 0 due to all the lights in the room being switched off!
While Web Services can be transferred using different structures, XML is supported by Maximo and allows you to easily transfer the structure from software like SoapUI directly to the IoT device.  This reduces the chance of issues and simplifies the transition process from testing to utilisation.
Once transferred across, the final stage is to start up the IoT device and let it interface data to Maximo.  All being well, you should see the data transferring across into Maximo and available for usage:
IoT and IBM Maximo
Once interfacing successfully, this data can be used in Maximo in a variety of different ways.  Maximo allows the data to be easily exported back out for external analysis and trending.  Below I’ve graphed the Temperature and Humidity over a week:
IoT
In future blogs, I will be covering more advanced integration between Maximo and IoT together with how this data can be used in Maximo and further analytics.  If you have any queries or if there is anything specific you would like to see in these future blogs, please feel free to get in touch and ask!

Richard Donaldson

Richard Donaldson

Before joining BPD Zenith (UK), Richard was engaged with the Nuclear and Utilities industries, where he worked on the UK's first ever large scale biomass-only power station. Richard has been the Technical Lead and Project Manager on many Maintenance and Supply Chain Business Improvement projects, as well as Asset Transitions and Maintenance Management system upgrades. Since joining BPD in 2009, Richard has predominantly focused on the Oil and Gas sector, completing projects both in the UK and World Wide. When Richard isn’t delivering successful Maximo implementations, he enjoys spending time with family and has a keen interest in the world of VR.

0 Comments

Moving to Predictive Maintenance Today – For a Better Tomorrow

Moving to Predictive Maintenance Today – For a Better Tomorrow

Maintenance Strategy - Uptime and Reliability Focused For all asset intensive companies, regardless of industry vertical, maintenance strategy is key to achieving uptime and reliability targets.  While there are a number of methods of measuring the maturity of your...

Digitalization, Remote Operations and Smarter Maintenance  

Digitalization, Remote Operations and Smarter Maintenance  

As the effects of COVID-19 continue, it is reasonable to consider that the ‘new normal’ may be with us for some time. To preserve the long-term health of your organization in these unprecedented times, the value of data to inform activities cannot be overstated.  What...

Automation Scripts – A Powerful Maximo Feature

Automation Scripts – A Powerful Maximo Feature

Automation Scripts are powerful features, used for writing, extending or altering the existing functionality to meet specific business requirements without java customization. Most popular scripting languages are Jython, Python and JavaScript. Automation Scripts were...

Driving Productivity with Automation

Driving Productivity with Automation

If there’s one metric that’s top-of-mind for field service leaders today, it’s availability. In an industry where every minute of downtime is money out the door, even a slight increase in asset uptime is significant. For many organizations, the answer lies in...

Maximo Anywhere – Making Maximo Mobile for a Digital Workforce

Maximo Anywhere – Making Maximo Mobile for a Digital Workforce

As businesses adapt to a new normal, operational efficiency is more important than ever before. Remote and mobile working is essential for success as the world tries to recover and move forward.  At BPD Zenith, we have seen a complete change in attitude regarding...

Sign up to our free newsletter to explore emerging technologies, industry events and Maximo best practice.

Come with BPD Zenith to the future of Asset Management

Listen to your assets!

Most companies are aware of waste in their preventative maintenance efforts, but aren’t quite sure how to eliminate it.