This capability enables person(s) at home to display on the family PC, in real time, the location, heading, and speed of the family vehicle(s) as it is driven around the town. The display consists of an icon overlaid on a map of the US, which can be zoomed down to the street level. The software used on the PC is the DeLorme Street Atlas 4.0 which has this built-in moving map display capability, designed to work with GPS data input signals.

In addition, using any telephone, a DTMF command enables the Stargate Home Automation System to verbally announce the vehicle’s location, heading, and speed over the house speakers. These verbal updates can be programmed to occur at any interval. Stargate announces when the vehicle is at landmarks around town such as the mall, church, school, etc. Or if the vehicle is between these locations, it merely announces the vehicle’s speed and heading. A couple of typical voice announcement are:

“Vehicle is at the mall”

“Vehicle is going 30 miles per hour, heading North”

There are two complete systems described here, the vehicle system and the home system; The vehicle system is made up of the following components:

* GPS Receiver (Garmin GPS 12)
* Radio Modem (Kantronics KPC-3+)
* HAM Radio (Kenwood TM733A) with remote control kit
* Radio antenna
* Homemade remote control panel for PWR control, status, mode switching

The home systems is made up of the following components:

* Radio Modem (Kantronics KPC-3+)
* HAM Radio (Kenwood TM733A) with remote control kit
* Radio antenna on a 60′ tower
* Radio Shack Model 100 computer
* Home PC (Macintosh 8500)
* Home audio distribution system (Amplifier & speakers)
* Stargate Home Automation Processor

Refer to figure 1 for the following detailed description of the vehicle tracking capability.

Figure 1 Vehicle Tracking Block Diagram

The Vehicle System

The GPS receiver determines the vehicle’s latitude, longitude, speed, heading, altitude, and many other parameters. These calculations are updated once every second. The output of the GPS receiver is connected, via a serial data link, to the input of the radio data modem. The modem separates out the usable information, packetizes the data into logical “chunks”, includes a radio call sign and error checking information, and converts the data into audio signals suitable for transmission via a radio. This audio signal is routed to the HAM radio and transmitted at predetermined intervals which are programmed into the modem. Usable transmission rates vary from less than 15 seconds to over several minutes. In this discussion, the data transmission burst rate is 15 seconds. The data is transmitted via the radio system at a data modulation rate of 1200 BPS to the radio system located at home.

Home System

The radio in the home receives the signal from the car and routes it to the input of the data modem. This modem operates in almost the exact opposite of the car modem; it changes the audio signals into data, separates the GPS signals from the other data bits that are only used between the modems for coordination, and routes the GPS data (Containing the original vehicle latitude, longitude, heading, altitude, speed) to the input of two computer systems. The first computer is a Macintosh computer that is used to display the vehicle position, and the second computer system is a combination M100 computer and Stargate automation processor that allow the vehicle’s position to be announced in the home speakers.

Computer 1 processing – Macintosh computer to display position of vehicle

The Macintosh 8500 computer is running a mapping software program called Street Atlas 4.0 from DeLorme. This program is configured to expect GPS data inputs on the Macintosh serial port. When the proper GPS information is received, the program displays an arrow icon against a map of the US which can be zoomed down to any level to display every street in the country. The icon always points the heading of the vehicle and moves on the map in synchronization to the vehicle’s latitude and longitude. The speed of the icon travel represents the vehicle’s speed over land. The system is very accurate and you can, at times, even see the vehicle icon deviate as it changes lanes on a highway. This moving map display can be recorded and played back at a later time to see the vehicle’s path. Playback can occur at normal speed, times 10 speed, or times 50 speed to quickly see the car’s recorded travel.

Computer 2 processing – Preprocessing and Verbal Announcements


The signal out of the radio modem is also routed to the input of a Model 100 computer made by Radio Shack. The M100 computer has several functions; first is to determine if the vehicle is at any of the pre-designated locations, and then to determine the speed and heading of the vehicle. The modem output data isn’t in a form usable directly by the Stargate home automation system so the M100 computer also accomplishes the translation and relays the information, via RS-232, to the Stargate system.

The M100 has a manually entered database that contains geographical points called “waypoints”. Any number of waypoints can be entered. Each waypoint consists of latitude and longitude, and a text name. A typical entry in the M100 waypoint data file would be:

“3307.004, 9605.027, HOME”

The North and West labels for these positions are always assumed for my location which is in Texas, but other locations may need this information entered and the M100 software configured to accept this additional data.

The M100 computer is running a BASIC program that accomplishes all the calculations. Its functions are:

* Input the database of waypoints and enter the data into an array along with the plus and minus calculations determined by the RADIUS input below.
* Input from the user the RADIUS of detection for the waypoints. This is needed since GPS information can cause location errors from 30 to 200 feet typically. I normally set my system for approximately 150′ radius so if the vehicle is within this circle of any of the waypoints, it is considered a valid “hit”.
* Receive the modem input signals and screen out the RMC data word which contains all the information needed for the calculations in the M100. Information extracted from this data word are latitude, longitude, heading, and speed over ground.
* Input, via RS-232 data values from the modem and compare them to all the waypoints in the database, plus or minus the RADIUS variable. A determination is made to see if the vehicle is at a valid waypoint. If so, it transmits this waypoint information via RS-232 to Stargate in the form:

“Vehicle is at
* If a valid waypoint isn’t detected, the M100 computer calculates the speed of the vehicle, taking the actual speed and simplifying it by a set of rules that enables it to report the speed to Stargate in intervals of 10:

If speed > 5 mph and speed is < 15 mph then speed = 10 mph * In a similar manner, the M100 calculates the heading of the vehicle, taking the actual heading and simplifying it by a set of rules that enables it to report the heading to Stargate as N, S, E, W, NE, SE, SW, NW. A typical output sent to Stargate would be: "Vehicle going

By setting the speed to report at 10 mph intervals and heading as shown enable you to simplify Stargate’s input EVENTS and reduce the programming effort accordingly. Any intervals will work, just a matter or how close you need the output to be refined.

The M100 program repeats this process indefinitely trying to make waypoint matches and determining speed and heading. If the modem isn’t sending any data to the M100, it still continues in a loop, waiting for an RS-232 interrupt.

Verbal Announcements

The Stargate system receives the RS-232 data from the M100 computer as ASCII text and uses several EVENTS to process the information. The Stargate system can be enabled to make voice announcements of the vehicle’s location or speed/heading throughout the home speakers. To enable the voice tracking feature any phone can be picked up and the DTMF sequence of “VTRK” entered. This is a toggle function so if tracking is off this will enable it and visa versa. Along with the DTMF enabling, Stargate will confirm the toggle function by announcing “Vehicle Tracking Enabled” or “Vehicle Tracking Disabled”.

Stargate receives each input from the M100 computer which can consist of three different data forms:

* waypoint location in the form of:
“Vehicle is at ” -waypoint name is the text name entered in the M100 data file
* Vehicle speed in the form of:
“Vehicle speed ” -speed can be 0, or 10 – 70 mph in 10 mph steps
* Vehicle heading in the form of:
“Vehicle going ” -heading is N, S, E, W, NE, SE, SW, NW

If Stargate receives a waypoint word, it announces it directly. If, however, Stargate receives a speed or heading it combines these two into a single voice announcement. If a heading is received it only updates a FLAG in the system for the new heading. When the next speed update is received Stargate announces the speed and the heading according to the flag that is set for heading.

Stargate has been configured to receive ASCII text on COMM 2 at 4800 BPS. Flags have been defined for headings of N, S, E, W, NE, SE, SW, NW. A flag has been defined (Vehicle Trk ON) to keep track of the toggle function.

Below is a partial listing of the Stargate programming EVENTS that receive the M100 data and make the voice announcements.

4702: EVENT: Vehicle Tracking ON/OFF (turn tracking on and off via DTMF code. It is a toggle function and Stargate announces the response to the entry)
4703: If
4704: TelePhone Seq:’8875#’ Received within 26 seconds
4705: ” 8875=VTRK ”
4708: Then
4709: If
4710: (F:Vehicle Trk ON) is CLEAR (flag to indicate when tracking is on/off)
4711: Then
4712: (F:Vehicle Trk ON) SET
4713: If
4714: (IF MACRO:OK to announce)
4715: Then
4717: End
4718: Else
4719: If
4720: (F:Vehicle Trk ON) is SET
4721: Then
4722: If
4723: (IF MACRO:OK to announce)
4724: Then
4726: End
4727: (F:Vehicle Trk ON) CLEAR
4728: End
4729: End
4730: End

4747: EVENT: GPS Heading (set flag according to heading and clear all other hdg flags there are 8 of these events, one for each heading)
4748: If
4750: Then
4751: (F:Vehicle Hdg N) SET
4752: (F:Vehicle Hdg S) CLEAR
4753: (F:Vehicle Hdg E) CLEAR
4754: (F:Vehicle Hdg W) CLEAR
4755: (F:Vehicle Hdg NE) CLEAR
4756: (F:Vehicle Hdg SE) CLEAR
4757: (F:Vehicle Hdg SW) CLEAR
4758: (F:Vehicle Hdg NW) CLEAR
4759: End

4859: EVENT: GPS Say Vehicle Speed & Heading (This is an example of an EVENT to announce the speed and heading. There is an event like this for every 10 mph increments up to 70 mph)

4860: If
4863: and (F:Vehicle Trk ON) is SET
4864: Then
4865: If
4866: (IF MACRO:OK to announce)
4867: Then
4868: (THEN MACRO:Mute Audio)
4869: Voice:VEHICLE GOING 10 mph [Line,CO,ICM]
4870: (THEN MACRO:Say Vehicle Hdg) (go to the macro and say the heading)
4871: (V:mute seq counter) ) DECREMENT (used to unmute audio)
4872: End
4873: End

5047: EVENT: GPS Say Position (This is an example of an announcement if the vehicle is at a predesignated waypoint. There is an event for each waypoint entry in the M100 computer)

5048: If
5050: and (F:Vehicle Trk ON) is SET
5051: Then
5052: If
5053: (IF MACRO:OK to announce)
5054: Then
5055: (THEN MACRO:Mute Audio)
5056: Voice:BBBEEP2 BBBEEP2 VEHICLE IS AT crossroads mall [Line,CO,ICM]
5057: (V:mute seq counter) ) DECREMENT
5058: End
5060: End

THEN Macro: Say Vehicle Hdg (say heading with each speed announcement in the body of the schedule)

(F:Vehicle Hdg N) is SET
Voice:NORTH [Line,CO,ICM]
(F:Vehicle Hdg S) is SET
Voice:SOUTH [Line,CO,ICM]
(F:Vehicle Hdg E) is SET
Voice:EAST [Line,CO,ICM]
(F:Vehicle Hdg W) is SET
Voice:WEST [Line,CO,ICM]
(F:Vehicle Hdg NE) is SET
(F:Vehicle Hdg SE) is SET
(F:Vehicle Hdg SW) is SET
(F:Vehicle Hdg NW) is SET