One IoT protocol to rule them all – MQTT?

Here is a really interesting thought piece on what language or protocol the IoT will need / should have.

http://blog.atmel.com/2014/11/18/mqtt-not-iot-god-protocol-but-getting-closer/

One protocol, and its descendants, drove the success of the World Wide Web. IP, or Internet Protocol, is the basis of every browser connection and the backbone of IT data centers. Some assumed that the Internet of Things would follow suit, with the thought that having an IP address would be a sufficient condition to connect.

The problem on the IoT isn’t IP – the problem is all the stuff layered on top of it. The average PC, smartphone, or tablet has enough horsepower today to do that, but the average sensor running on a smaller microcontroller does not. (ARM Cortex-M7 notwithstanding.)

Searching for an IoT “god protocol”, one unifying end-to-end protocol serving all things, is silly. At one end, sensors have different requirements such as range, RF spectrum, security, topology, and power consumption.

The idea of a single end to end protocol for all the bits and pieces that make up an IoT data chain is compelling.
As the author points out, its hard to do. Sensors have different needs from a data center. Even different sensors themselves will have different needs.
For example, a temperature sensor that is reporting a room temperature will only need to report every, say, 5 minutes, but something like a process temperature that has a tight control loop will need perhaps every 5 millisecond.
Then add in a sensor that reports both temperature and humidity (like my cigar humidor) and now you have two readings, its double the data length. How does the other end extract both bits of information, does the other end need both bits?
How does AI use the data? Is a small compact message, can we help the AI by putting some context around the data? If we do, how do we wrap the data such that other ‘things’ that need the data also find the wrapper helpful and not just annoying?

I have an MQTT server running at my house (on Gary’s Linux PC). I have an MQTT client running on my Android phone. I have been playing with it a little just to get some experience with it, to see how I can mash it up with some other stuff I mess with.
I like it. Its light weight, fast (lightning fast, its one of the fastest protocols I have ever used) and pretty painless to mess about with.
I dearly want to find some time to write a ‘connector’ for MQTT in an Opto controller. To get MQTT data in and out of an Opto controller, for me, would be gold. For example, my phone could push data then directly to my home automation system.

Anyway, if nothing else, its a really worthy article thats pretty quick to read that nicely points out some of the challenges that IoT has to overcome in its toddler years…. But if you are into IoT or this sort of thing, you should dig deep and get your hands dirty (BTW, there is a nice light weight MQTT server that can run on a Raspberry Pi – just a thought).