Buch, Englisch, 172 Seiten, Paperback, Format (B × H): 148 mm x 210 mm, Gewicht: 231 g
Buch, Englisch, 172 Seiten, Paperback, Format (B × H): 148 mm x 210 mm, Gewicht: 231 g
ISBN: 978-3-95404-273-9
Verlag: Cuvillier
In this work, we present techniques to address the aforementioned problems. We introduce modern programming paradigms known from desktop computers and transfer these ideas to embedded systems. Furthermore, we built a testing platform consisting of heterogeneous wireless nodes and sensors. Finally, we present novel communication channels that are able to connect nodes that cannot communicate physically, or even real nodes with simulated ones. Hence, this work consists of three parts:
While the dominant programming language on embedded systems is still C, we show that more efficient and comfortable results can be achieved by utilizing modern programming paradigms using C++. We therefore transfer the established template-based design of well-known libraries such as the Standard Template Library (STL) or Boost to embedded systems. After thoroughly studying the design of a software architecture based on C++, we present a successful implementation of our ideas: The Wiselib, a generic algorithms library for distributed heterogeneous embedded systems.
To run algorithms in an appropriate test scenario, we built a heterogeneous testbed, consisting of different types of nodes and sensors. To this end, we installed self-designed low-cost load sensors based on strain gauges beneath the floor of a hallway in our institute, capable of identifying passers-by. The load sensors are wired to sensor nodes, which in turn allows for the design of sophisticated algorithms doing in-network data processing. The nodes are additionally connected to passive infrared sensors (PIRs) and actuator units---light-emitting diodes (LEDs) and speakers---for interaction with passers-by. The hallway serves as a platform for various application areas. Examples are target tracking, medical testing, and interactive games.
Finally, we present virtualized communication links. This technique allows to connect nodes with incompatible radio transceivers or at distant locations. Furthermore, it can be used to let real nodes communicate with virtual nodes in a simulator, which allows for novel debugging mechanisms for distributed embedded systems such as the instantiation of unit tests.