2015-09-28

What is the "Internet of Things"?

What is the "Internet of Things"?

In case you don't have much time: right now just a marketing slogan, not much more. Want the longer version? Here we go:

I do not write much about it usually, but I am involved with electronic product development/design, recently especially "smart lighting", and have to deal with the different ways devices communicate with each other, also known as "(home) automation protocols".

You see, if you want to communicate with a device, you need to send it certain bit/byte sequences. There are lots of protocols and interfaces, all more or less thoughtfully designed for their purpose. If you only want to control lights for example, there are DMX-512, DALI, Zigbee Light Link.

If you want to know how to switch on a light with any of these protocols, you can look up exactly what you need to do. You may need to pay for the DALI specifications, but the information is there. And every light that conforms to one of these standards will respond in an identical way to the appropriate sequence.

Now if you are an IoT advocate, please tell me this: Supposed I have a light that is "connected to the Internet of Things", what byte sequence do I have to send to turn it on? I would expect three kinds of answers: 1) That depends. 2) You don't send bytes, you use a web page/mobile app. 3) I don't know.

The third is the most honest, but also the first is true. It depends, because there is no standard. You see, the reason the internet came to life, common standards, is totally ignored here. Important is only that there is a mobile app or a web page to view or click on.

If this had been the case in the relatively early days of the internet, then IBM computers would only have been able to talk to IBM servers. The same for Dell, Compaq etc. Microsoft has actually attempted something similar in 1995, when they tried to beat the internet with their "MSN - Microsoft Network". Is anyone using that network instead of the internet now? No? See?

Besides, please ask yourself if you really want all your devices to be on the internet. Wouldn't that be fun when everyone can try to raise the temperature in your refrigerator? Lovely!

And let us get technical one more time, at least a little. Why are there so many control protocols? (Yes, there are quite a few.) Simple, because they all were designed for a certain purpose or a certain range of applications. There is no universal fit-it-all. TCP/IP has been designed for computer communication, not to control devices. It would anyway require another layer on top of TCP/IP to do that. Yes, I can do it, but I can also drive a tank to the supermarket to buy milk. One reason TCP/IP is not used widely in device control is that it has a relatively large management overhead. When other protocols just send a few bytes with sender address, device address, device action, TCP/IP needs to send huge frames. (I think the venerable X10 only needed three bytes.) Did you ever notice that WLAN usually drains your phone more than Bluetooth? That's not just higher transmission power, but also processing the whole management traffic. Microcontrollers get pretty warm if they have to deal with all the TCP/IP traffic themselves.

So let us assume you have a light with a WLAN interface. And of course you can control it with your phone. You have one light, yes? Very well, but this is not supposed to be some hobbyist game, right? Let us scale to commercial dimensions: You need to control 62 lights in an office area. First problem: How do you assign addresses to them? DHCP, letting them pick an address by themselves? Or do you try every single MAC address? You are lucky, 62 devices fit into a class C subnet, even though you better separate this from the regular WLAN. Next, can you really properly control all those lights with your phone? Do you really want to? I don't. And third: What happens if those 62 lights come from three different manufacturers?

I love science fiction, I love a lot of things that are possible in all kinds of futures, but at its current state, the so-called "Internet of Things" is not taking us there. Those devices are not very common now, so they are still fancy, they are toys, people love to spend time playing with the respective app. But when those devices become more common and people finally notice they need a mobile app for the lights in the living room and another for the lights in the study, not to mention the app for the fridge, the one for the toaster etc, only hardcore masochists will carry on. If no standard can be found, then these things will become an annoyance, not a help.

It is btw. possible to control a number of different devices by phone or through a remote computer. Many traditional standards operate with a master control or allow several controllers, so there may be a mobile application which controls that master, but all setups etc are still done the traditional way. This is not ideal either, as the communication between a phone and such a master is most likely still proprietary, but at least I can control all devices in a network from one place, not with a dozen different programs. Interestingly, most of the manufacturers who have been offering this for a few years are not especially advertising that they support the "IoT"...

No comments: