Iotivity, AllJoyn, Thread, Ipso Alliance

Hi Rioters,

This question is not particularly about Riot but it makes sense to ask you since future Riot device might use one of this high level protocol (Iotivity, AllJoyn, Thread, Ipso Alliance). What do you think about them? In your opinion, which one will be mostly used? Is there any future developments planned on RIOT?

Cheers,

Hi Baptiste!

This question is not particularly about Riot but it makes sense to ask you since future Riot device might use one of this high level protocol (Iotivity, AllJoyn, Thread, Ipso Alliance). What do you think about them? In your opinion, which one will be mostly used?

To be honest, to me most of these alliance and consortia have the disadvantage of being very blurry and vague about the concrete techniques and protocols. I haven't heard of Iotivity before and looking at their web page, it seems that they're mostly targeting bigger devices than we do usually in the RIOT ecosystem. Same goes for AllJoyn as far as I can see. Real constrained IoT devices are expected to connect to something more powerful to integrate them into the Internet. That seems to be exactly this type of silo solution most RIOT developers don't believe to be helpful on the long run.

For Thread, it's really hard to tell at the moment, since there's no specification and everything's happening behind closed doors, which are to expensive to open - except you're a global player with some money. From the technologies and protocol suites they mention and from the people that I know who are involved there, it sounds rather reasonable and I hope that they will come up with something more useful than ZigBee, but I still don't understand the need for yet another protocol stack.

To me IPSO alliance seems to be the most natural choice, since they are not proposing their own (silo) solution, but build on existing standards, mostly from IETF.

Is there any future developments planned on RIOT?

Well, first of all, I have to say that most of the original RIOT core team are either network or system guys. Means, real applications and working on high level protocols, was out of scope in the beginning. Fortunately, over time and as the RIOT community grew this changed and people started to work on several upper layer solutions. However, I think it's not yet clear if there will be the one go-to solution or - what sounds more probable to me - several high layer protocols tailored for different use cases. Hence, I think (and hope) we will have several solutions in RIOT over the next years.

Personally, I'm a strong believer in open standards and therefore I prefer IETF protocols wherever possible.

Cheers, Oleg

Thank you Oleg for this complete response! I agree with you about IETF protocols, everybody should use them and it will make communication easier. Concerning IoTBase, I would add that they’re thinking about a stack for constrained devices [1] so it might be easier to implement on RIOT. As you said, Riot nodes will be connected to something more powerful but this kind of protocol avoids to create new proprietary protocols. Let’s wait a bit more for Thread, they should come up with something useful and not too expensive hopefully.

I found this link on stackoverflow where they compare AllJoyn and IoTivity.[2]

Cheers,

[1] https://www.iotivity.org/documentation/linux/programmers-guide [2] http://stackoverflow.com/questions/27947856/iotivity-vs-alljoyn-what-is-the-difference

Hello Baptiste!

Hi!

I just realized that I'll probably learn something about IoTivity and AllJoyn today at the T2TRG meeting: https://github.com/t2trg/2015-ietf92/blob/master/agenda.md

I guess there won't be now audio stream, but at least the slides should be online later this day.

Concerning IoTBase, I would add that they're thinking about a stack for constrained devices [1] so it might be easier to implement on RIOT.

Looks indeed interesting at a first glance. We should have an eye on this and see if someone's willing to give it a try with RIOT.

As you said, Riot nodes will be connected to something more powerful but this kind of protocol avoids to create new proprietary protocols.

Just for clarification: I (and I guess I'm speaking for most of us) want a (R)IOT device being able to be connected _directly_ to anything. Be it another RIOT powered device, a Contiki device, my home gateway, my smartphone, or any server in the Internet. Protocols for the IoT should not rely on the fact that there is something more powerful that translates their messages to the rest of the world.

I found this link on stackoverflow where they compare AllJoyn and IoTivity.[2]

Thanks for the pointer.

Cheers, Oleg

Oleg Hahm wrote:

I (and I guess I'm speaking for most of us) want a (R)IOT device being able to be connected _directly_ to anything. Be it another RIOT powered device, a Contiki device, my home gateway, my smartphone, or any server in the Internet.

That's why it's called "Thing-to-thing research group"!

Protocols for the IoT should not rely on the fact that there is something more powerful that translates their messages to the rest of the world.

There is nothing wrong with factoring in something more powerful for setup, human interface etc. But for doing their job, where thing-to-thing communication is the appropriate mode for that job, we should be able to do it. It's the Internet way...

I'm also looking forward to the IoTivity and AllSeen talks today. Too bad we couldn't find someone from Thread to talk.

Grüße, Carsten

Hi!

At least for IoTivity it should be fairly simple to port it to RIOT according to the response I got on their mailing list: http://lists.iotivity.org/pipermail/iotivity-dev/2015-March/000600.html

The only problem I see is the incompatible license of their implementation.

(Btw. the Contiki port seems to be more or less vaporware according to http://lists.iotivity.org/pipermail/iotivity-dev/2015-March/000606.html).

Cheers, Oleg