The QStarz GPS Q-1000XT and Holux 3000rcvr trackers are small encapsulated GPS tracker, similar to a G-Ray, which provides standard GPS tasks, logging, point of interest (POI) recording, and basic functionality to enable navigation on devices not containing a built in GPS. http://www.amazon.com/Q-1000XT-BT-Q1000XT-Bluetooth-Waypoints-Vibration/dp/B00144PH1S
The instrument provides a serial (over USB) interface as well as bluetooth connection capability. The communication protocol is a super-set of NMEA 183 standard NMEA sentences for GPS satellite information and location information. Additional settings controllable through the serial protocol allow the user to set
The QStarz and Holux are structured around the Mediatek MTK GPS chip which supports the standard NMEA sentences as well as the Mediatek extensions.
The following MTK extensions are useful to AGTEK tracking
PMTK sentences | Description |
$PMTK001,182,5,3 | Acknowledge packet, in this case “disable logging” |
$PMTK182,1,3,10 | Set the logging period to 1/sec (units are in seconds*10) |
$PMTK182,1,4,990 | Set the logging distance 99 m (units are in meters*10) |
$PMTK182,1,5,420 | Set the logging speed to 42.0 km/h (units are speed*10) |
$PMTK182,2,2 | Get Log format, has several sub-commands |
$PMTK182,2,7 | Get Log status |
$PMTK182,2,8 | Get flash usage, e.g. How much log data is stored |
$PMTK182,3,3,10 | Report logging time interval 1 second (units are seconds*10) |
$PMTK182,3,4,990 | Report logging speed to 99 m (units are in meters*10) |
$PMTK182,3,5,420 | Report logging speed set to 42 kmh (units are in speed*10) |
$PMTK182,3,8,XXX | Report flash usage |
$PMTK182,4 | Enable logging |
$PMTK182,5 | Disable logging |
$PMTK182,6,1 | Log erase, responds with $PMTK001,182,6,3 |
$PMTK182,7,00000000,00010000 | Download data, params are (hex) start, and length |
$PMTK182,8,00000000,xxxx | Downloaded data from the instrument |
$PMTK492 | Query bluetooth mac address, resp == $PMTK592,0BAC01ii1C00*13 useful for tracker id |
PTSI sentences | Command (NB: Checksum not shown) |
$PTSI004,2,1 | Enabled motion sensor |
$PTSI004,2,0 | Disable motion Sensor |
$PTSI002,1,xyz sets name to xyz | Set device name (QStarz only?), resp == $PTSI002,3,WriteOK |
$PTSI002,2 reads name of tracker | resp == $PTSI002,0,name |
TrackReader for Android uses the following initialization sequence (with comments).
$PTSI004,2,1 # Enable motion sensor $PMTK182,1,3,10 # Set logging to 1 Hz $PMTK314,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 $PMTK182,4 # Enable logging
QStarz is (as a company) not forthcoming with the interface capabilities of their device. Others have reverse engineered a large portion of what's going on. The MTK chip is reasonably well documented and MTK documents are plentiful on the internet.
The MTK extensions are documented by Mediatek in their protocol document: https://agtek.s3.amazonaws.com/Agtek/ksxJuUwx1MwY
Missing from the previous document is the PMTK182 (PMTK_CMD_LOG) data logging commands. The only references I was able to find on this is in GPSBabel module “mtk_logger.cc” https://code.google.com/p/gpsbabel/source/browse/trunk/gpsbabel/mtk_logger.c?spec=svn3365&r=3365 and in a Java program: https://github.com/ryantenney/geologger/blob/master/BTQ1000.java
The motion sensor control commands have been reversed engineered by using a serial monitor (here at AGTEK), and have been verified by others on the internet: http://www.bt747.org/de/forum/bt-q100xt-controlling-vibration-sensor
The BT747 author has provided a nice spreadsheet of various operations on the Holux API: http://spreadsheets.google.com/pub?key=pyCLH-0TdNe-5N-5tBokuOA&gid=5
As of 2014-08-02 some questions still remain: