Caller ID on Beta-Brite
I have an Apple IIgs whose entire purpose in life is to sit on top of my entertainment center and communicate with various things: Caller ID box, message board, and PatchBoy (my homebrew audio/video routing switcher).
The GS is running an Applesoft BASIC program with a few assembly routines poked into memory to do some of the serial port I/O (in straight Applesoft you can't find out whether there's a character waiting to be read from the serial port, without waiting for one if there turns out not to be one ready...so I needed some assembly routines).
My Beta-Brite is model 1040-4402 EZII. Manuals for Beta-Brite signs are available from the manufacturer at www.betabrite.com. You can download more manuals at www.ams-i.com/Pages/techdoc.htm. Here's the protocol manual.
I bought my caller-ID-to-serial-port kit from ITU Technologies, but now they're out of business. It was a US$40 kit with 4 rubber feet & a serial connector. The serial data is a 1200-baud data stream.
Normally the GS tells the message board to just display the time of day. When there have been phone calls, it shows the time followed by a number in angle brackets, like "12:00 PM <5>" to show that there were 5 phone calls. The time is Red, the count is Green. (Hitting Return on the GS keyboard acknowledges the calls & makes the number go away.)
|The "compressed rotate" display mode on the Beta-Brite looks great but photographs poorly. The text moves to the left and gives the illusion that there are twice as many LEDs horizontally as there actually are.|
When a call comes in, the info scrolls across the message board about 3 times before returning to the time-of-day display. Something like "212 999-9999 SMITH FRED New York" (number in green, name in red, state in orange). It takes about 1.5 seconds longer than I would like for the info to start scrolling...if I spent a little time on my string processing I could speed this up (it goes a little faster if there is no Calling Name information in the data packet from the phone company...that depends on your local phone company).
Pacific Bell charges me US$6.17/month, I think, for having the Caller ID data delivered. When Pacific Bell first started delivering Caller ID data, they were only sending the shorter "calling number" packets, but after about a year they started sending only the more flexible packet format, which can (but does not always) include a name.
My software hard-codes certain phone numbers to show the names, even if the phone company didn't send their info.
The "state" display is just a decoding of the area code...I found a web site listing all the North American area codes & put them into my Applesoft software. Occasionally I check for recent additions to the master area code list & update my DATA statements.
Here's a listing of the Applesoft BASIC program that's always running on my GS.
The Beta-Brite "EZKEY II Communications Protocol, Version 2.0" document is 68 pages. Title page says (c)1992 Adaptive Micro Systems, Inc, 7840 North 86th Street, Milwaukee WI 53224 (part number 9708-8041).
I got my copy for US$20 in 1993 from:
Alpha-American Programmable Signs 3460 Borreson Street San Diego, CA 92117 (619) 273-3036The downloadable protocol manual probably has the same information.
On the last page of my "EZKEY II Communications Protocol, Version 2.0" manual from Adapive Micro Systems, from 1992, I found this:
Pinout Diagram for Communication Ports used on Std Alpha signs RS-232 RJ-11 Jack Pinout (1) 5 volts (2) (-)RS485 Red Network Wire (3) TXD - transmit data (4) RXD - receive data (5 (+)RS485 Black Network Wire (6) GND
The diagram shows the 6 inline pins, numbered left to right, with the plastic tab at the top. (Presumably the connector is facing towards you, but it doesn't say.) Use 3, 4, & 6 and ignore the others.
There is another diagram called "RS-485 RJ-11 Jack Pinout", which is just like the RS-232 diagram, but only pins 2 and 5 are used (as above), and the other four show No Connection.
[ www.lyons42.com | Email Dave ]