Added support for handling various payload types, including GPS and alarms, with new structures and constants. Introduced helper methods for JSON marshalling/unmarshalling of GPS data and modularized the handling of certificates, configurations, and alarms. Implemented foundational server code for testing and expanded several package functionalities.
336 lines
8.1 KiB
Go
336 lines
8.1 KiB
Go
package n9m
|
||
|
||
// 7.2
|
||
type RIP struct {
|
||
DEVID string // ID номер устройства
|
||
BN string // бортовой номер
|
||
BID string // гос. номер
|
||
LN string // Название линии
|
||
DID string // номер водительского удостоверения
|
||
DNAME string // ФИО водителя
|
||
}
|
||
|
||
type VS struct {
|
||
VIN string // VIN номер
|
||
}
|
||
|
||
type TIMEP struct {
|
||
DATEM int // формат даты
|
||
TIMEM int // формат времени
|
||
TIMEZ string // часовой пояс
|
||
}
|
||
|
||
type ATP struct {
|
||
GE int // Синхронизация времени при помощи ГНСС
|
||
NE int // Синхронизация времени при помощи NTP
|
||
NS string // NTP сервер для синхронизации
|
||
}
|
||
|
||
type SSP struct {
|
||
UPT int // вкл/выкл
|
||
DDS int // задержка перед выключением (при выборе зажигания)
|
||
UH int // час включения
|
||
UM int // минута включения
|
||
US int // минута включения
|
||
DH int // час выключения
|
||
DM int // минута выключения
|
||
DS int // секунда выключения
|
||
CPM int // время выключения света
|
||
}
|
||
|
||
type SWUS struct {
|
||
IOWP int // Включение через IO
|
||
GSWP int // включение через G-сенсор
|
||
TX string // порог по X для G-сенсорa
|
||
TY string // порог по Y для G-сенсорa
|
||
TZ string // порог по Z для G-сенсорa
|
||
RTWP int // удаленное включение
|
||
PHWP int // включение через телефон
|
||
PTWP int // включение через SMS
|
||
}
|
||
|
||
type UMP struct {
|
||
UIF []UIF // список юзеров
|
||
}
|
||
|
||
type UIF struct {
|
||
UN string // username
|
||
PW string // password
|
||
UR int // level
|
||
}
|
||
|
||
type SUBSTRNET struct {
|
||
NEC []NEC
|
||
RLE int
|
||
SAE int
|
||
SM int // Качество дополнительных потоков
|
||
TOTALBW int // Максимальная скорость интернета
|
||
}
|
||
|
||
type NEC struct {
|
||
AEN int // звук (вкл/выкл)
|
||
VEN int // видео (вкл/выкл)
|
||
BR int // битрейт
|
||
ECT int // кодировка
|
||
FR int // фреймрейт
|
||
FT int // тип кадров
|
||
QLT int // качество трансляции
|
||
RST int // разрешение
|
||
}
|
||
|
||
type DOSD struct {
|
||
CHN []string // названия каналов
|
||
}
|
||
|
||
type AR struct {
|
||
HDAE int // Двойная запись на жесткий диск
|
||
HID int // выбрать место для записи резервного потока
|
||
RM int // режим записи резервного потока
|
||
VEC []VEC // параметры суб. потоков
|
||
}
|
||
|
||
type VEC struct {
|
||
VEN int // видео (вкл/выкл)
|
||
RST int // разрешение видеопотока
|
||
ECT int // кодировка
|
||
FR int // фреймрейт
|
||
QLT int // качество записи
|
||
AEN int // звук (вкл/выкл)
|
||
ALT int // качество видео при тревоге
|
||
}
|
||
|
||
type EOSD struct {
|
||
COSD []COSD
|
||
DE int // показывать ли ID регистратора
|
||
DTE int
|
||
DX int
|
||
DY int
|
||
GE int // показывать ли GPS
|
||
GX int
|
||
GY int
|
||
NE int // показывать ли название канала
|
||
NX int
|
||
NY int
|
||
SE int // показывать ли скорость
|
||
SX int
|
||
SY int
|
||
TE int // показывать ли время
|
||
TX int
|
||
TY int
|
||
VE int // показывать ли номер устройства
|
||
VX int
|
||
VY int
|
||
WME int
|
||
}
|
||
|
||
type COSD struct {
|
||
EN int
|
||
F int
|
||
ID int
|
||
L int
|
||
T string
|
||
TP int
|
||
X int
|
||
Y int
|
||
}
|
||
|
||
type IOP struct {
|
||
EN int
|
||
AS int
|
||
EL int
|
||
SDT int
|
||
APR APR
|
||
}
|
||
|
||
type SAP struct {
|
||
EN int
|
||
AS int
|
||
WP int
|
||
SV int
|
||
AT int
|
||
APR APR
|
||
UN int
|
||
}
|
||
|
||
type APR struct {
|
||
AR ARR
|
||
SS SS
|
||
ET int
|
||
}
|
||
|
||
type ARR struct {
|
||
CH int
|
||
D int
|
||
}
|
||
|
||
type SS struct {
|
||
EN int
|
||
}
|
||
|
||
type UAP struct {
|
||
EN int
|
||
AS int
|
||
VT int
|
||
SDT int
|
||
}
|
||
|
||
type PVLAS struct {
|
||
EN int
|
||
AS int
|
||
SDT int
|
||
CH int
|
||
}
|
||
|
||
type PMDAS struct {
|
||
EN int
|
||
AS int
|
||
SDT int
|
||
CH int
|
||
}
|
||
|
||
type DSM struct {
|
||
DSMA int
|
||
DSMFE int
|
||
RWFE int
|
||
}
|
||
|
||
type GSP struct {
|
||
LANT int // Язык системы
|
||
GM int // Система геопозиционирования
|
||
}
|
||
|
||
type ETHERNET struct {
|
||
IPMODE int // Тип IP
|
||
PIP PIP // Параметры IP
|
||
DNSMODE int // Автоматическое получение DNS
|
||
DNS DNS // Параметры DNS
|
||
KEYS KEYS
|
||
}
|
||
|
||
type PIP struct {
|
||
IPADDR string // IP адрес
|
||
SUBMASK string // Маска подсети
|
||
GATEWAY string // Шлюз сети
|
||
}
|
||
|
||
type DNS struct {
|
||
PDNS string // Основной DNS
|
||
ADNS string // Дополнительный DNS
|
||
}
|
||
|
||
type KEYS struct {
|
||
MAC string `json:"MAC,omitempty"` // MAC-адрес
|
||
GV uint `json:"GV,omitempty"` // GPS version
|
||
}
|
||
|
||
type WIFI struct {
|
||
ENABLE int // Статус WIFI
|
||
ESSID string // Название точки доступа
|
||
ECRYPTTYPE int // Тип защиты WIFI
|
||
PWD string // Пароль от WIFI
|
||
IPMODE int // Вид IP
|
||
PIP PIP // Параметры IP
|
||
}
|
||
|
||
type M3G struct {
|
||
M3M M3M // Управление активацией
|
||
MP MP // Параметры первого модуля связи
|
||
M4G MP // Параметры второго модуля связи
|
||
}
|
||
|
||
type M3M struct {
|
||
AT int // Режим работы модуля связи
|
||
TN1 string // Номер активации 1
|
||
TN2 string // Номер активации 2
|
||
TN3 string // Номер активации 3
|
||
}
|
||
|
||
type MP struct {
|
||
NM int // Выбор соединения
|
||
APN string // APN
|
||
UN string // Логин
|
||
PW string // Пароль
|
||
}
|
||
|
||
type MCMS struct {
|
||
M int // Битовая маска включенных серверов
|
||
SP []SP // Параметры сервера
|
||
}
|
||
|
||
type SP struct {
|
||
EN int // Статус сервера
|
||
CP int // Протокол подключения
|
||
NWT int // Способ подключения
|
||
CS string // Адрес сервера
|
||
MS string // Адрес медиасервера
|
||
CPORT int // TCP-порт сервера
|
||
MPORT int // TCP-порт медиасервера
|
||
CUPORT int // UDP-порт сервера
|
||
MUPORT int // UDP-порт медиасервера
|
||
}
|
||
|
||
// 7.30
|
||
type PGDSM struct {
|
||
PGPS PGPS `json:"PGPS,omitempty"`
|
||
PDSM PDSM `json:"PDSM,omitempty"`
|
||
}
|
||
|
||
// 7.30.1
|
||
// GPS (position) status parameter
|
||
type PGPS struct {
|
||
EN uint // Enable
|
||
MODE uint
|
||
SEP uint `json:"SEP,omitempty"`
|
||
TM uint `json:"TM,omitempty"`
|
||
NUM uint `json:"NUM,omitempty"`
|
||
}
|
||
|
||
// 7.30.2
|
||
type PDSM struct {
|
||
}
|
||
|
||
// 7.39.3.9
|
||
// Platform basic information
|
||
type PSI struct {
|
||
CG CG `json:"CG,omitempty"`
|
||
}
|
||
|
||
// 7.39.3.8
|
||
// Total record information for call
|
||
type CG struct {
|
||
ECL uint // The maximum calling time
|
||
ECML uint // The maximum calling time per month
|
||
AS uint // Terminal phonecall answering strategy
|
||
AT uint // Answer automatically when exceed time
|
||
}
|
||
|
||
type Setting struct {
|
||
KEYS KEYS `json:"KEYS,omitempty"`
|
||
RIP RIP `json:"RIP,omitempty"`
|
||
TIMEP TIMEP `json:"TIMEP,omitempty"`
|
||
ATP ATP `json:"ATP,omitempty"`
|
||
SSP SSP `json:"SSP,omitempty"`
|
||
GSP GSP `json:"GSP,omitempty"`
|
||
UMP UMP `json:"UMP,omitempty"`
|
||
ETHERNET ETHERNET `json:"ETHERNET,omitempty"`
|
||
WIFI WIFI `json:"WIFI,omitempty"`
|
||
M3G M3G `json:"M3G,omitempty"`
|
||
MCMS MCMS `json:"MCMS,omitempty"`
|
||
SUBSTRNET SUBSTRNET `json:"SUBSTRNET,omitempty"`
|
||
DOSD DOSD `json:"DOSD,omitempty"`
|
||
AR AR `json:"AR,omitempty"`
|
||
MAIN []VEC `json:"MAIN,omitempty"`
|
||
EOSD []EOSD `json:"EOSD,omitempty"`
|
||
IOP []IOP `json:"IOP,omitempty"`
|
||
SAP SAP `json:"SAP,omitempty"`
|
||
UAP UAP `json:"UAP,omitempty"`
|
||
PGDSM PGDSM `json:"PGDSM,omitempty"`
|
||
PVLAS PVLAS `json:"PVLAS,omitempty"`
|
||
PMDAS PMDAS `json:"PMDAS,omitempty"`
|
||
VS VS `json:"VS,omitempty"`
|
||
PSI PSI `json:"PSI,omitempty"`
|
||
|
||
SWUS SWUS `json:"SWUS,omitempty"`
|
||
DSM DSM `json:"DSM,omitempty"`
|
||
}
|