Hello everyone,

we are developing an IOT application and we got impressed with RIOT. It sports some really nice features and it looks like there is a great community over here. On the paper RIOT seems to be perfect for our application, but we need to go deeper before we start investing our resources into this project. We have some questions that are not easy to answer just by looking at the documentation, so your experience is much appreciated.

Let me first introduce our platform.
As in many WSN we have multiple wireless nodes and one (or more) router / coordinator / gateway.

++ Nodes ++
Nodes are based on Atmel SAM R21 that, as you know, is basically an Atmel SAM D21 plus an Atmel RF233 in the same package. We already designed the modules and they work well with Atmel code examples.
We want to use the following stack:
RF233 <-> 6LowPAN <-> TCP <-> MQTT client <-> Application

++ Router / coordinator / gateway ++
Another device acts as PAN coordinator and as router/gateway to the local LAN. This device is based on a Olimex A13-SOM-512 (https://www.olimex.com/Products/SOM/A13/A13-SOM-512/) running Linux with a wired Ethernet interface and the same SAM R21 radio module (with a different firmware). The two boards are connected trough a serial connection (USART).
Here the communication stack is a little more complex:

[Olimex A13] Application <-> MQTT broker <-> (???) <-> Kernel Serial driver <-> USART
  |
[serial from A13 to SAMR21]
  |
[SAMR21] USART <-> (???) <-> 6LowPAN <-> RF233

As you can see, we are not sure about the stack composition, see "(???)". We would like to integrate the coordinator and routing functions in the A13 side (since we have more resources there) and basically just use the SAMR21 as a transceiver.

----
I hope I gave enough details to understand the platform. If not, I will be happy to answer your questions.
Now, our questions:

1) Architecture: is RIOT viable for this architecture?

2) Gateway: which stack layers do you advise to include for the "(???)" parts? Is it a good idea to include the coordinator on the A13 side? Or is better to put it into the SAMR21 side?

3) Robustness: please be honest, is RIOT robust and mature enough for a large scale use? Do you know of commercial products that integrates it?

4) License: RIOT is published with a LGPLv2 license and if we understand well, we can then use it in our product without any limitation. Is this right?

5) TCP: we have seen that some TCP support has been temporarily removed and being refactored. What is the plan for reintroducing it? (MQTT is based on TCP)

6) MQTT: is there any plan to develop a MQTT client for RIOT? Is anybody already developing it?

7) Mesh: what is the status of meshing networks? Is it working well / stable?

8) Security: which level of security RIOT provides? For a commercial use, it is important that security (authentication, authorization, encryption) is well implemented. Is this the case?

---

We hope that you can shed some light on our doubts. In that case we will be happy to join your community and adopt RIOT as our base. We are ready to contribute to the project, in particular by working on the TCP, MQTT and OTA update, or where needed. We could also provide some HW if anybody is interested.

Kind regards,

--
*Patrick Rota*

        

_______________________________________________
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel

Reply via email to