I wanted to show what I have done so far for a web interface. I’m using a lot of different CSS and JS to add functionality. I hope to one day put this on GitHub. Right now, it is not very expandable to other server configurations so for the time being it will stay with me.
The core UI is built around bootstrap and a free admin template that’s available online. Bootstrap makes designing pages very simple and straight forward.
I am using a lot of JS libraries to add some ‘flair’ and functionality. To help with managing these dependencies, I’m using the package manager Bower. Here is a look of <code>bower list</code> showing what I’m using so far:
├─┬ bootstrap#3.0.3 extraneous
├── d3#3.3.13 extraneous (latest is 3.4.1)
├─┬ flot#0.8.2 extraneous
├── flot.tooltip#7bcf45a17e extraneous
├── font-awesome#4.0.3 extraneous
├── jqrangeslider#5.5.0 extraneous
├── jquery#1.10.2 (latest is 2.1.0)
├─┬ jquery.countdown#2.0.3 extraneous
├── jquery.sparkline#2.1.2 extraneous
├─┬ jquery.tablesorter#2.14.5 extraneous
├─┬ jqueryui#1.10.3 extraneous
├─┬ justgage-bower#1.0.0 extraneous
├── modernizr#2.6.3 (latest is 2.7.1)
├── requirejs#2.1.10 extraneous
├── sparkline#2.1.2 extraneous
└─┬ timelinejs#2.27.0 extraneous
I hope to have everything controlled and all of the data displays on the same page. There is a heavy amount of AJAX to perform all of the sensor updates. Updates are performed on a set number of seconds. Data is returned back in easy to work with JSON format. The possibilities of control with using these multiple languages really is limitless. I’ll cover in a future post on how to execute bash commands as sudo using PHP and the drawbacks of doing so.
This will be under revision for a while longer. I’ll keep you updated on how it progresses.