Developer information
Developer information
CGPS is the proprietary protocol developed by KCS. It is a lightweight, event-driven data model with proprietary end-to-end encryption, data format, encryption, etc. It typically sends only delta-updates of information, reducing overhead. Custom projects are possible if you have existing specifications that are necessary.In this section you will find all the info and tools needed to properly work with the TraceME, namely:
- CGPS decoder/settings class: To decode all different types of data transmissions from a module
- Example server application: To receive/decode/store/forward incoming data from a module
- Server test service: to test server settings before uploading them to the module
- LCD Simulator / Source code editor: to create/test/simulate source code that you can program into a module. It also contains links to Functions description for the CGPS class, as well as module data reception examples and descriptions.
Developer docs and examples for the module
CGPS classes and servers
CGPS classes to decode and generate data and example server that makes use of it.
- Download CGPS_servers_and_classes_PHP.zip cgps.php v87 (supports module firmware up to version: Rev9:932 / Rev5..8:all)
- Download CGPS_servers_and_classes_DotNET.zip cgps.dll v86 (supports module firmware up to version: Rev9:932 / Rev5..8:all)
- Download CGPS_servers_and_classes_JavaScript.zip cgps.js v89 (supports module firmware up to version: Rev9:932 / Rev5..8:all)
- Download CGPS_servers_and_classes_Java.zip cgps.java v13 (supports module firmware up to version: Rev9:932 / Rev5..8:all)
- Download CGPS_servers_and_classes_Python.zip cgps.py v3 (supports module firmware up to version: Rev9:932 / Rev5..8:all)
- View API documentation
TraceME CGPS settings app
Install the TraceME CGPS settings app
and then you will then be able to open .tms and .src files.
With the app you can create them, containing your preferred module settings and LCD/source-code.
Write them into the module with the app, or upload updates of them from your server.
Miscellaneous info
- Accident recording and detection background information about extra detail data recording to make use of in a special event like an accident and how to detect accidents.
- Accel(erometer)-sensor background information about the optional internal sensors measuring G forces both directions of the X/Y/Z-axis movements.
- ActionID list that can be executed as action to an event in the settings, remotely from your server, remotely via the module command SACT and locally from within your own LCD/source-code.
- Additional info page of the LCD/source-code editor describes methods and documentation ranging from creating your own custom SMS text responses and commands to custom functionality and/or attached LCD control.
- Analog/digital-inputs background information about logging/decoding analog and/or digital levels measured.
- CAN bus background information and usage description.
- Data logging and transmission background information how data is recorded as records in the log and transferred from there to a server.
- EventID values list that with possible events that can trigger the logging of a GPS position or send an SMS-alert message containing "Alert%S20" in the default template used for SMS text messages.
- Garmin FMI communication with navigation devices that support "Fleet Management Interface".
- 1-Wire bus/iButton background information.
- Motion detection background information for switching between "moving mode" or "not moving mode" using methods that are available in your project.
- Module Commands that can be remotely or locally executed, even without a GPRS/UMTS/HSDPA/.. data connection to a server.
- Module LED indications description and possible problem solve.
- Hardware pulse counter background information about the built-in hardware voltage pulse counter.
- Photo camera module background information about taking pictures, transmitting their data and displaying them.
- (battery) power supply usage background information about usage/detection/reaction to power supply from an external source or (internal backup) battery source.
- Internal (user)counters background information about the internal (user) counters and their non-volatile backup storage.
- Region detection background information about region detection details.
- Serial ports background information. Contains an explanation why input via one serial port can be handled and logged by the module as if it was received by another physical external serial port connector pin.
- Tachograph background information for connecting and using the output of a digital tachograph.
- Temperature-sensor background information about logging/decoding the temperature reading from internal/external temperature sensor(s).
Server test service
This service requires exactly the same address information as a module needs to transmit to your server.
Before you put your server settings into a module, you should always test them here if they are correct and that your server responds properly.
This is of course *VERY* important, because if the module can not connect to your server, then you can not correct the settings from your server any more either.
The server test report shows extra details about the data transmitted to and received from your server, which are handy for debugging and optimizing.
LCD simulator / source code editor
This tool can be used to create/test/simulate source code that you can program into a module.
The output of instructions that would output text on an optionally available LCD-display+keyboard for your module are displayed, and the key presses can be simulated.
So, even if you do not have such an LCD-display+keyboard yet, this program should give you an idea of the additional possibilities you could create with it.
But there are also many features that do not require an attached LCD, like iButtons for example, that your users can log in or operate something with.
And you can also create your customized alert-SMS texts and create your own custom SMS commands (see example via "additional info" in the editor).
You can upload the program that you create in the module from your server with the cgpsexample server.