In this blog, I am going to be talking through an introduction to the ‘Internet of Things’ or IoT as it is commonly referred to. The mains things covered will be sensors, gateways, message brokers and what you can do with all this data moving forward.
This will be the first in a series of blogs around IoT and Maximo projects so you can understand what the possibilities are.
IoT has taken off heavily over the last few years and one of the main reasons for this is that the price of sensors has significantly decreased. You can now get some sensor starter kits to monitor things like CO2, temperature and humidity for less than £100. This means you are able to do small projects and proof of concepts in a space without too much upfront investment.
When we look at an IoT project, sensors aren’t the only thing we need, we also have to think about gateways. Gateways have become affordable as new network technologies appear and wireless 3G/4G becomes more readily available.
Sensors and gateways work together in these projects. You will place your sensors around a space and each sensor will send its data back to the gateway. The amount of times it sends data a day can be adjusted. This can have huge effects on the battery life of sensors if you decrease the transfer rate.
If we continue with the above example talking about CO2, temperature and humidity sensors and looking at using them for office monitoring, a small set up (10meter, 2 floor office) would include around 10 sensors to one gateway.
The next step on any IoT project is getting the data from your gateway in your office to somewhere you can see and use it. So, how is data moved around? This all comes down to message brokers. For example, IBM’s IoT platform or connection service. Message brokers work on a process of publish and subscribe. When you set up your IoT project, the data from your sensors has to get into your platform. We can use MQTT (or message queue telemetry transport) to get data into a platform. MQTT is a publish and subscribe, extremely simple and lightweight messaging protocol, designed for low-bandwidth, high-latency or unreliable networks. You publish your data with a topic out to the cloud and on the IoT platform side you will subscribe to this same topic.
~An example of a message broker~
So now we have the basic template of how we get the data to the platform, the next question is what we can do with our data? One of the things we can do is send this data onto either a database or some form of management software where we can start to perform analytics and start to really understand what we are getting from our data.
If you are looking for something simple like dashboards, you can use a product called Node-RED. Here you can bring your data in directly from something like the connection service and start working with your data. You can further define what you have subscribed, create alerts when conditions are met and create simple graphs with an add on.
One of the ways you can send your data from the message broker to your management software is via Node-RED. It is built using JSON and simple to use with coded tabs called nodes. There are also some prebuilt nodes to help you along. For instance, if you are using Node-RED through IBM Cloud there are nodes that connect directly to the data from your IoT platform to get the data directly into Node-RED.
Now you have the data inside Node-RED, there are a few things you could do. You could further define what you have subscribed, create alerts when conditions are met or add some nodes that allow for graphing to be done directly on Node-RED.
Alternatively, you can use Node-RED to send your data up to your asset management software such as IBM Maximo. One of the ways this can be done is through a HTTP node. Simply add the URL and create a REST call with your data to the desired location. You can add in other nodes that can limit the messages going out of Node-RED, so your system doesn’t become overwhelmed. The messages you are sending through this REST call could be work orders, service requests or just adding in asset data like meter readings.