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