Using Virtual Serial Port Driver in Home Automation
Ian Lowe is a developer in The xPL Project. This company produces an open-source ‘glue’ allowing home systems to share information and work together intelligently. It allows home media systems, security, weather, heating, entrance, lighting, etc to share information about status and events in an open format that can be easily incorporated into systems.
Many home systems use serial ports for communication. It is common for amplifiers, video-switching equipment, weather stations, and even some security systems to have a serial port that can be used to extract information about the state of the equipment or to change its settings.
Additionally, many devices that claim to be USB are just serial devices, connected via an internal USB to serial adapter.
Ian wrote the original application when he owned a PC with 2 serial ports. As he said none of his current development computers have even a single serial port!
Virtual Serial Port Driver allowed me to add a pair of virtual serial ports which were recognized by my old software and performed just like the real thing.
I tried a whole range of tools downloaded from the internet which claimed to provide a virtual serial port. Most of the tools wouldn’t even install on my Windows machine, and only the Electronic Team’s serial port worked exactly as expected. It was reliable and I could concentrate on building my code, rather than wondering if the bugs I saw were a result of the serial port emulation.
Also, Ian found the ability to add pairs of connected ports to be particularly useful. He can monitor both sides of a conversation and make the development easier.
He added support for additional devices, including an irrigation system for water management, a small LCD device intended as a general-purpose home health and power usage monitor, and a multi-zone IR Remote Control gateway.
Virtual Serial Port Driver allows him to develop software on a laptop with no serial ports, and to develop software using a single PC that used to require two computers and a null modem cable. The ability to enable and disable certain RS232 signals means that you can easily check how your app handles error conditions caused by a badly wired cable.