Giter Club home page Giter Club logo

qtripp's Introduction

qtripp

The Queclink Track (air) Interface Protocol Processor is a TCP GPRS server for Queclink devices: qtripp obtains GPS positions from these devices and publishes those over MQTT in OwnTracks JSON format as `location objects.

qtripp

requirements

  • an Internet-facing server with an open TCP port
  • a Queclink device. We have tested GV65, GV65+, GV55, GV200MT, and GV500. Others ought to be no problem, though you might have to adapt device configurations from the Protocol documentation.
  • an MQTT broker (see the OwnTracks Booklet)
  • a bit of patience

features

  • configurable MQTT publish topics (device lookup)
  • extensible
  • copious debugging
  • support for device reports with embedded segments (e.g. GTFRI/GTERI)
  • ignore specific device reports
  • configurable reports per/device and on a per/firmware basis
  • fast
  • extra JSON data can be merged in to data from devices
  • OwnTracks JSON support
  • MQTT, TLS, TLS client certificates, user/password authentication
  • list devices connected (console & MQTT)
  • statistics over MQTT
  • statistics dump including subtype stats and IMEI stats.
  • (pseudo-) LWT for devices (when a device disconnects, qtripp publishes LWT)
  • support for 1-Wire temperature sensors (on GV65/GV65+)
  • raw data is copied to file for backup, replay, debugging, etc.
  • optional beanstalkd support (requires beanstalk-client) for mirroring. (sample workers are provided.) beanstalk host/port/tube are configurable; payload is OwnTracks JSON enriched with a field imei and a raw_line field which contains original ASCII device data (+RESP:GT ... $)

commands

-t owntracks/qtripp/*/cmd -m list
-t owntracks/qtripp/*/cmd -m stats
-t owntracks/qtripp/*/cmd -m dump

logging

2017-08-16T17:25:55Z 1502904355 pid=564 +++ I=863123456789090 (JP car) M=GV65 np=200 P=310603 C=2 T=RESP:GTERI (scheduled report) LINE=+RESP:GTERI,310603,8...
---------+---------- ----+----- ---+---     +---------------- -+------ +----- +----- +------- +-- +----------  +----------------  +-------------------------
         |               |         |        |                  |       |      |      |        |   |            |                  |
         |               |         |        |                  |       |      |      |        |   |            |                  +-----------------  raw data received
         |               |         |        |                  |       |      |      |        |   |            +------------------------------------  (description of T=)
         |               |         |        |                  |       |      |      |        |   +-------------------------------------------------  T=type/subtype
         |               |         |        |                  |       |      |      |        +-----------------------------------------------------  C=counter (total reports handled so far)
         |               |         |        |                  |       |      |      +--------------------------------------------------------------  P=protov (proto, maj/min)
         |               |         |        |                  |       |      +---------------------------------------------------------------------  np=number of parts (csv)
         |               |         |        |                  |       +----------------------------------------------------------------------------  M=model (from protov)
         |               |         |        |                  +------------------------------------------------------------------------------------  (name)
         |               |         |        +-------------------------------------------------------------------------------------------------------  I=<imei>
         |               |         +----------------------------------------------------------------------------------------------------------------  process ID
         |               +--------------------------------------------------------------------------------------------------------------------------  epoch
         +------------------------------------------------------------------------------------------------------------------------------------------  date/timestamp ISO (Zulu)

beanstalk

  1. clone beanstalk-client into qtripp's directory, cd into that and make. (Apply this fix on macOS.)
  2. in qtripp's Makefile, define BEANSTALK

credits

authors

  • Jan-Piet Mens (@jpmens)
  • Christoph Krey (@ckrey)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.