ICS Software Mission Provide a student-based, innovative software solution. Create functionality not available in commercial, off the shelf software. Support a "smart" house.
What makes a house smart? Requires data: Need to know the current and historical "state" of major house systems. Requires control: "Smart" implies ability to take action. Requires integration: Within house: actions based upon knowledge of *all* systems, not one. Outside of house: ability to interact with Facebook, smart phones, etc.
System architecture Additional Interfaces House Systems iHale Tablet Aquaponics Smart Phone PV Web UI Data Data Facebook HVAC iHale API HTTP HTTP Repository Control Machine Learning Lighting Control Kinect Water
Milestone 2 goal Implement monitoring and control for all five house systems. Due in April, 2011. Explore the "design space" of monitoring and control capabilities. The following slides show our assumptions for Milestone 2 about each system.
Aquaponics Monitoring: Circulation Dead Fish Elec. Conduct. Nutrients Oxygen pH Temperature Turbidity Water Level Control: Feed fish Harvest fish Add nutrients Adjust pH Set temperature Set water level
HVAC Monitoring: Temperature Control: Set temperature
Photovoltaic Monitoring: Instantaneous power Cumulative energy Control: (No control)
Electricity Consumption Monitoring: Instantaneous power consumption Cumulative energy Control: (No control.)
Lighting Monitoring: Monitor each room individually: Lighting level Lighting enabled Lighting color Control: Control each room individually: Lighting level Lighting enabled Lighting color
Issues to ponder What is the "sweet spot" for monitoring and control capabilities that: Enables innovation beyond present commercial software; Provides maximum opportunities for "smart" behavior; Is within budget. Brainstorm: What else can we monitor/control? What other kinds of "smart" are possible?
Thanks for listening Questions? ICS student project lead: Kurt Teichmankurt.firstname.lastname@example.org Faculty sponsor: Philip Johnsonjohnson@hawaii.edu
Details of Milestone 2 Non-programmers can stop watching now.
Milestone 1 API (review) ihale-api.jar provided: Interface for repository (DB). Interface for commands. Backend: Implemented both interfaces. Frontend: Used the backend implementations. Simulator: Didn't need either, used HTTP API
Milestone 2 API ihale-api.jar Provides interface for repository (DB). Provides interface for commands. Provides implementation of DB! Backend: Implement commands. Use iHale API repository implementation. Frontend: Use Backend implementation of commands Use iHale API repository implementation.
iHale API repository Uses enumerated types to specify: System names State variable names Command names Room names Provides ~60 methods for retrieval of: The most recent state value for any system/state variable combination. A list of historical data points for anysystem/state variable combination. New persistent data: "System Status Messages"
Benefits "API Dictionary" is now hard-coded No strings attached. Front end can create sample repository data for testing/development. No need to wait for backend.