Git Product home page Git Product logo

glonassd's Introduction

This file by Russian

glonassd

GPS/GLONASS tracker server for Debian

About

glonassd is a linux daemon that receives data from a GPS / GLONASS trackers, processing and preserving them in a database.
Written in C, сompiled with gcc 6.3.0 for x86_64-linux-gnu.

Tracker protocols

Receiving: Arnavi-4/5, Galileo (all versions), GPS101-GPS103, SAT-LITE / SAT-LITE2, Wialon IPS, Wialon NIS (SOAP / Olympstroy), EGTS (ERA-GLONASS), TQ GPRS (H02).
Sending (forwarding): all receiving without reencode or reencode to EGTS, Wialon NIS, WialonIPS, Galileo.
Protocols can be added using plug libraries.

Database

PostgreSQL
Redis
Oracle
Databases can be added using plug libraries.

Features

  • Data transfer on the fly to another server with transcoding to a different protocol (to Wialon NIS or EGTS only) or without transcoding.
  • Automatic restoration of connections to the remote server when the connection is broken.
  • Storing data at the time of connection failure with the remote server and sending the stored data after the restoration of communication.
  • The maximum number of relay servers: 3 for each terminal.
  • Perform scheduled tasks (maximum 5 timers).
  • Easy configuration using two .conf files (Examples: glonassd.conf, forward.conf)
  • Extensibility through plug libraries without recompilation daemon.
  • Run in daemon or simple application mode

Compilation

make all for compile daemon + database library + terminals libraries
make glonassd for compile daemon only
make pg for compile database (PostgreSQL) library
make name for compile terminal name library

Additional information about threed party libraries

Installation

Create folder for daemon an copy in it files **glonassd, .so, .sql, or use folder where project compiled.
In you PostgreSQL database create table "tgpsdata" (see script tgpsdata.sql).
If you use firewall, enable ports for incoming terminal connections.

Configuration

In glonassd.conf file in server section edit values for:
listen - IP addres listen trackers interface
transmit - IP addres retranslation to remote server interface
log_file - full path to log file
db_host, db_port, db_name, db_schema, db_user, db_pass - parameters for you PostgreSQL database
Comment or uncomment terminals sections for used terminals and edit listeners ports.

For forwarding terminals data to remote server see comments in forward section of the glonassd.conf file.
For schedule database tasks see comments about timer parameter in server section of the glonassd.conf file.

Run

From daemon folder use ./glonassd start command for start in console mode, CTRL+C for stop.
Use -d parameter for start in daemon mode.
Use -c path/to/config/file parameter for config file not in daemon folder.
If daemon configured as automatically startup, use service glonassd start and service glonassd stop for start/stop if needded.

Autostart configure

Edit DAEMON variable in glonassd.sh file for correct path to daemon folder.
Copy glonassd.sh file in /etc/init.d folder.
Use chmod 0755 /etc/init.d/glonassd.sh for make it executable.
Use systemctl daemon-reload and update-rc.d glonassd.sh defaults for enable autostart daemon.
Use update-rc.d -f glonassd.sh remove for diasble autostart without delete glonassd.sh file.
Delete /etc/init.d/glonassd.sh file and use systemctl daemon-reload for fully cleanup daemon info.

License

The glonassd is open-sourced software licensed under the MIT license.

Documentation and API

Documentation to be written.

Author

Andrey Fedorov, Kurgan, Russia.
mailto:[email protected]

Epilog

This daemon is part of navigation service of locman.org.

Fixes

12.06.2020

  • Fixed receiving big data (from other servers)
  • EGTS protocol fixed
  • CPU usage improved
  • Redis database added

01.05.2021

  • Added TQ GPRS (H02) receiver protocol (SinoTrack ST-901 device)
  • Added WialonIPS retranslation protocol
  • Added Galileo retranslation protocol
  • Small fixes

13.11.2021

  • Added library for working with Oracle database
  • Improved logs in databases libraries

04.04.2022

  • Added processing of CT_MSGTO, CT_MSGFROM EGTS_COMMANDS_SERVICE messages of the EGTS protocol

17.04.2022

  • Added GoSafe protocol (Gosafe G*/Proma Sat G* devices)

glonassd's People

Contributors

fandrej avatar

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.