US Home
Automation

(Last updated: Wednesday, Jan 36, 2012)
Google
 

The GNU Home Control System (gHCS)

Yes, I'm corny and not very original, so this is the new (GNU) HCS. This is my take on the original HCS II. I love the old HCS II but it's showing age. A discussion a few years ago had us rethinking the HCS II. Trying to figure out which way we should go, use a Linux kernal (and therefor a PC) or go the hardware route with a RTOS. We decided not to go the PC route because of failing hard drives and fans because eventually they fail. The hardware route meant quiet, low power but slightly less flexible. Bob Morrison went the hardware route with an ARM processor and FPGA. While the FGPA is a technology I'd love to learn it's currently a technology I have little experience with.

While I'm comfortable with hardware, I'm not comfortable with the FPGA, also I don't want to build each individual component. Instead I'd rather reuse things I'm comfortable with, like Linux soI don't need to write an OS or network stack. I can also reuse all sorts of tools that already exist.

Tech toys

Of course, in addition to working with HA, there is new technology to play with. So while building the overall HA system I'd like to incorporate the learning of new technologies.

  • ARM based plug computer
  • Linux (RT Linux ?)
  • Arduino
  • PIC32
  • FreeRTOS
  • LWIP
  • ANTLR

This Old HCS II

HCS stands for Home Control System. Originally designed by Steve Ciarcia for the article "Home Run Control System" for Byte magazine.

So what is the HCS II? It's an expandable, network-based (RS485), intelligent-node, industrial-oriented supervisory control system intended for demanding home control applications. The HCS incorporates direct and remote digital inputs and outputs, direct and remote analog inputs and outputs, real-time or Boolean decision event triggering, X-10 transmission and reception, infrared remote control transmission and reception, remote LCD displays, and a master console.

The HCS II system architecture consists of a central supervisory controller (SC) connected to up to 32 other functional modules (called links) via a RS485 serial network. The SC and the COMM-Links can operate independently and don't need each other to function. This allows easy testing or incorporation as intelligent subsystems in other control equipment. Initially the subsystems links all shared a comon 8031 controller board (generically called a COMM-Link) with the I/O customized for each application.

Additional boards are available that piggy-back on top of the SC. These boards include the PLIX (X10), HCS-Voice, HCS-DTMF, and HCS-Voice II boards. These boards are intended for I/O that requires quicker processing than the COMM-Link which can experience network delays.

Images

Arduino UNO ChipKIT Uno32 Pinguino PIC32

Links