The IoT seems to be next upcoming big brand. As in a case of “Cloud Computing”-Brand, while chatting with friends most people might say “Cloud Computing is nothing new”. In some point this is correct.
But landing on Mars planet is also nothing new. The only problem with landing on mars is that we never really landed there;yet. Do not want to comment this in relation to cloud computing.
Before one smart guy make next statement “The IoT is nothing new”, here is my cent about it. In this post my long term friend Rick G. has described many important fragments of the growing story.
This story has originally been started by Clemens in a number of articles.
I learned that hardware guys who are natively in deep touch with IoT devices do not really follow or accept the evolution of the high level software and modern architectures.
But, also the software guys do not really have a enough feeling about devices. Both groups of people think they would have a good understanding of both worlds. Unfortunately, we don’t.
I was living in both worlds for a long time. First I was a hardware guy and now I’m a software guy. You need to be deeply in one world to be able to understand its philosophy.
As a software guy I will reject any vision, platform and product which does not align to the software standard required by demand of Community. I think, the reason why IoT is for a long time on the field, but it was never
deployed and leveraged massively is that all(most) product and platform vendors was trying to push their own way.
You might share this opinion or not, but I’m sure in one thing.The way how we build software for devices will be dramatically changed soon. The voice of developer community is now stronger.
IoT is no more about hardware and “embedded” only.
Anyhow, in this post I wanted to put in one picture all requirements which I personally see as important to be able ride IoT for real. Today IoT is already here, we can do more or less everything.
Unfortunately most people don’t do it, because it is not standardized, it is to expensive and, and, and…
How many of geeks can control some (all) devices at home by using a single API (see requirements below)? Zero?
To all platform vendors, who ever think it would already have a round IoT story, please take a look on the picture below.
As a developer, I want following:
- To be able to talk to any device by using language and platform of my choise. (C#, Javascript, Java,..)
- To be able to use many protocols (AMQP. HTTP/S. MQTT,..). I think we have enough protocols. We just need to support them from a single API.
- To be secured
- To be able to address device. Direct, p2P, Hybrid (please don’t force me to use VPN and expect from me to change my infrastructure, which I possible even do not have).
- To be able to exchange messages (broker)
- To be able to exchange real-time streams of data (via broker and/or P2P)
Following picture recaps this requirements:
Here is very simplified what I need in all languages and all platforms:
IoTApi api = new IotApi(config{ Protocol=xy, Addressing=.., Security=…, Connection=brokeredOrP2pOrHybrid} );
api.Send(new Message());
var msg = api.Receive();
Stream localStream = AnySensor.GetDataStream();
api.Write(localStream, outgoingRemoteStream, (var incommingRemoteStream)=>{
// Here we read data from
});
After you have read all of this, please let me know which platform does support all of this? But soon…
And don’t forget “IoT is not a new thing” :); really?
Posted
May 15 2014, 11:30 PM
by
Damir Dobric