Monday, May 26, 2014

Week one, tasks done!

During the last week I have studied the code and create a ER model for structuring the database of the program.
Converting the existing database will be a quite easy task because in the code is planned  the possibility to simply switch type of database.
The ER model that i developed is in the image below:

I shared the model image even on Google drive (here) and maybe I will update this later if there is this need.
In this model I found some new entity that will be soon developed in the code.
The most important entity is Trigger that is the set of all words that the program will recognize when users uses some voice commands and there was introduced the support for locales.
This "table" must be super-optimized to reduce the latency and to improve the real time response of the system.
A separation between triggers and commands was made, there is the possibility to make different types of commands (not only gpio on and off) and in the GPIO there is the type attribute for defining if the GPIO is in,out,in/out for example or such a specific type.
The room entity was introduced to make more accurate infos about the node location and to plan a room based configuration for the setup phase of the system.
At last the possibility to make different remote commands layout per user (to control all house services) was introduced to allow some kind of customization of the UI layouts.
About this last thing, even if it is not possible in GSoC period, maybe will be a good idea to develop a configuration language for sharing across the UIs the custom remote command layouts.
This the model is the foundation of the work that will start this week, structuring the database and the test of this.
During this week I even planned the communication protocol between all UIs and RPC server that will use the following tuple:
"trigger,command,reference (id/keyword for the target device)"
But I will go deep when I will develop the RPC daemon.
Last but not least important I created some mockups for the WebUI interface but I have some paper draft so in my spare time I will copy those ideas on some kind of mockup online software.

So that is all, good work to everybody! 

No comments:

Post a Comment