Автограф
Описание
Модуль используется для получения и обработки пакетов от контроллеров серии АвтоГРАФ (LX,SX,GX) компании Техноком.
Шлюз avtograf-gate реализует TCP-сокетный сервер, к которому могут подключаться контроллеры.
Совместимость
Требуется версия ядра платформы 4.4.
Установка в качестве демона линукс:
Создать директорию /opt/avtograf-gate и поместить в нее avtograf-gate.jar, application.yml
mkdir /opt/avtograf-gate
cp avtograf-gate.jar /opt/avtograf-gate
cp application.yml /opt/avtograf-gate
cp avtograf-gate.conf /opt/avtograf-gate
Создать файл сервиса /etc/systemd/system/avtograf-gate.service следующего содержания:
[Unit]
Description=avtograf-gate
After=syslog.target
[Service]
User=root
Group=root
ExecStart=/opt/avtograf-gate/avtograf-gate.jar
SuccessExitStatus=143
[Install]
WantedBy=multi-user.targetПеречитать список сервисов linux
systemctl daemon-reloadЗапуск и остановку сервиса можно осуществлять стандартынми командами, модуль работает только в режиме 2
service avtograf-gate start
service avtograf-gate status
service avtograf-gate stopЕсли нужно добавить в автозапуск при рестарте, обычно это делается так:
systemctl enable avtograf-gateОграничение памяти в качестве демона
Для установки лимитов памяти нужно создать в директории avtograf-gate.jar файл конфигурации avtograf-gate.conf
и задать в нем нужные лимиты, например:
JAVA_OPTS="-Xms100m -Xmx300m"Запуск
В режиме печати конфигурации приборов Орион-Болид
Используется для получения идентификаторов устройств для создания подключения устройств в типовой конфигурации Inspark
java -jar avtograf-gate.jar printМодель Устройства
Ниже приведены каналы Устройства Автограф в библиотеке Устройств.
- in1 (signal) - Состояние входа 1
- in2 (signal) - Состояние входа 2
- in3 (signal) - Состояние входа 3
- in4 (signal) - Состояние входа 4
- in5 (signal) - Состояние входа 5
- in6 (signal) - Состояние входа 6
- in7 (signal) - Состояние входа 7
- in8 (signal) - Состояние входа 8
- transfer1 (signal) - Данные были переданы на 1 сервер
- transfer2 (signal) - Данные были переданы на 2 сервер
- main-power (signal) - Питание
- backup-power (signal) - Резервное питание
- antenna1 (signal) - Состояние первой антенны
- antenna2 (signal) - Состояние второй антенны
- usb (signal) - Подключение USB
- alarm-button (signal) - Тревожная кнопка
- moto (signal) - Наличие оборотов двигателя
- native-gsm (signal) - Работа в родной сети
- loading (signal) - Погрузка
- gsm (signal) - Есть покрытие GSM
- stop (signal) - Остановка
- high-imp-in (signal) - Состояние высокоомного входа
- battery (signal) - Состояние внутреннего аккумулятора
- transfer3 (signal) - Данные были переданы на 3 сервер
- coord (geotag) - Координаты
- speed-err (signal) - Возможна ошибка скорости
- geosys (snapshot) - Источник координат
- internal-coord (signal) - Внутренний источник координат
- coord-quality (snapshot) - Качество координат
- can01 (snapshot) - Команда управления подключением батареи ПЭАС к высоковольтным шинам электробуса
- can02 (snapshot) - Команда на отключение ПЭАС
- can03 (snapshot) - Сигнал от ЭБУ на разрешение работы ПЭАС
- can04 (snapshot) - Параметр, отражающий статус подключения электробуса к внешнему источнику и/или приёмнику энергии
- can05 (snapshot) - Состояние изоляции высоковольтных шин батареи, определённое пассивным способом
- can06 (snapshot) - Статус контура безопасности высоковольтных подключений
- can07 (snapshot) - Статус сбалансированности ячеек батареи
- can08 (snapshot) - Статус процесса балансировки ячеек
- can09 (snapshot) - Статус подключения батареи к высоковольтным шинам
- can10 (snapshot) - Статус системы
- can11 (snapshot) - Число УАБ, подключенных к высоковольтным шинам ПЭАС
- can12 (snapshot) - Текущее напряжение батареи ПЭАС
- can13 (snapshot) - Текущее значение тока заряда/разряда батареи ПЭАС
- can14 (snapshot) - Приблизительное (оценочное) значение SOC батареи
- can15 (snapshot) - Максимальное напряжение среди ячеек батареи
- can16 (snapshot) - Минимальное напряжение среди ячеек в батарее
- can17 (snapshot) - Номер модуля в батарее, содержащего ячейку с наибольшим напряжением
- can18 (snapshot) - Номер ячейки с наибольшим напряжением в модуле, который такую ячейку содержит
- can19 (snapshot) - Номер модуля в батарее, содержащего ячейку с наименьшим напряжением
- can20 (snapshot) - Номер ячейки с наименьшим напряжением в модуле, который такую ячейку содержит
- can21 (snapshot) - Приблизительное (оценочное) значение SOC батареи
- can22 (snapshot) - Приблизительное (оценочное) значение SOC батареи 22
- can23 (snapshot) - Приблизительное (оценочное) значение SOC батареи 23
- can24 (snapshot) - Приблизительное (оценочное) значение SOC батареи 24
- can25 (snapshot) - Приблизительное (оценочное) значение SOC батареи 25
- can26 (snapshot) - Приблизительное (оценочное) значение SOC батареи 26
- can27 (snapshot) - Максимальная температура ячейки в батарее
- can28 (snapshot) - Минимальная температура ячейки в батарее
- can29 (snapshot) - Напряжение на высоковольтных шинах транспортного средства
- can30 (snapshot) - Напряжение питания зажигания
- can31 (snapshot) - Температура максимально нагретого электронного блока ПЭАС
- can32 (snapshot) - Рабочий статус батареи 1 (УАБ 1) ПЭАС
- can33 (snapshot) - Рабочий статус батареи 2 (УАБ 2) ПЭАС
- can34 (snapshot) - Рабочий статус батареи 3 (УАБ 3) ПЭАС
- can35 (snapshot) - Рабочий статус батареи 4 (УАБ 4) ПЭАС
- can36 (snapshot) - Рабочий статус батареи 5 (УАБ 5) ПЭАС
- can37 (snapshot) - Рабочий статус батареи 6 (УАБ 6) ПЭАС
- can38 (snapshot) - Команда включения нагревателя системы терморегулирования
- can39 (snapshot) - Команда включения насоса охлаждающей жидкости системы терморегулирования
- can40 (snapshot) - Команда включения компрессора охлаждения системы терморегулирования
- can41 (snapshot) - Передача активных диагностических кодов неисправностей
- can42 (signal) - Состояние клеммы К15-1
- can43 (snapshot) - Текущее здоровье батареи ПЭАС, измеряемое в % от первоначального
- can44 (snapshot) - SDO пакет . Запрос к узлу 1
- can45 (snapshot) - SDO пакет . Запрос к узлу 2
- can46 (snapshot) - SDO пакет . Запрос к узлу 3
- can47 (snapshot) - SDO пакет . Запрос к узлу 4
- can48 (snapshot) - SDO пакет . Запрос к узлу 5
- can49 (snapshot) - SDO пакет . Запрос к узлу 6
- can50 (snapshot) - SDO пакет . Ответ от узла 1
Настройка модуля
Настройка модуля производится в файле application.yml.
Настройки позволяют выбрать профиль логирования (console - вывод в консоль, file - вывод в файл).
spring:
profiles:
# console - вывод в консоль, file - вывод в файлы logs/logN с ротацией по размеру
active: consoleСледует задать настройки подключения к рест-сервисам inspark и идентификатор внешней системы (провайдера данных чьи устройства будут обслуживаться)
# подключение к рест-сервисам inspark (должен заканчиваться слэшем)
rest:
url: http://localhost:8080/sem-restservices/
user: root
password: masterkey
extSystemId: AVTOGRAF-GATEСледует задать порт подключения к сокет-серверу для приема данных автографа (nio.port). Так же следует указать 8-ми байтный пароль (nio.password), который прошивается в устройство для доступа к серверу в конфигураторе. Этот шлюз его тоже проверяет. Остальные настройки желательно не трогать, чтоб ноги себе не поотстреливать. Пример секции nio:
nio:
# Порт подключения к серверу NIO
port: 9090
# Количество параллельных потоков обработки сообщений сервера NIO.
worker-threads: 8
# Размер буфера сообщений
buffer-size: 4096
# таймаут неактивности клиента (секунд), по прошествии которого соединение с клиентом будет закрыто
idle-timeout-sec: 3600
# пароль для доступа к нашему серверу (8 символов, программируется в устройство)
password: testtestНастройки событий
Для событий следует настроить сопоставление событий в платформе. Для этого в платформе в справочнике событий требуется завести события и подставить их идентификаторы в файле настроек (application.yml) соответствующим событиям автограф. Если для события автограф не указывать события платформы - формироваться оно не будет. Текст события формируется в шлюзе, поэтому в событии платформы его можно получить в подстановке %EXT_INFO%.
# идентификаторы событий в инспарк в которое будут отправлены на соответствующие события автограф
# в случае если значение для события не задано - отправляться оно не будет
events:
# Аварийный пересброс приемника
event3: 3016
# Аварийное выключение GSM модема
event7: ${events.event3}
# CME/CMS ошибка модема
event8: ${events.event3}
# Приемник переведен в спящий режим
event32: ${events.event3}
# Приемник переведен в рабочий режим
event33: ${events.event3}
# Прибор переведен в спящий режим
event34: ${events.event3}
# Прибор переведен в рабочий режим
event35: ${events.event3}
# Вход в роуминг
event36: ${events.event3}
# Выход из роуминга
event37: ${events.event3}
# Включение питания GPS приемника
event38: ${events.event3}
# Выключение питания GPS приемника
event39: ${events.event3}
# Зарегистрирован в сети GSM
event40: ${events.event3}
# Потеря регистрации в сети GSM
event41: ${events.event3}
# Включение питания GSM модема
event42: ${events.event3}
# Выключение питания GSM модема
event43: ${events.event3}
# Успешное определение позиции по вышкам
event44: ${events.event3}
# Загружены AGPS данные для приемника
event45: ${events.event3}
# Отправлена информация о видимых вышках в Яндрекс-локатор
event46: ${events.event3}
# Завершена отправка данных на сервер
event47: ${events.event3}
# Приемник определил позицию
event48: ${events.event3}
# Приемник потерял позицию
event49: ${events.event3}
# Регистрация в сети GPRS
event51: ${events.event3}
# Потеря регистрации в сети GPRS
event52: ${events.event3}
# Переключиние сим-карты
event59: ${events.event3}
# Выбрана сеть для регистрации
event60: ${events.event3}
# Доступна сеть для регистрации
event61: ${events.event3}
# Сеть забанена
event62: ${events.event3}
# Модем зарегистрировался в сети, отличной от выбранной для регистрации
event63: ${events.event3}
# Включение трекера (AGTR, AGMB)
event64: ${events.event3}
# Перезапуск прибора по WDT
event67: ${events.event3}
# Разряд батареи
event69: ${events.event3}
# Переключение питания/перезагрузка
event70: ${events.event3}
# Сброс кэша DNS
event85: ${events.event3}
# Удар
event94: ${events.event3}
# Падение
event95: ${events.event3}
# Антенна GPS (глонасс) подключена
event128: ${events.event3}
# Антенна GPS (глонасс) отключена
event129: ${events.event3}
# Короткое замыкание в антенне GPS
event130: ${events.event3}
# Температура прибора нормальная
event131: ${events.event3}
# Температура прибора выше нормы
event132: ${events.event3}
# Температура прибора не рабочая
event133: ${events.event3}
# Глушение канала GSM
event134: ${events.event3}
# Удар по прибору (или автомобилю) - ускорение составило более 2g
event135: ${events.event3}
# Неработоспособность акселерометра
event136: ${events.event3}
# Коррекция времени во встроенном таймере
event137: ${events.event3}
# Начата удаленная перепрошивка прибора
event138: ${events.event3}
# Завершена удаленная перепрошивка прибора
event139: ${events.event3}
# Ошибка при удаленной перепрошивке прибора
event140: ${events.event3}
# Работа с фотографиями
event141: ${events.event3}
# Работа с WIFI
event142: ${events.event3}
# Сделан снимок
event143: ${events.event3}
# Перекалибровка акселерометра
event144: ${events.event3}
# Изменение состояния ЗУ
event145: ${events.event3}
# События WIFI Reader
event146: ${events.event3}
# События обновления списка карт
event147: ${events.event3}
# События транскодера
event148: ${events.event3}
# Обновление основного загрузчика началось
event149: ${events.event3}
# Обновление основного загрузчика закончилось
event150: ${events.event3}
# Ошибка обновления основного загрузчика
event151: ${events.event3}
# Ошибка интерфейса i2c
event152: ${events.event3}
# Ошибка интерфейса CAN
event153: ${events.event3}
# Ошибка последовательного интерфейса UART
event154: ${events.event3}
# Сработка настроенного события
event155: ${events.event3}
# Перезапуск прибора
event241: ${events.event3}
# Суточный перезапуск прибора
event242: ${events.event3}