This is the source code of used for the EWSN dependability competition 2017 [1]. This solution was rated first amongst 10 submissions.
A binary event has to be communicated from a source node to a sink node. This communication has to involve intermediate nodces, since source and sink are not within communication range of each other. At the same time, jammers create interference in the same communication frequency. The solution should be energy efficient, reliable and provide low latency. A more detailed description can be found on the competition webpage [1].
This protocol uses periodic rounds of floods to propagate information in a multi-hop network. Every flood consists of consecutive (back-to-back), synchronous transmissions. Once a packet is received, nodes use a local timeout to schedule a transmission in the next slot. In the case of a blocked channel, information is not propagated. However, in the following slot, the flood can continue at the same progress level. This is different to the approach of Glossy [2], which requires for every sent packet a preceeding packet reception in order to maintain tighly aligned, synchronous transmissions. More information about the protocol can be found in the slides in doc/slides or in [3].
Following key parameters can be set in the Makefile for the depcomp app:
GLOSSY_PERIOD_MS Interval of floods in milli seconds. Tested values: 25, 50, 100, 200
N_TX Number of transmissions per node in a flood.
N_CH Number of different channels to use.
SLEEP_BTW_EVENTS Set to 1 to enable the round skipping feature. If enabled, rounds following an event are skipped in order to save energy. This is only save, if the minimal interval between events is known (e.g., 2 s in the competition).
To run this code on FlockLab [4], set the DEFINES in the Makefile as follows:
DEFINES=COMPETITION_MODE=0,TINYOS_NODE_ID=1,GLOSSY_PERIOD_MS=50,N_TX=6,N_CH=6,SLEEP_BTW_EVENTS=1,USE_LIGHT_SENSOR=0
This allows to generate events on the initiator node using the GPIO actuation feature of FlockLab, by toggling the SIG1 pin.
Roman Lim [email protected] Reto Da Forno [email protected] Felix Sutton [email protected] Lothar Thiele [email protected]
- [1] EWSN 2017 dependability competition http://www.ewsn2017.org/dependability-competition.html
- [2] F. Ferrari, M. Zimmerling, L. Thiele, and O. Saukh. Efficient network flooding and time synchronization with Glossy. In Proceedings of the 10th ACM/IEEE International Conference on Information Processing in Sensor Networks (IPSN), 2011
- [3] R. Lim, R. Da Forno, F. Sutton, and L. Thiele. Robust Flooding using Back-to-Back Synchronous Transmissions with Channel-Hopping, Proceedings of the 14th International Conference on Embedded Wireless Systems and Networks (EWSN 2017), Uppsala, Sweden, 2017
- [4] http://flocklab.ethz.ch/