The pictures in the previous chapter showed a first version of the graphical user interface for the control application. It pictured the light switches in the indoor section. I start with the light switches because it is the easiest part to implement from a technical point of view. The above picture is not original resolution. Original size is 1364 pixels wide, the picture above is compressed to 800 pixels wide, everything looks smaller. I decided for a 15″ screen because I wanted more items on the screen at the same time with a reasonable size and not going through a large number of menus because the screen can not visualise enough individual functions.

Quick and easy access was the goal and even with the 15″ screen I have 2 levels of selection before the content screen is displayed.

On the very right is a “Quick Reference” section located, which contains display elements for important signals in the van.

For each battery bank (we have two), I display, current voltage (not really that essential with Lithium), total KW left in battery bank, total voltage of the corresponding solar bank, charge current and load current.

The panel also shows the summary over all water and holding tanks and temperatures like hot water, inside, heater fluid and outside. I also show the pressure of the central air tank.

The left side of the display consists of a vertical row of buttons to the left (activity buttons), a horizontal row of buttons at the top (category select), another vertical row to the left of the Quick Reference section (sub category select) and in the center the Content Panel is display. In case of above picture it is a floor plan of the van and switches to control various lights positioned on the floor plan. Underneath each section (kitchen, living, bedroom, work area and bath) four buttons are layed out for quick functions, which apply to that section. The functions are “All off”, “Default”, “Bright”, “Dimmed”. These buttons control all lights in the section and set them to a predefined value.

At the bottom of the content section are buttons which control settings affecting the whole van. There is an “All off” button, which essentially switches all lights off, wherever they are. To the right of the All off buttons one can see the profile buttons. For example the TV button will switch off the lights not required for TV, will lift the TV up out of the cabinet and will dim all lights which are defined to stay on to a predefined value. The profiles can be changed at any time by simply setting everything up the way the profile should do it and the save the profile by selecting the affected signals. The Reading profile for example will keep the TV down and switch the reading lights on and select an ambient light with predefined values. A PC Profile will switch on the down light over the dinette, lift the TV and switches the TV to external in, switches on the power for the PC and dims other lights to a predefined value. Once all signals are accessible from the central systems, these functions are rather trivial to implement.

Last but not least the window contains two message fields at the bottom for info and alert messages.

I have decided against text on the display since after a while even my wife will be able to identify the icons and text would clutter up the layout too much. In doubt there is a help (?) button on the bottom right. Once pressed one can point to any item on the screen and the system will pop up an explanation. Pressing the help button again will stop the help function and suppress the annoying pop-ups.

The Activity buttons in the left columns are special profile buttons. They are implemented just like all other profile activities but have a certain significants, which deserve a special attention.

The top button starts sleep mode. This will switch off all lights and appliances not required during the night. It will set the skirting lights to night mode and will activate the floor sensors to switch on skirting (floor) lights when motion is detected. All out door security lights will be activated and the security camera recorder is started. A few more things will happen but above gives an idea what those buttons can do. And the profile can also be changed at any time.

We have the following Activity buttons:

Sleep, Awake, Going Away, Cooling & Heating with Fast mode and Off, Arm the alarm system, Reset to predefined defaults and the Profile Manager.

The Category buttons at the top determine which content panel is displayed. In the picture above we see the Lighting panel with sub category Indoor selected.

I currently see the following categories:

Holding tanks, Lights, HVAC, Batteries, AC 240V, Body functions, Entertainment, Security and Water. Each of these categories have their own panel and each of these panels have sub selectors to the right. In case of the Lighting panel these sub selectors are: Indoor, Outdoor, Cabinet and Baggage spaces. Each sub category selects an individual content panel, which provides the actual elementary functions to control the corresponding input and output signals.

I decided to implement this as an application with fixed size because I do not intend to run it on any other device with lower resolution. The remote control applications will be implemented using Android and communicating with the central up via BLE or Wifi. The central server provides a protocol over TCP/IP to access all applicable control functions.

I estimate the remaining development time of the application to 3-4 weeks after I have tested all the individual sensor connections. I do this work now before I start building to make sure I will have enough connections for all signals and identify the mounting spots for the peripherals. All mounting spots require later access and all cable connections should run in accessible channels.

The look of the buttons on screen are similar to the touch/dim buttons I use for the lights.

Below picture shows the application running on UDOO with 2 lights switched on and the image at the bottom shows the relay output over TCP/IP to PoKeys57E. All the On/Off switches are running now. Next are the dimming functions using DMX512. Once the light control is done the basic architecture of the application is in place and then I can start with the slightly more laborious components, namely analogue IO and digital IO. for both I need to do signal conversion to values under 3.3V. This will be a separate chapter.



Above shows the PoKeys57E with two output ports being switchen on using the control application.
It is pretty good progress so far and I am very confident that I can complete the application as planned when I can manage getting all signals captured. I may get some problems with cable lengths, but then I may have to add a couple of local Arduinos collecting the data. AT $8 a pop this is not really an issue.