Handle a network of "interactors" : Sensors and Actuators in a house
Offers to the user the possibility to easily bind a sensor detection to an action on an Actuator via a web interface "everyware"
Generic : adding a type of interactor is easy for the developer
Architecture
Event management
Interactors class diagram
Readings
Messages from the sensors are received by the main server.
The message contains a query to register an interactor, or a reading. A new interactor is then registered in the database, or the reading is stored by calling the read_message method of the interactor.
When storing a reading, check if the value should trigger an event.
Readings
Binding management
Web interface for the user
Accessible everywhere
The user is free to chose which event is linked to which callback ( demo )
Visualization of the house state ( temperature diagrams...) ( display not implemented )
Adding/deleting interactors (demo)
Demo
What is implemented
Registering interactors, binding events to callbacks
Display them in the web interface
LeapMotion Sensor that send formatted data to the main server
Music player that uses spotify to play music, and can control music volume of the computer
A python script to manually send messages to the web server
A lamp actuator, and PresenceDetection sensor
Futur work
Implements the displays of all the sensors and triggers
HeartBeat protocol to keep an updated list of the interactors state
Use the readings to create a context, make guesses to interact automatically with the users motion
securely identify the interactors by exchanging keys to prevent unrelated sensors to send data to the main server