I am using a Beaglebone; a small Linux computer, similar to the popular Raspberry Pi. It has Angstrom distro installed as default.
There are a few main components to this;
* Local GUI on the BeagleBone (through an LCD cape or other output display). This must use the Twitter Bootstrap framework. Using node-webkit or [url removed, login to view] to 'natively' display the Twitter Bootstrap HTML GUI is the preferred solution.
* Remote GUI. [url removed, login to view] to serve up the same GUI to remote users. There must be a method to authenticate incoming connections.
* Database to store sensor data, session information, user accounts etc. MongoDB seems most appropriate using a [url removed, login to view] interface.
* Program loop. I'll code all the sensor collection and control in the sample control loop framework you create.
* Use Twitter Bootstrap.
* Load the GUI on BeagleBone startup.
* The user interface will need to be able to trend values. Any [url removed, login to view] compatiable interface, and examples on how to pull data from the database dynamically and update in realtime on the GUI.
* A small 'system bar' is to be created at the top of the display to show system date/time, and Wi-Fi connection/strength.
* The rest of the GUI can be left relatively stock except where required to show examples.
* Access from a _remote_ browser must have a password entered to load the page.
* Create the program loop structure that I will code my sensor data collection, and how to write in to the database. Use a random number to show as an example.
* Manage remote connections with proper seesion management/cookies etc.
* Show example user settings screen, and how to store into the database. Include user account creation.
* Configure time and date settings of the BeagleBone.
* Configure Wi-Fi settings, and scan for APs.
* Power saving - dim screen when no input is detected.
The BB also needs to load to the GUI as quick as possible. A splash screen graphic should be displayed during startup. This may require tweaking to the distribution.
If you believe you can perform all of this in a simple/clean manner, then this may be the project for you! I just need a simple program that can demonstrate each of my requirements. The code must be very well documented and modular so I can expand on it - adding devices, screens, etc.