- Aug98 -
[HTI Home Page]
[Click Message To Learn More]
The Amiga Computer: A Viable
Alternative in Home Automation?
|I am the Network Administrator of two Windows NT networks of over 25 machines for a television station ( WDTV-TV5). I also maintain a network of Amigas there as well, consisting of six machines. Both in work and in my spare time, I write software for the Amiga which includes programs that automate certain functions of WDTV's operations, as well as my home.|
This article is not to promote the Amiga in anyway, nor do I work for Amiga Inc. It is also not meant to be a comparison with other systems, although a few comparisons may be used to make a point. I am simply a more-than-happy user who wants to share my experiences with using the Amiga in a home automation (HA) environment.
First, a little about myself since this is the first article that I've written for HomeToys. I am the Network Administrator of two Windows NT networks of over 25 machines for a television station ( WDTV-TV5). I also maintain a network of Amigas there as well, consisting of six machines. Both in work and in my spare time, I write software for the Amiga which includes programs that automate certain functions of WDTV's operations, as well as my home.
Amiga users are well known for their fanatical following, making Mac fanatics look pale in comparison. Little known by most is that new Amigas still may be purchased with, and/or upgraded to 68060 and PowerPC processors and combinations thereof. Also, there are now 533mhz PPC chip clones available in demo quantities and the new PreBox (due 4th quarter '98) will contain four (yes, four) 200mhz or better 604e PPC chips. Phase 5 is the company behind this amazing machine. One last note is that Amiga dealers are actually reporting Amiga sales increasing significantly over the past several months.
The Amiga also has the luxury of having the largest freeware/shareware collection in the world. It is known as Aminet and at last count had over 6gb of freely available software.
A Future Look and a Brief History of Amiga, AmigaDOS and ARexx
I normally would not go into the OS in an article about Home Automation, but since it is the O.S. which makes the Amiga the ideal HA machine, I will explain a little bit about what makes it so powerful.
AmigaDOS was one of the very first pre-emptive multi-tasking operating systems coming out shortly after OS9. The big difference was that AmigaDOS was a 32bit OS and had a GUI interface. Meanwhile in 1985, PCs were still stumbling with only 16 colors and Apples were still black and white while the Amiga was doing a whooping 4096 colors! Top it off with built in 8 bit four channel digital sound with decent digital speech synthesis. It was years ahead of other platforms and in some respects, still is (like in it's ability to play back full screen high resolution animations with a relatively slow processor!).
AmigaDOS is currently at v3.1. It can still boot in as little as 512k ram, but that would not be very practical. Many programs will run in as little as 2mb without any CPU intensive disk caching, while still fully multi-tasking.
AmigaDOS not only has its own scripting capabilities, but also includes a much more powerful language called ARexx. It is based on the Rexx language developed by IBM and is somewhat compatible to Rexx which is available on OS-2 systems. The beauty of ARexx is this: Most Amiga programs include a built in ARexx port so that it may be completely controlled externally by another application or script. A script may be written to control many programs simultaneously, or just a single program. It can even hand data back and forth as it goes. This is quite powerful and I've yet to see anything that even comes close on other platforms. ARexx is even powerful enough to build complete stand-alone applications with a GUI interface that may even be compiled. It is easy to use and most people can learn the basics in just a few days. As you can imagine, these capabilities make for a very powerful home automation computer, and an easy way to create powerful custom programs or macros.
For those who may be interested in what ARexx looks like, here is very small Arexx script example:
/* This is an arexx script example. */
address EZHOME send A1 A2 A5 on /* Tell the CM11A daemon to turn A1, A2 and A5 on */
address INFRAREXX VID_CH_1 /* Tune VCR to channel 18... */
address INFRAREXX VID_CH_8
address INFRAREXX VID_REC /* ...and then record */
curtime = time() /* 18:00:00 */
say 'Your recording has started' /* Print to screen */
/* Have Amiga speak via built in
speech synthesis */
address command 'echo >speak: "jim, your recording has started at"' curtime
/* END PROGRAM */
Because the Amiga's OS is very efficient, it does not take a lot of CPU power to handle tasks effectively. As an example, here are my system specs.
- Model : Amiga 2000
- CPU : 68030
- CPU Speed : 50mhz
- RAM: : 18mb FAST RAM ; 2MB CHIP
- Drive Controller: SCSI 2
- Drives : 1gb, 550mb, 240mb, Archive Viper Tape Backup (external)
- Ports : 1 Serial ; 1 Parallel
- Sound : four channel 8 bit stereo sound w/speech synthesis (built in)
- Cards: : VFX Phonepak (FAX and voicemail boxes) : MultiFace3 (2 Serial, 1 Parallel) : PicassoII gfx card w/2mb. Cirrus Logic Chip Set
- Misc : External 33,6 FAX/Modem w/CID : CM11A ActiveHome Unit : CP290 X10 Computer Interface : InfraRexx infrared controller.
As you can see, a mediocre system at best, but is able to handle more jobs simultaneously than a Pentium 166 or maybe even a P200. The ARexx port in each program is what allows the increased flexibility of AmigaDOS as compared with mainstream Windows systems.
There were many different models of Amigas made throughout the years starting with the original Amiga 1000 from 1985. A 32 bit system running a Motorola 68000 at 7.14mhz. It had 512K RAM as well as an optional 8088 PC card for running MS-DOS programs.
Next came the Amiga 500 also running a 68000 @ 7.14 mhz. More video RAM through a redesigned custom graphics chip (Agnus) made the A500 the ultimate gaming machine. Perhaps this is where the Amiga got its reputation as a "game machine".
The A2000 was available with the 68000 or 68020, video slot for internal genlock or other video devices (the Video Toaster was a popular one), a CPU slot for future expansion as well as 3 ISA slots and 4 Zorro 2 slots (The Amigas 16 bit expansion slots). Even though the A2000 is old, third party companies are still making accelerator CPU cards in 060 and PPC flavors transforming the A2000 into a very modern machine.
The A3000 and A4000 are listed together since both have very similar architectures. These machines are considered high end workstations and available in both desktop and tower variations. Both feature the newer Zorro 3 32 bit slots. The A4000 tower features, a most useful, two video slots instead of the usual one.
The A1200 is a wonderful home computer that is not much larger than a standard computer keyboard. The A1200 features a 68EC020 CPU plus 2mb video RAM. The CPU is upgradable to a 200Mhz PPC chip if desired. This machine is very popular and very capable of useful things. The A1200 also contains a Zorro 3 slot.
The Home Automation Hardware
This is where Home Automation computers start to look alike. Most systems are likely to use one or more combination of this hardware simply because it is inexpensive. The biggest difference of course, is the software. Unfortunately, there is not much HA software currently available for the Amiga. Hopefully, this is a situation that will soon change.
I first bought the CP290 under the impression that it was a two way unit. Wrong! I kept it anyway as it made a good test tool, and there already was Amiga software available to run it (X10Commander and CyberX10, both available from Aminet), so it got me started. A few months later I purchased the CM11A knowing there was no software available to run it on my system. No problem I thought, I'll write something to run it (see below).
My Amiga controls many things automatically, 24 hours a day, 7 days a week, 365 days a year just like many other HA computers. It has not been turned off in over 3 years (with obvious exceptions). If I would keep my hands off of things and quit tweaking, it would most likely run many months without crashing.
The Home Automation Software
EZHome is the CM11A controller. It runs quietly in the background and monitors for signals coming from the CM11A or from ARexx. When it gets one from the CM11, it checks a list of presets to see if any match the X10 code. If any do, it then executes the corresponding command(s) which can be programs, ARexx scripts, soundfx, or whatever you want it to do. For example, if I send a C16 ON to the powerline, my computer goes on-line and grabs my email, and then speaks to me if I have any messages. Optionally, I could display the messages on my family room TV screen if desired. Also, there are no limits to how many commands may be executed. The X10 commands (macros) may also be sent in response to incoming X10 signals. Examples are:
- My system knows when to kick into "night mode" simply by receiving the dusk signal from my outdoor motion sensor. It sets a global environment variable that other programs or scripts can reference, if desired.
- When I send the TV an OFF command via the IR remote, and the time is after midnight, the system automatically enters bedtime mode. This brightens the lighting and allows me to see my way to bed. After about 2 minutes time, it then shuts all lights off (There is also a X10 command to do the same thing).
- I can render frames with LightWave 3D and have lights flash on then off to indicate that a frame has been rendered. For that matter, I could even have them display on my tv for a few seconds so I may spot check them while watching tv in the other room (Most Amigas have built-in 15khz video output signals).
- When my garage motion sensor is triggered, the computer plays a doorbell sample file and logs the time and date of the action.
Limitless possibilities here.
EZCron is the main system
timer. Events may be scheduled to run in any combination or number of times/dates within a
single event. It supports ranges of times and dates and is very flexible. For example, it
allows me to run an auto getmail script every hour at 10 minutes after from the 6th
through the 10th days of the month and between 6am-8:10pm, if I so desired. It would also
allow me to only monitor the motion sensors within given time/date ranges. EZCron can also
send almost any Amiga program direct commands, at given times and dates. As you can surely
imagine there are lots of possibilities here.
Future versions of EZHome will contain EZCron timer functions.
FoneCtrl is a small ARexx daemon that monitors my PhonePAK card (the PhonePak is an answering machine/voice mail/FAX card that fits within the Amiga). This allows me to execute programs and/or scripts from DTMF tones. ie: I can change my VCR or DSS receiver channels and even force the VCR into record mode from the telephone. Equally so, I can run a script that makes my Amiga log onto the Internet and email me my IP address at my work place. I can then get into the machine easily and retrieve files, or check HA status or EZHome log files. Other functions might include getting temperature status of my home and adjusting the thermostat. It would even be easy to have my computer email me at given time intervals with status reports. This also allows me to control X10 addresses directly via DTMF as well.
FoneCtrl is a custom Arexx script which I wrote in about 30 minutes. If anyone wants it, I would be glad to email it to you.
EZCID is a caller ID program. It was created by myself and Gene Heskett. It is very basic and simple at only 5 kb, what it can do though, and this makes it very powerful, is send messages to AmigaDOS for any other program. It can send an ARexx message on the ring(s) and/or on the CID data. If the phone rings, it could flash my lights on and off while speaking the callers name, if I so desired, and/or write a logfile of who the caller was, or any number of imaginable things.
InfraRexx is an infrared daemon. It is freeware and is available from Aminet.org. The schematic is included and can be easily built for around $15. It plugs into the Joy2 port. Basically, what it does is give the user an arexx interface for sending and receiving infrared codes. It can learn and resend virtually any code and there is no limit to the amount of codes learned. Because it also receives, any infrared remote can be used to control the computer. They may also be converted to X10 codes and sent directly to the EZHome daemon, or whatever. It also becomes very easy to convert X10 codes into infrared, as you might have guessed. As an example, I am currently converting these codes into infrared:
- B4 OFF : SAT FAVORITE ONSCREEN LISTING
- B4 ON : UNUSED
- B4 DIM : CHANNEL DOWN
- B4 BGT : CHANNEL UP
- B4 AllUnitsOff : Select (Yes, allunitsoff with a specific code does work...)
- B5 OFF : Last CHANNEL
- B5 AllUnitsOff : Cancel (...and this too)
Many HA enthusiasts are also computer programmers and/or hardware hackers. If off-the-shelf do-it-all software is what you want, then the Amiga is probably not for you. But, if you love a computer that is flexible beyond belief, powerful at multitasking, easy to use GUI and powerful scripting, and most importantly, easy customization, then you should give the Amiga a hard look.
Other HA projects I have been considering are:
- The ability to shut down the Amiga automatically electrical storms and restart itself.
- Control a security camera on my porch. The way this would work is simple. When motion is detected on the porch, it kicks on the porch light, changes the television channel to that of the PorchCam and plays some sort of sound effect.
- Purchase of a weather station would allow many controlled situations and I am still considering the possibilities.
- Control of a large reflecting telescope with CCD imaging camera. This will allow indoor astronomy during cold weather.
I will wrap this up now, but I want to note that my Amiga is not only a dedicated HA controller, but my 17 year old uses the computer to browse the web when he gets home from school; My wife uses it to browse the web and type things she needs at work, and I use it to develop software on. The machines handles this stuff very well with no noticeable slowdown. I do not believe that there is a more user-friendly system available with the powerful scripting that AmigaDOS offers.
In future articles, I plan on discussing ARexx programming techniques in the HA enviroment as well as going into more depth on some of the issues discussed in this article. Until next time, happy computing.
Amiga Web Directory
AmiNet (Largest free software archive in the world)
Gateway 2000Amiga's Parent Company
NewTek (Makers of the Video Toaster and Lightwave 3D)
Phase 5 (Amiga licensee / PPC/060 accelarators, gfx cards)
Software Hut (Amiga Computer and Amiga software/hardware dealer)