Description
The IoTSyS gateway provides a Web service interface to access heterogeneous building automation technologies and smart meters (e.g. KNX, BACnet, ZigBee, Wireless M-Bus, and EnOcean). Device interaction and complex processes can be defined graphically using a set of basic logic blocks, which are available as distinct, hard-coded elements. However, there is often the need for individual logic blocks or even complex controller components (e.g. PID controller) to realize specific functionality. Therefore, a rule engine should be implemented within this project to enable the creation of personalized logic blocks. Input parameters and output parameters specify the interfaces of such blocks. The functionality of the block should be described by means of a scripting language like JavaScript. Thus, an appropriate framework is needed to interpret or rather execute this functionality at runtime. In the end, own rules and logic blocks can be specified in the context of IoTSyS to realize complex as well as individual building automation processes.
Benefit for the Student
Dive into latest technologies and emerging protocols for the Internet of Things/Web of Things. Gain hands-on experience in Java-based and Web-based software development.
Benefit for the Project
The expressiveness of currently available, hard-coded logic blocks and virtual blocks is limited. Thus, a rule engine to define additional blocks is highly beneficial to address distinct needs of IoTSyS users.
Requirements
Strong skills in Java-based software development and Web-based scripting languages like JavaScript are required.
Mentors
Andreas Fernbach, Daniel Schachinger
More information
http://code.google.com/p/iotsys (IoTSyS)
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Rhino (Rhino)