Hi Trevor,
I've been a bit slow to update my client software (been in Europe last week and also a Win 10 rebuild of the server taking longer than it should....). But as part of the rebuild I have setup github correctly so I have source control for several PC's I develop on, so you can access all the code here:
https://github.com/deandob
There are three repositories:
HAWebClient. This is the HTML5 client with HAClient.html the front page (client framework shell). The files can be dumped on a web server and will work with only the server variable needing to be changed to the server name and have websockets access to the server. You can see the widgets in the widgets directory, and no installation is needed for new widgets, just drop a valid widget file into the widgets directory (use the widgets template file as a starting point).
HAConsole. VB.NET multithreaded code that is the event, message queue, network and automation manager. Uses websockets to communicate and SQLite as the database. Change settings in the settings.ini file
PluginMgr. This is the node.js server that handles all the server plugins (there is also a facility for native dotnet plugins but I find node much easier to develop in). Node manages the web server for the HTML5 client, MQTT services (not fully integrated yet), sockets and REST interfaces and all the plugins. Server side plugins work a little differently to the client, and need a .ini file for plugin definitions for each plugin.
See earlier postings for more info on how the system works - although I appreciate you will probably need more info to get it started so just ping me on the forum email. All setup to use Visual Studio Community 2015 (free and very capable IDE).
Note - none of this code is 'clean' or production ready, it has a number of hacks, //TODO fixes not done, lacking comprehensive code documentation and portions of it needing rewriting as it has evolved over the years with some aspects better implemented than others. So consider it 'alpha' quality but it does work. If I decide to open source it or even commercialise it I will spend time to clean it up. I do intend to stand up a demo version but need some time to set it up so will be later.
Regarding low power MCUs for the server, you would need to run Windows (Intel or Raspberry Pi2) or Linux with Mono. Some of the transforms do quite a bit of work calculating averages and other functions real time on incoming data to have real time 'virtual' devices but this is mostly DB bound rather than CPU, and if you have a couple of transactions a second a small device would be fine. Note that the server is multithreaded and spins out worker threads when needed so ideally you need a dual or more CPU however on my lowly dual core sandy bridge motherboard HAConsole peaks at 3% CPU, node.js for plugin mgr at 5% (3% of the CPU is motion detection from a security camera using opencv in a c++ module). So a quad core Raspberry Pi2 would definitely be suitable.
For HTML5 client on a low power MCU, not sure this makes sense as you would need a browser (ie. Windows / Linux) and javascript can be a bit intensive. I see uClinux can be used on the LPC1788 but it isn't full Linux. For a small client I will be running HTML5 on Windows 10 IoT on a Raspberry Pi2 and using the universal app web browser control to host the widgets as part of an application for the small touchscreens I have posted about earlier. Some of the widgets which have automation, video and complex functions like zooming in on a chart will chew CPU and likely won't be responsive on a very small CPU.
Do share with me your designs for your form factors, I'm interested to see what you have done.