Perhaps you’re getting tired of hearing about the IoT. Many of the discussions are of a top-down nature starting with the Internet and cloud, and then down to the enterprise, system, machine and thing level. It also may include a real-time communication discussion or, if it's a big IoT party, the millions to trillions of connections story. Of course, security will be included as well with the threat of the competitors changing your set points for added drama. Many other angles, such as the cost of connecting to the IoT or how quickly it will be implemented, are also discussed.
Me, I wanted to take a step back from all the guys running to the IoT pot of money and look at the IoT from the bottom up—starting with the Things on Internet (ToI). A quick look at the many possible ToI make it clear that there is a lot of money to be made, but much has to be developed. Even though everyone wants to or thinks they can get connected, the IoT is still under heavy development.
Common and proper things
Just connecting all the different things is quite the undertaking, especially when there are so many possibilities. In fact a thing is really a person, places or things; it's a common noun such as a machine or system. But to take a closer look at things, it's actually a named, unique and addressable proper noun. With the IoT, you will be addressing and connecting to a lot of common and proper nouns.
Near the bottom edge of the IoT are the systems and machines—the common things. Fortunately, sector-specific companies are getting together to create global standards for machine-to-machine (M2M) and the IoT connections. One organization working to create IoT standards is oneM2M.
It has a big task pulling together a functional architecture, requirements, security, service layers and protocol binding. It's a massive task considering the things that make up the IoT have many platforms, protocols and networking options along with proprietary software. Things are not plug-and-play yet, and it's slowing down the IoT's growth. The oneM2M standard is a good step toward plug-and-play, but it's not close enough to the bottom edge.
Closer to the bottom of the IoT are the communication drivers/protocols, hundreds of them. Many of the drives were never designed to efficiently be a part of the IoT. However, one of the common industrial protocols that the oneM2M specification is mapping in is message queuing telemetry transport (MQTT). This protocol is the type of communication thing needed to talk efficiently.
The MQTT protocol is a simple and lightweight message protocol that uses a publish-and-subscribe communication method, perfect for low-bandwidth devices such as the many ToIs that will be connected. The ToI only subscribes to the pieces of information needed. For example, the pool chlorine pump only needs to know the chlorine ppm from the chlorine sensor. The things don't need to know or tell everything all the time.
At the bottom edge of the IoT are the proper nouns which are unique and addressable and which can subscribe to and publish information. These things can ask or answer what's the data; what's up; how are you; what have you been up to? This real IoT communication is coming, and I want it to connect to my smartphone thing.
Addressing and talking to things
The big brains are predicting everything will be a thing in the future, and that seems likely as soon as the semiconductor manufacturers miniaturize the computer down to a single, inexpensive computer-and-communication-on-a-chip. I suggest we call it a thing processor unit (TPU). Since the TPU will allow connection to the IoT for just about anything, we'll need a huge amount of addresses. Fortunately the extended addressing range of Internet Protocol Version 6 (IPv6) address can get us there.
The IPv6 address is a 128-bit string arranged in eight groups of four hexadecimal digits separated by colons—for example, 5B40:436F:6E74:726F:6C44:6573:6967:6E5D. This IPv6 address enables unique identification of more than 3x1038 things on the Internet. That's probably enough unique identifiers to last forever, or more. Let's get started.
With all of these addressable things available, the edge device will need to provide the basic information and data efficiently, in real time along with the "if you need to know” information and "a little history data" at a lower priority rate. Let's get that defined first and then move our way to the top of the IoT.
The basics of a sensor thing is status such as name, serial number, on, off, error, parts per million (ppm). Every thing must provide some or all of the basic, personal information. Can every sensor thing be defined with a couple strings, 16 bits and a floating point number? Let’s break the things down and define them in a standard, connect to my computer, smartphone or controller like my wireless mouse does and find out. I already need the information.
I want it done, so I can buy a chlorine sensor thing that I throw in my pool that can simply tell my smartphone thing the pool's chemistry wirelessly. Then I'll worry about saving the data in the cloud and analyzing it. It's the things and the connection that makes the IoT.
We're getting there, but slowly.
Homepage image courtesy of fotographic1980 at FreeDigitalPhotos.net