Wireless Sensor Networks
My interest in smart homes led me to the field of wireless sensor nodes. However, my interest are less of scientific nature than about how to implement them. Thus, the following examples are no real scientific results but rather just implementations.
The panic room is an interactive game that consists of projected walls and physical objects equipped with wireless sensor nodes. The player has to perform tasks with these objects that are either projected on one of the walls or directly given by the objects themselves. These tasks can be e.g. "open the blue valve", "authentication via RFID-card and code", or "press the button". This is embedded in a virtual submarine that is animated on the walls. The submarine is filling with water for failed tasks.
The objects are constantly under physical load and thus might get damaged. Also, the batteries can be empty. This requires a protocol for the wireless sensor node that allows to dynamically remove and introduce sensor nodes. The removal has to be detected by the server itself as a damaged node might not be able to tell its failure anymore. The sensor nodes have been implemented with arduino+XBee.
The following paper has been written about it but it focuses on other aspects of the implementation. Also it has at least one wrong statement about the WSN in it.: Panic Room: Experiencing Overload and Having Fun in the Process - B. Bankowski, T. Clausen, D. Ehmen, M. Ernestus, H. Hasemann, T. Jura, A. Kröller, D. Krupke, M. Nikander - DAPI2014
Maximum Leaf Spanning Tree
In some scenarios you have a sensor network where some nodes need multiple hops to communicate to the root/server. Communication only goes from the nodes to the server but there are no directed messages from the server to a node. As some nodes have to act as relays, the nodes have to listen all the time but listening uses a lot of energy. It would be desirable to estimate the minimal set of nodes that have to listen and keep all other nodes offline as long as they do not want to send anything. This equals the NP-hard Maximum Leaf Spanning Tree Problem. A variant of this problem is the consideration of costs to keep a node online. For example a node with low energy has high costs to stay online while a node with high energy (or even a constant energy source) has low costs.
In this graph only the red nodes have to stay only to guarantee connectivity.
On the Github page: MLST-INGA I have implemented the MLST algorithm of Habibi and McLurkin for the INGA-nodes with Contiki-OS. I also implemented three simple heuristics for individual online-costs. The implementations use my public variables neighborhood implementation.