All Rights for the images reserved to mugley photostream from flickr, if you keep them,please keep the credit.
A Bluetooth module, that
establishes the communication between the Central Node and the Tags
Node, allowing the Central Node to identify and sense tags. This module
is responsible of scanning desired objects and estimate their proximity.
Moreover, this module estabilishes the comunication channel between the
Client Application Module and the Central Node used to sense their
proximity to eachother and to forward notifications to the Client
Application Module.
A Web Server module, that implements the web interface used to configure the Central Node. Through this, the user is able to manage system configuration such as creating events, tagging objects, searching for courses and indicate the obejct-course relations. Furthermore the module enables starting/stopping a scan, editing notification settings.
A Client Application Module running
on the User Interface Node, that comunicates to the Central Node
through the Bluetooth module. It has the same functionalities of the Web
Server module and it is also capable of showing notifications coming
from the Notification module.
A Database module, that
is responsible for system data and the database located in the Central
Node. This module stores data coming from the Web Server module or the
User Interface Node, and return them back when necessary. This module
also offers the Core module a series of functions to get consistent data
for the processing phase.
A Notification module
that, starting from the processing phase outputs made by the Central
Node, provides the corresponding message to the User Interface Node (or
to the Secondary User Interface).
A Core module, that is responsible for cooperation and coordination of the other modules.
It's
also responsible for the processing phase which, depending on
informations coming from the Bluetooth module and data coming from the
Database module, decides which objects the user needs, understanding if
something has to be added or removed.
Based on the previous elaboration, the core module assigns the task of notify the user to the Notification module.
This module is also responsible for updating course schedules once a day (or when the internet connection is available).
SOFTWARE ARCHITECTURE