Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
78 lines (61 sloc) 6.77 KB

glonassd

Сервер для GPS/GLONASS трекеров, работающий в операционной системе Debian.

Краткое описание

glonassd это линукс-демон, принимающий данные от GPS / GLONASS трекеров и сохраняющий их в базу данных.
Демон написан на языке C, собран компилятором gcc 4.9.2 для x86_64-linux-gnu (64-битная версия).

Протоколы

Принимаемые: Arnavi, Galileo (все версии), GPS101-GPS103, SAT-LITE / SAT-LITE2, Wialon IPS, Wialon NIS (SOAP / Олимпстрой), ЕГТС (ЭРА-ГЛОНАСС).
Передаваемые (пересылка): все принимаемые без перекодирования или перекодирование в протокол Wialon NIS или ЕГТС.
Протоколы реализованы и могут быть добавлены подключением библиотек без перекомпиляции демона.

База данных

На текущий момент используется PostgreSQL
БД могут быть добавлены подключением библиотек без перекомпиляции демона.

Возможности

  • Пересылка данных трекеров на сторонние сервера с перекодированием или без него.
  • Хранение данных на время обрыва связи со сторонними серверами, отправка после восстановления связи.
  • Автоматическое восстановление связи со сторонними серверами в случае её потери.
  • Максимальное количество ретрансляций: до 3 серверов для каждого терминала.
  • Выполнение задач (скриптов) по расписанию (таймеру), максимально 5 таймеров.
  • Простая настройка двумя .conf файлами.
  • Возможность добавления протоколов терминалов или баз данных подключаемыми библиотеками без перекомпиляции демона.

Компиляция

make all компиляция демона + библиотеки БД + библиотеки терминалов
make glonassd компиляция только демона без библиотек
make pg компиляция библиотеки базы данных (PostgreSQL)
make name компиляция библиотеки протокола терминала name

Замечание: если происходит ошибка "/usr/bin/ld: cannot find -lpq", выполнить команду: apt-get install libpq-dev

Установка

Создать папку для демона и скопировать в неё файлы glonassd, *.so, *.sql, или использовать папку сборки демона.
Создать папки forward и logs в папке демона.
В базе данных PostgreSQL создать таблицу "tgpsdata" (см. скрипт tgpsdata.sql).
Если работает фаерволл, разрешить входящие подключения на портах демона (см. файл glonassd.conf).

Настройка

В файле glonassd.conf в секции server изменить значения параметров:
listen - IP адрес входящих подключений
transmit - IP адрес с которого производится ретрансляция
log_file - полный путь к лог-файлу
db_host, db_port, db_name, db_schema, db_user, db_pass - параметры подключения к БД PostgreSQL
Закомментировать или раскомментировать секции протоколов терминалов в зависимости от используемых и указать порты для подключения терминалов.

Для включения ретрансляции терминалов изучить комментарии в секции forward в файле glonassd.conf.
Для включения задач по расписанию изучить комментарии к параметру timer в секции server в файле glonassd.conf.

Запуск

Командой ./glonassd start из папки с демоном, параметры stop или restart для остановки или перезапуска.
Параметр -c path/to/config/file используется для указания файла настроек, находящегося в другой папке.
Если демон уже настроен для автоматического старта, команды service glonassd start и service glonassd stop запускают и останавливают сервис.

Автозапуск при старте системы

Отредактировать значение переменной DAEMON в файле glonassd.sh, указав полный путь к файлу glonassd.
Cкопировать файл glonassd.sh в папку /etc/init.d.
Сделать этот файл исполняемым командой chmod 0755 /etc/init.d/glonassd.sh.
Командами systemctl daemon-reload и update-rc.d glonassd.sh defaults разрешить автоматический запуск демона.

Отключить автозапуск при старте системы

Командой update-rc.d -f glonassd.sh remove запретить автоматический запуск демона без удаления файла glonassd.sh.
Удалить файл /etc/init.d/glonassd.sh и командой systemctl daemon-reload очистить информацию о демоне в системе.

Лицензия

glonassd это открытое ПО под лицензией MIT.

Документация и API

Документация в процессе написания.

Автор

Федоров Андрей, Курган, Россия.
mailto:mail@locman.org

Эпилог

Демон glonassd это часть навигационного сервиса locman.org.