Implementation‎ > ‎

Base station


  • Receiving data from gumstix nodes over Bluetooth PAN using UDP packets
  • Process and store the values in a database
  • Send the data on-the-fly to the connected user interfaces
  • Evaluates the given rules and send proper instructions to the actuators
  • Regularly checks the system health, is data received from each node, each sensor, if not gives an alert

Technical description

The Base station is a multi threaded application, there is a thread for each different task, they run paralelly
  • Receiving data: Listening on the configured port and process all the packets received, this thread routes the data for Database, and the User interface host.
  • User interface host is role to handle the connection between the Base station and the user interface. Utilizing Windows Communication Foundation (WCF)
    • Callback called when a sensed value comes, this notifies the User interface about new senses
    • Gives the required data from the database to the user interface
      • Number of sensors
      • Layout of rooms (where the sensors are physically)
  • Actuator host is the interface for the actuation devices. This is also implemented using WCF, and the actuator device controller have to implement an interface with the bool Send(int actuatorID, string command, bool status) callback function. About rule evaulation and actuators see "How it working inside" part.