Terminal for Home automation control


This project is to make a backup for the PC running my home automation system. To explain more, you must know a little about the existing system.

The home automation system is running on a windows XP machine with a local screen and a remote touch screen. The connection between the computer and the remote screen is by a VGA over UTP extender and for the touch part a USB over UTP extender is used. Both are limited in length and the connection is not 100% reliable. Now and then the connection is lost and needs manual resetting.
Also the computer and operating system itself are not 100% stable due to power outage, temperature problems and software updates.

The sensors and actuators are RS-232 communication based. Some links are direct and some are done by a serial to Ethernet converter with a virtual serial port on the computer. The serial to Ethernet converters can also be accessed by a basic communication protocol without the use of the virtual serial port.
Some of the sensors and actuators will be connected by a Arduino working as a Ethernet Modbus interface with a dedicated program to communicate to that particular sensor or actuator. In this way the sensors and actuators will be all IP based.

System description:

The terminal will be working as an independent system communicating with the computer and the sensors and actuators. The terminal can be used at the same time as the computer. The sensors and actuators connected to the terminal will be available on the network by Modbus.

The base of the terminal will be an Arduino mega with an Ethernet shield. As the main human–computer interface is a ???? board used with a 4 row by 20 characters LCD display and a 20 button keyboard connected. This board is connected to one of the Arduino serial interfaces.

The following sensors and actuators are direct connected to the Arduino:
A Parallax RFID reader for contact less identification.
A Dallas one wire temperature sensor is used for measuring the living room temperature.
A Sparkfun thermal printer for paper output but a meaningful use is not yet fount.
A Conrad relay card with one of the relays switching the central heating.

The following sensors and actuators are available on the network:
Temperature sensors across the home
Fire and alarm sensors as digital input
Outdoor light sensors
Analogue and digital output to set several lamps
Relays to operate the window shutters


The software has several functions:
Taking care of the menu structure of the display and keyboard.
Polling the local sensors and actuators and place the data in the Modbus register
Serving as a Modbus slave, supplying the data from the register and transport the received data to the local sensors and actuators.
Polling the remote sensors and actuators as Modbus master.
Processing the incoming information and set the corresponding actuators. This will be expalned in deep later.