User Tools

Site Tools


drivity_tools

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision Both sides next revision
drivity_tools [2014/03/08 20:59]
aznamerovsky
drivity_tools [2014/03/08 21:02]
aznamerovsky
Line 54: Line 54:
  
 Drivity tools contains only one parser for regular text NMEA. It doesn'​t support proprietary GPS receiver formats as well as binary NMEA. Drivity Tools is not to be used as a universal GPS processing software, but as an easy processor for most common data format, supported by the most of receivers. Drivity tools contains only one parser for regular text NMEA. It doesn'​t support proprietary GPS receiver formats as well as binary NMEA. Drivity Tools is not to be used as a universal GPS processing software, but as an easy processor for most common data format, supported by the most of receivers.
 +
 +
 +==== DRIVITY TOOLS COMMAND LINE INTERFACE (CLI)  ====
 +
 +
 +Drivity Tools CLI is the client to the high level interface (LBSAPI). It performs the most common function and can be used for simple and frequently used tasks directly from the OS command line.
 +
 +**Usage: drivity command [arguments]**
 +
 +Following commands are supported:
 +
 +**init (node-id)** - this command is to be used ones to create unique keys for the given device. As the result, command returns Base64 encoded key block containing public keys for the device to be stored in the file and shared with partner devices. It also creates private keys storage on the local machine (in /​etc/​drivity for Linux, C:\Drivity for Windows)
 +
 +**pair (remote-node-id) (file-with-remote-keys)** - the command registers remote device with given name and public keys. After device is registered, all data will be encrypted using its public keys and become available for it for decoding. By default Drivity Tools makes data available to all paired devices. It makes encryption faster, but may create a big overhead if many paired devices used. For typical cases when multiple trackers communicate to a single server, this approach is fine enough. If the number of paired devices become large, it is better to use dedicated encryption commands (see below).
 +
 +**list** - the command lists remote devices being already paired to this one.
 +
 +**forget (remote-node-id)** removes given device from the list of paired devices. This device will not be allowed to decode data produced by the calling node anymore.
 +
 +**track (period) (output-folder) [(input-file)]** - the command is to get NMEA from stdin or input file is passed and create a set of vehicle location records in the output folder. Records are JSON structures encrypted with RSA + AES256 and protected with encrypted SHA1 e-signature. Period specifies which interval in seconds shall be between the consequent records. These records can be delivered to paired devices for decryption
 +
 +**parse (record-file)** - decrypts given record with location information. Dual operation to "​track"​ except only uses a single record
 +
 +**+gates (gates-list-file)** adds geofencing zones to the list of gates
 +
 +**-gates (gates-list-file)** removes geofencing zones from the list of gates
 +
 +**gates** lists geofencing zones being currently available for the device
 +
 +**encrypt (input-file) (output-file) [(target-id)]** encrypts given file with AES256 + RSA and signs it with e-signature. If target node id is not provided, it provides encryption for all paired nodes, otherwise only for the node specified.
 +
 +**decrypt (input-file) (output-file)** decrypts given file if it is possible for the given device
 +
 +Encrypt and decrypt commands let use Drivity Tools encryption model for packaging of custom data, not just JSON-based location records.