"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."
GPS Vehicle Tracking Project
Tim Skaja | C-Cube Automation
In 1981 Tim went to work for a defense contractor, and about this same time he started getting interested in home automation as a hobby. He built my first automated home in 1988 from bits and pieces. He hand soldered and wrapped his own boards and did all the programming on an old Radio Shack computer. The system was quite capable and performed flawlessly until lightning struck the house in July 1995. Tim has, within the last year and a half, rebuilt his whole automated system, this time using off-the-shelf products. He is proud of my new system, and taking the advise of many folks who have seen his capabilities, has decided to try to make automation pay the bills by doing it as a part-time job under the company name of C-Cube Automation. He hopes to transition to a full time business within a few years.
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"
- 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.
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 <waypoint name>"
- 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 <N>"
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.
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>" -waypoint name is the text name entered in the M100 data file
- Vehicle speed in the form of:
"Vehicle speed <speed>" -speed can be 0, or 10 - 70 mph in 10 mph steps
- Vehicle heading in the form of:
"Vehicle going <heading>" -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)
4704: TelePhone Seq:'8875#' Received within 26 seconds
4705: " 8875=VTRK "
4710: (F:Vehicle Trk ON) is CLEAR (flag to indicate when tracking is on/off)
4712: (F:Vehicle Trk ON) SET
4714: (IF MACRO:OK to announce)
4716: Voice:BELLBAD VEHICLE TRACK ENABLED [Line,CO,ICM]
4720: (F:Vehicle Trk ON) is SET
4723: (IF MACRO:OK to announce)
4725: Voice:BELLBAD VEHICLE TRACK DISABLED [Line,CO,ICM]
4727: (F:Vehicle Trk ON) CLEAR
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)
4749: ASCII-In:'VEHICLE GOING N' [COM2]
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
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)
4861: ASCII-In:'VEHICLE SPEED 10' [COM2]
4863: and (F:Vehicle Trk ON) is SET
4866: (IF MACRO:OK to announce)
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)
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)
5049: ASCII-In:'VEHICLE AT MALL' [COM2]
5050: and (F:Vehicle Trk ON) is SET
5053: (IF MACRO:OK to announce)
5055: (THEN MACRO:Mute Audio)
5056: Voice:BBBEEP2 BBBEEP2 VEHICLE IS AT crossroads mall [Line,CO,ICM]
5057: (V:mute seq counter) ) DECREMENT
THEN Macro: Say Vehicle Hdg (say heading with each speed announcement in the body of the schedule)
(F:Vehicle Hdg N) is SET
(F:Vehicle Hdg S) is SET
(F:Vehicle Hdg E) is SET
(F:Vehicle Hdg W) is SET
(F:Vehicle Hdg NE) is SET
Voice:NORTH EAST [Line,CO,ICM]
(F:Vehicle Hdg SE) is SET
Voice:SOUTH EAST [Line,CO,ICM]
(F:Vehicle Hdg SW) is SET
Voice:SOUTH WEST [Line,CO,ICM]
(F:Vehicle Hdg NW) is SET
Voice:NORTH WEST [Line,CO,ICM]
This post does not have any comments. Be the first to leave a comment below.
Post A Comment
You must be logged in before you can post a comment. Login now.