lgaticaq/tracking-parser

View on GitHub
README.md

Summary

Maintainability
Test Coverage
# tracking-parser

[![npm version](https://img.shields.io/npm/v/tracking-parser.svg?style=flat-square)](https://www.npmjs.com/package/tracking-parser)
[![npm downloads](https://img.shields.io/npm/dm/tracking-parser.svg?style=flat-square)](https://www.npmjs.com/package/tracking-parser)
[![Build Status](https://img.shields.io/travis/lgaticaq/tracking-parser.svg?style=flat-square)](https://travis-ci.org/lgaticaq/tracking-parser)
[![Coverage Status](https://img.shields.io/coveralls/lgaticaq/tracking-parser/master.svg?style=flat-square)](https://coveralls.io/github/lgaticaq/tracking-parser?branch=master)
[![Maintainability](https://api.codeclimate.com/v1/badges/5c5e61696149ee2d3ebb/maintainability)](https://codeclimate.com/github/lgaticaq/tracking-parser/maintainability)
[![dependency Status](https://img.shields.io/david/lgaticaq/tracking-parser.svg?style=flat-square)](https://david-dm.org/lgaticaq/tracking-parser#info=dependencies)
[![devDependency Status](https://img.shields.io/david/dev/lgaticaq/tracking-parser.svg?style=flat-square)](https://david-dm.org/lgaticaq/tracking-parser#info=devDependencies)

> Parse raw data from tracking devices

Parser availables:

* [tz-parser](https://www.npmjs.com/package/tz-parser)
* [meitrack-parser](https://www.npmjs.com/package/meitrack-parser)
* [cellocator-parser](https://www.npmjs.com/package/cellocator-parser)
* [queclink-parser](https://www.npmjs.com/package/queclink-parser)

## Installation

```bash
npm i -S tracking-parser
```

## Use

[Try on Tonic](https://tonicdev.com/npm/tracking-parser)
```js
const tracking = require('tracking-parser')

const raw = new Buffer('$$B6869444005480041|91$GPRMC,194329.000,A,3321.6735,S,07030.7640,W,0.00,0.00,090216,,,A*6C|02.1|01.3|01.7|000000000000|20160209194326|13981188|00000000|32D3A03F|0000|0.6376|0100|7B20\r\n')
const options = {
  mcc: 730, // Necessary in TZ devices. Used for get geolocation. Default 730
  mnc: 1, // Necessary in TZ devices. Used for get geolocation. Default 1
  apiKey: 'googleApiKey' // Used for get address or geolocation. Default null
}
const data = tracking.simpleParse(raw)
console.log(data)
/*{
  raw: '$$B6869444005480041|91$GPRMC,194329.000,A,3321.6735,S,07030.7640,W,0.00,0.00,090216,,,A*6C|02.1|01.3|01.7|000000000000|20160209194326|13981188|00000000|32D3A03F|0000|0.6376|0100|7B20\r\n',
  manufacturer: 'tz',
  device: 'TZ-AVL05',
  type: 'data',
  imei: '869444005480041',
  alarm: { type: 'Sleep', status: true },
  loc: { type: 'Point', coordinates: [ -70.51273333, -33.361225 ] },
  gpsStatus: true,
  speed: 0,
  track: '0.00',
  magneticVariation: null,
  gpsMode: 'Autonomous'
  pdop: 2.1,
  hdop: 1.3,
  vdop: 1.7,
  status: {
    raw: '000000000000',
    sos: false,
    input: { '1': false, '2': false, '3': false, '4': false, '5': false },
    output: { '1': false, '2': false },
    charge: true
  },
  datetime: Tue Feb 09 2016 19:43:26 GMT+0000 (UTC),
  voltage: { battery: 3.98, inputCharge: 11.88, ada: 0, adb: 0 },
  lac: 13011,
  cid: 41023,
  temperature: 0,
  odometer: 0.6376,
  serialId: 100,
  valid: true,
  currentData: { isCurrent: false, diff: '22 días' }
}*/
tracking.parse(raw, options).then(console.log)
/*{
  raw: '$$B6869444005480041|91$GPRMC,194329.000,A,3321.6735,S,07030.7640,W,0.00,0.00,090216,,,A*6C|02.1|01.3|01.7|000000000000|20160209194326|13981188|00000000|32D3A03F|0000|0.6376|0100|7B20\r\n',
  manufacturer: 'tz',
  device: 'TZ-AVL05',
  type: 'data',
  imei: '869444005480041',
  alarm: { type: 'Sleep', status: true },
  loc: { type: 'Point', coordinates: [ -70.51273333, -33.361225 ] },
  gpsStatus: true,
  speed: 0,
  track: '0.00',
  magneticVariation: null,
  gpsMode: 'Autonomous'
  pdop: 2.1,
  hdop: 1.3,
  vdop: 1.7,
  status: {
    raw: '000000000000',
    sos: false,
    input: { '1': false, '2': false, '3': false, '4': false, '5': false },
    output: { '1': false, '2': false },
    charge: true
  },
  datetime: Tue Feb 09 2016 19:43:26 GMT+0000 (UTC),
  voltage: { battery: 3.98, inputCharge: 11.88, ada: 0, adb: 0 },
  lac: 13011,
  cid: 41023,
  temperature: 0,
  odometer: 0.6376,
  serialId: 100,
  valid: true,
  currentData: { isCurrent: false, diff: '22 días' },
  gps: 'enable',
  address: 'Robles 13180, Lo Barnechea'
}*/
```

## License

[MIT](https://tldrlegal.com/license/mit-license)