a flexible software framework for testbeds
play

A Flexible Software Framework for Testbeds In Real-World Experiments - PowerPoint PPT Presentation

Institute of Operating Systems and Computer Networks A Flexible Software Framework for Testbeds In Real-World Experiments and Temperature-Controlled Environments Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf, 2018-11-02 Introduction


  1. Institute of Operating Systems and Computer Networks A Flexible Software Framework for Testbeds In Real-World Experiments and Temperature-Controlled Environments Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf, 2018-11-02

  2. Introduction Requirements Architecture GUI Conclusion Motivation Gap between simulations and real-world deployments Testbeds can help filling the gap, but... require significant amount of time – setup – maintenance often tailored to a specific use case can fail! 1 Ultimate goal: Provide repeatability under realistic conditions 1 FAILSAFE’17: On the Experiences with Testbeds and Applications in Precision Farming Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 2

  3. Introduction Requirements Architecture GUI Conclusion PotatoNet: Goals Sensor network to measure dry stress of potato plants soil temperature, air temperature, ... ... but also use as testbed for other WSN applications Remotely accessible Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 3

  4. Introduction Requirements Architecture GUI Conclusion PotatoNet: Architecture Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 4

  5. Introduction Requirements Architecture GUI Conclusion PotatoNet: Architecture Challenges: Failing nodes, environment, farming activities Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 4

  6. Introduction Requirements Architecture GUI Conclusion Temperature testbed Polystyrene box Peltier elements for temperature control − 15 ◦ C to 80 ◦ C @ 0 . 12 ◦ C accuracy Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 5

  7. Introduction Requirements Architecture GUI Conclusion Temperature testbed Polystyrene box Peltier elements for temperature control − 15 ◦ C to 80 ◦ C @ 0 . 12 ◦ C accuracy Use cases: Effects of temperature on hardware Energy harvesting experiments Temperature effects on batteries and super capacitors Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 5

  8. Introduction Requirements Architecture GUI Conclusion Requirements PotatoNet Read sensor node’s data Re-program nodes Handle connection errors Temperature-controlled chamber Quick setup Long-term experiments Flexibility Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 6

  9. Introduction Requirements Architecture GUI Conclusion High Level Architecture Unit 1 Unit 2 Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 7

  10. Introduction Requirements Architecture GUI Conclusion High Level Architecture Unit 1 Unit 2 e.g. chamber, energy platform, sensor node Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 7

  11. Introduction Requirements Architecture GUI Conclusion High Level Architecture F1 F2 F1 F3 Unit 1 Unit 2 Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 7

  12. Introduction Requirements Architecture GUI Conclusion High Level Architecture Communication? F1 F2 F1 F3 Unit 1 Unit 2 Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 7

  13. Introduction Requirements Architecture GUI Conclusion High Level Architecture MQTT F1 F2 F1 F3 Unit 1 Unit 2 MQTT Software Written in python QoS Small modules (F1,F2,F3) Message buffering Serial Temperature Chamber Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 7

  14. Introduction Requirements Architecture GUI Conclusion Software Architecture Module Loader Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 8

  15. Introduction Requirements Architecture GUI Conclusion Software Architecture Module M 2 Module M 1 Module M 3 Module Loader Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 8

  16. Introduction Requirements Architecture GUI Conclusion Software Architecture MQTT Client Thread Module Module M 2 Module M 1 Module M 3 Module Loader Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 8

  17. Introduction Requirements Architecture GUI Conclusion Communication Topics for communication, e.g. module/host/state module/host/config module/host/temp/[target|current] module/host/<id>/tx Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 9

  18. Introduction Requirements Architecture GUI Conclusion Communication Topics for communication, e.g. module/host/state module/host/config module/host/temp/[target|current] module/host/<id>/tx Problem: Communication Idea: Use chamber without network Inter-module communication based on MQTT Hence we use multiple brokers in our architecture Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 9

  19. Introduction Requirements Architecture GUI Conclusion Communication (2) t 1 LB t 1 M2 M1 Unit 1 Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 10

  20. Introduction Requirements Architecture GUI Conclusion Communication (2) t 1 LB LB t 2 t 1 t 2 M2 M1 M3 M1 Unit 1 Unit 2 Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 10

  21. Introduction Requirements Architecture GUI Conclusion Communication (2) t 3 t 3 t 1 LB RB LB t 2 , t 3 t 1 , t 3 t 2 M2 M1 M3 M1 Unit 1 Unit 2 Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 10

  22. Introduction Requirements Architecture GUI Conclusion GUI: Motivation Configuration How to configure modules and their interactions? Config files can be used, but not user-friendly! M2 M1 M3 M1 Unit 1 Unit 2 Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 11

  23. Introduction Requirements Architecture GUI Conclusion GUI: Motivation Configuration How to configure modules and their interactions? Config files can be used, but not user-friendly! M2 M1 M3 M1 Unit 1 Unit 2 Solution: Configure flow of data Publish data on a topic Subscribe to topic Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 11

  24. Introduction Requirements Architecture GUI Conclusion Video Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 12

  25. Introduction Requirements Architecture GUI Conclusion Experiences PotatoNet Benefits from error handling Temperature Testbed Benefits from flexibility and re-usability Easy to setup and extend Very flexible for different experiments Live-insights into data using GUI Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 13

  26. Introduction Requirements Architecture GUI Conclusion Conclusion We presented a software framework for testbeds Based on simple, small modules Reduces amount of time required for setup and common software errors Enables us to make more experiments in less time ... which enhances research! GUI as an optional web client helps at configuration Will be available online 2 If you have a fancy name: let me know! 2 https://gitlab.ibr.cs.tu-bs.de/hartung/testbed-software Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 14

  27. Introduction Requirements Architecture GUI Conclusion Conclusion We presented a software framework for testbeds Based on simple, small modules Reduces amount of time required for setup and common software errors Enables us to make more experiments in less time ... which enhances research! GUI as an optional web client helps at configuration Will be available online 2 If you have a fancy name: let me know! Thank you, questions? 2 https://gitlab.ibr.cs.tu-bs.de/hartung/testbed-software Robert Hartung, Ulf Kulau, Niels Lichtblau, Lars Wolf A Flexible Software Framework for Testbeds Page 14

Recommend


More recommend