Hello, Am 12.01.2015 21:10, schrieb Jan Wagner:
In general - I am also not deeply interrested in using the common BLE standad. My idea is to "research" if it would be possible to create mesh like networks between sensons/boards staying at around 2.4ghz. So BLE, ANT. WLAN etc. and yes
It looks like we are working on similar things. At the Moment i wait what the new network API brings and finishing integration for features like nRF51 radio support and clock synchronization. Until this i implement things a plan to use. You wrote that BLE is not designed for grid or mesh networks and that you wanna look at ANT. To do a closer look, you need to register as developer at ANT+ website.
I have read a lot of ANT+ documentation. With ANT its possible to build an mesh, but i have in mind there is no routing implemented. The biggest disadvantage is this network is not encrypted. It's not possible to communicate with more then one device encrypted at the same time. I think ANT+ is like Nordic SDK to closed for an open source solution. I have discarded my idea using ANT.
My actual plan is implementing an MAC layer which is optimized for BLE devices using BLE modulation. So it can be used with nRF51 series and other platforms. But i don't know if this necessary or if RIOT provides an similar functionality.
My idea is a network with two node types. An node which can be only talk with an node with routing functionality, called child node. And a routing node which do the routing and timing jobs, called parent node.
My plan is to encrypt everything which is send. This is the reason i provided micro-ecc https://github.com/RIOT-OS/RIOT/pull/2236 so its possible that a node can be joined into an network without preconfiguring an shared key. To avoid man in the middle attacks there is the need to check if the public key signature is correct.
I think its an good idea to work with time slots, beacons and frequency hopping to get an stable network. This needs to synchronize time and the state of an pseudo random number generator for frequency hopping.
To safe energy a node can sleep a long time and must not receive every beacon. To avoid loss of packages every beacon includes information for which nodes packages are waiting. The effect of this would be that the first ping to an node can be take a little bit longer.
To reduce the activity of routing nodes not every beacon must be send if there are no outstanding packages. To do this i plan to implement an virtual beacon in client code which is synchronized from time to time with parent. I think this saves energy and reduces effects, when an radio channel is occupied by another application.
To make it possible to build an network the time frame is dived into two to for frames. The first frame is to communicate with child nodes an the other frame(s) are to communicate with an parent node.
One questions is if its needed to implement routing or if there is something which is already implemented. If not i have ideas how to implement routing on top of this layer.
Regards, Frank _______________________________________________ devel mailing list [email protected] http://lists.riot-os.org/mailman/listinfo/devel
