Developer docs and examples for the module

*** CGPS DECODER/SETTINGS CLASS ***
Because of the many options of the module, the data that it transmits is very variable depending on what information it needs to transmit.
The encoding format and contents of the transmitted data are subject to constant changes.
This is caused by implementations of additional features by new module firmware versions, which makes it virtually impossible to document it and for you to properly decode it yourself.
For that reason, you should use the CGPS decoder class which will correctly handle proper decoding of all different types/versions/formats of data transmissions for all modules in all situations.
Simply use the class API functions to feed the class incoming data and then extract the information you want from it with simple function calls.
Then you never have to worry about data format changes, and whenever you start making use of new hardware/firmware, simply download the latest version of the file and copy it to your server.

Documentation: download API documentation / view API documentation

*** EXAMPLE SERVER CODE ***
An example server application that can receive/decode/store/forward incoming data that is transmitted by a module.
By simply modifying the marked parts in the extensively documented source code, you can store information decoded out of received data in a database or forward it in a dedicated format.
The simple user interface will help you create/display/search a database and show details and contents of records.
It will also supply options to manually simulate a module transmission (which is handy to test your server implementation).
Even options to have the integrated extraction/display example code show decoder class function results of real module data are included.

Example server PHP: view source code / run example code (full functionality only available when configured and running on your own 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.
test my server

*** LCD Simulator / Source Code editor ***
This program 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.
run the program / additional info