My name is Lwin Maung. I am the Principal Architect at Concurrency, and a Microsoft MVP in the Platform Development Area. Today, I am writing about IoT. Ok.. Let's look at the last two statements. What does that mean to you? Probably not much. How about this then? I am a geek. I have been taking electronics apart and tinkering and hacking them for a decade or more and I know tips and tricks on how to get information from almost any device (or things) into the cloud. Now, we are going to start cooking with gas! Below is the version of IoT from the eyes of a computer/electrical/mechatronic engineer.
What is IoT anyways?
Before we deep dive into IoT (next few blogs), let's go over what IoT is in general. Back in the 70s, 80s, and 90s, we have this backbone of computers that makes up into what is now known as the world wide web and the Internet. We had servers that typically holds information. We used terminals, computers, and devices attached to the "internet" to retrieve information from these so called servers. We enriched minds with these data and facts from the servers. We also discovered that we can store large amounts of table or data related information on these servers as well and information stored on the internet become more useful for our day to day lives. Weather comes to top of my mind at the moment. Prior to the internet, we used to store weather information on pages of written notes. If I want to look at trends on weather, I would have to dig open an old almanac and look for patterns thru tables of information.
Enter the 90s, the golden age of data entry; We discovered that we can use tools such as Excel (Lotus 123, Corel Quttro) to form charts to give us possible trends on data. Since knowledge is power, we started to gather all sorts of data and capture them into databases (manually)
Enter the typical developer into the equation. Most software were written so that people do not have to manually have to repeat certain steps over and over again in a daily tasks. Developers and electrical engineers found ways to input data into computers without human interaction somewhere in the process of writing software. Enter the age of things. Going back to the weather example, rather than a person (let's call him Bob) entering information on daily weather, we can use a series of sensors to measure tempreature, pressure, humidity and more by using a computer with ports setup to capture such information from the natural environment. This computer (aka Thing) is first step and fore-father to the Internet of Things that we know of today.
But why not Bob? Well, Bob is only human. Humans by nature are prone to create errors due to fatigue. Humans needs break. A computer can capture and enter all weather information every minute for years without fail. Bob needs to eat, sleep, and needs a break. So the data entry task (aka blue collar job in the IT) is now given to the accurate, non tiring, non complaining computer. Data entry into the single desktop or devices does not make things IoT.
Internet of Things becomes IoT when that single device transmit capured information into the databases residing on the servers so that we can begin to use the data to understand the past and predict the future. The concept of IoT become a better completed picture when information from multiple devices are captured and normalized and overlapped to extend the information to other devices and technologies.
So the concept seems simple, take data, put it on the cloud right? Yes, and a huge resounding NO. Having current and historic data is great. Concurrency has used historic data from one of our clients and created a prediction model for their supplychain that saves our client upwards of 3M a month. But if the data is full of junk information, it makes the task of figuring the data out much harder. Let's answer the four Ws. Who, What, Where, and Why.
There is at lease a matric ton of reasons why you might want to IoT a device or a solution. The biggest reasons you might want to IoT is:
- Data accuracy - Machines are better at data entry if programmed correctly
- Data Frequency - You can literally send and stream data into the clould without interruption, giving you data sets to analyze for current, or future use.
- Data prediction and trends
What do I IoT?
Typical IoT solution will have a device or a system that will transmit a predefined set of data so that a user or machine can analyze. The data can be isomorphic or real. Sometimes, you may not even have ability to control the data limits (see weather). But most of Concurrency's IoT solutions for our clients involves data that is streaming from a device or series of devices into cloud where we can predict future or send out notifications for various awareness of users. Sometimes, you may not even need to have a device to IoT a solution. I live in Chicago where it snows and ices 3 months out of a year. I wrote a simple if-this-then-that code that alert me of black ice conditions on roads using tempreature, wind chill, percipition information from a weather service. Look Ma! No device!
Who can IoT?
In theory, anyone can IoT, or create an IoT solution. Personally, I am involved from data capture all the way to usage, prediction and beyond. However, everyone's defination of IoT is different on their needs. If you ask Microsoft, Amazon, and Google, they would say IoT is what ever solution that uses stream of data entering their IoT solution stack. In terms of Microsoft, that particular stack can be a number Azure bases solutions from IoT Hub, IoT Central, and more. We can talk in details about Hows in the next series of blogs. For most of the (industrial) clients, IoT starts from a device they are using now, that transmits data into an Azure based solution such as IoT Hub, to be analyzed by using tools such as Power BI or Azure Cognitive Services for AI or ML tasks. The short answer is that you will most likely need a few indiviuals:
- Software Developer
- Hardware vendor and/or developer
- Data Scientists (I am partial but at concurrency, only Phds holds the Data Scientist title).
The other Ws (Where, when)
Where and when you IoT your solution is entirely up to your needs. In the past, I have seen clients IoT solutions in a number of areas. Althought typical requests to IoT solutions generally comes out from industrial and healthcare sectors, I have personally created solutions for hospitality, media, and custom toys. So your milage may vary depending on your needs.
Now the white elephant in the room. How?
How to IoT a device or solution can vary on your requirements and needs. Sometimes, a full blown IoT solution may not even be what you might need. The best advice I can give is to follow the K.I.S.S method. Keep It Super Simple. IoT solutions can become complicated very quickly. It is best to keep as simple as possible when first designing a solution and add on features. Remember, Rome was not build overnight.
Principal Architect, Concurrency
Microsoft MVP - Platform Development