Files
iistwin/client/src/pages/gps/tracker-guides.ts

374 lines
19 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* Статический справочник по настройке GPS-трекеров (вкладка «Инструкции»).
* Дерево: категории → устройства/протоколы. Порты соответствуют реально
* открытым на сервере портам Traccar (5023 GT06, 5027 Teltonika, 5001 GPS103,
* 5013 H02, 5036 Suntech, 5055 OsmAnd/HTTP).
*
* В текстах и SMS-командах плейсхолдер {host} заменяется в UI на
* window.location.hostname (для iistwin.ru резолвится в IP сервера).
*/
export interface TrackerGuideSms {
/** Текст SMS-команды (с плейсхолдером {host}) */
command: string;
description: string;
}
export interface TrackerGuideItem {
id: string;
/** Название устройства/протокола */
name: string;
/** Порт сервера Traccar */
port: number;
/** Протокол Traccar */
protocol: string;
/** Шаги настройки (нумерованный список) */
steps: string[];
/** SMS-команды (опционально) */
sms?: TrackerGuideSms[];
/** Примечания (muted-текст) */
notes?: string[];
}
export interface TrackerGuideCategory {
id: string;
name: string;
description?: string;
items: TrackerGuideItem[];
}
const APN_NOTE =
'APN оператора: internet.mts.ru (МТС), internet.beeline.ru (Билайн), internet.tele2.ru (Tele2), internet.megafon.ru (МегаФон)';
export const TRACKER_GUIDES: TrackerGuideCategory[] = [
{
id: 'gt06',
name: 'Автомобильные трекеры (GT06)',
description: 'Самый массовый протокол китайских трекеров — Concox, Coban, Jimi и клоны',
items: [
{
id: 'sinotrack-st901l',
name: 'SinoTrack ST-901L (4G)',
port: 5013,
protocol: 'H02 (НЕ GT06!)',
steps: [
'Вставьте в трекер SIM-карту с отключённым PIN-кодом и мобильным интернетом',
'Возьмите ID с наклейки на устройстве (10–11 цифр, например 9171040344) — это логин трекера',
'В CRM создайте объект (/gps → Объекты → Добавить) и укажите этот ID в поле «IMEI / ID трекера»',
'Настройте трекер SMS-командами ниже: APN → сервер с портом 5013 → интервал отправки',
'Проверьте настройки командой 8020000 — в ответе должен быть сервер и порт 5013',
'Выведите трекер на открытое небо — через 1–2 минуты объект появится на карте',
],
sms: [
{ command: '8030000 {apn}', description: 'Установить APN оператора (например: 8030000 internet.mts.ru)' },
{ command: '8040000 {host} 5013', description: 'Сервер и порт — для ST-901L именно 5013 (протокол H02), а не 5023' },
{ command: '8090000 0 60', description: 'Интервал отправки координат — 60 сек при выключенном зажигании' },
{ command: '8020000', description: 'Проверка настроек: ответ содержит ID, APN, сервер и порт' },
{ command: '7100000', description: 'Статус устройства и текущие координаты' },
],
notes: [
'0000 — заводской SMS-пароль SinoTrack (не 123456, как у большинства GT06)',
'Проверено на реальном устройстве (2026-08-25): ST-901L говорит протоколом H02 — порт 5013. На порту 5023 (GT06) пакеты приходят, но не декодируются',
'Встречаются прошивки ST-901L на GT06: если на 5013 данных нет — попробуйте 5023, затем 5001',
'Если объект не становится online: при отсутствии GPS-фикса трекер шлёт устаревшее время — выведите его на открытое небо',
'Домен в команде 8040000 работает (DNS резолвится трекером), но надёжнее IP сервера',
APN_NOTE,
],
},
{
id: 'concox-gt06n',
name: 'Concox GT06N / GT06E',
port: 5023,
protocol: 'GT06',
steps: [
'Вставьте в трекер SIM-карту с отключённым PIN-кодом и включённым мобильным интернетом',
'Узнайте IMEI устройства (наклейка на корпусе или команда check123456)',
'Настройте трекер SMS-командами ниже: APN → сервер → включение GPRS',
'В CRM создайте объект (/gps → Объекты → Добавить) и укажите IMEI в поле «IMEI / ID трекера»',
'Подайте питание на трекер — через 1–2 минуты объект появится на карте',
],
sms: [
{ command: 'apn123456 {apn}', description: 'Установить APN оператора (например: apn123456 internet.mts.ru)' },
{ command: 'adminip123456 {host} 5023', description: 'Сервер и порт (вместо {host} — адрес сервера или IP)' },
{ command: 'gprs123456', description: 'Включить передачу по GPRS' },
{ command: 'check123456', description: 'Проверка настроек: ответ содержит IMEI, APN, сервер' },
],
notes: [
'123456 — заводской SMS-пароль по умолчанию; если меняли — подставьте свой',
APN_NOTE,
],
},
{
id: 'coban-gps303',
name: 'Coban GPS303',
port: 5023,
protocol: 'GT06',
steps: [
'Вставьте SIM-карту без PIN-кода',
'Отправьте SMS-команды настройки APN и сервера',
'Создайте объект в CRM с IMEI трекера',
'Проверьте статус командой check123456 — в ответе должен быть адрес сервера',
],
sms: [
{ command: 'apn123456 {apn}', description: 'Установить APN оператора' },
{ command: 'adminip123456 {host} 5023', description: 'Сервер и порт' },
{ command: 'gprs123456', description: 'Включить GPRS-режим' },
{ command: 'check123456', description: 'Проверка текущих настроек' },
],
notes: [
'У Coban встречаются прошивки с другим набором команд — если apn123456 не принимается, попробуйте формат APN,123456,{apn}#',
APN_NOTE,
],
},
{
id: 'jimi-jm01',
name: 'Jimi / Concox JM01',
port: 5023,
protocol: 'GT06',
steps: [
'Вставьте SIM-карту, включите трекер',
'Настройте APN и сервер SMS-командами',
'Создайте объект в CRM с IMEI трекера',
],
sms: [
{ command: 'apn123456 {apn}', description: 'Установить APN оператора' },
{ command: 'adminip123456 {host} 5023', description: 'Сервер и порт' },
{ command: 'gprs123456', description: 'Включить GPRS' },
{ command: 'check123456', description: 'Проверка настроек' },
],
notes: ['JM01 — видеотрекер; по GT06 передаются координаты, видео настраивается отдельно', APN_NOTE],
},
{
id: 'gt06-generic',
name: 'Любой GT06-совместимый трекер',
port: 5023,
protocol: 'GT06',
steps: [
'Узнайте IMEI устройства',
'По инструкции вендора задайте APN и адрес сервера {host}, порт 5023',
'Включите передачу данных по GPRS/TCP',
'Создайте объект в CRM с этим IMEI',
],
notes: [
'GT06 — протокол сотен безымянных китайских трекеров; SMS-команды у каждого вендора свои, смотрите документацию устройства',
'Частые варианты команд сервера: adminip123456, IP123456, pw,123456,ip,...# (формат H02)',
APN_NOTE,
],
},
],
},
{
id: 'teltonika',
name: 'Teltonika',
description: 'Профессиональные трекеры, настройка через Teltonika Configurator',
items: [
{
id: 'teltonika-fmb920',
name: 'Teltonika FMB920',
port: 5027,
protocol: 'Teltonika (FMB)',
steps: [
'Подключите трекер к ПК и откройте Teltonika Configurator',
'Перейдите на вкладку GPRS',
'Domain: {host} (или IP сервера), Port: 5027, Protocol: TCP',
'APN: APN вашего оператора (internet.mts.ru / internet.beeline.ru / ...)',
'Сохраните конфигурацию в устройство (Save to device)',
'Создайте объект в CRM с IMEI трекера',
],
notes: [APN_NOTE, 'Записи сначала накапливаются во флэш-памяти и выгружаются пачками — первая точка может появиться с задержкой'],
},
{
id: 'teltonika-fmb125',
name: 'Teltonika FMB125',
port: 5027,
protocol: 'Teltonika (FMB)',
steps: [
'Откройте Teltonika Configurator, вкладка GPRS',
'Domain: {host}, Port: 5027, Protocol: TCP',
'Укажите APN оператора и сохраните в устройство',
'Создайте объект в CRM с IMEI трекера',
],
notes: [APN_NOTE],
},
{
id: 'teltonika-fmc130',
name: 'Teltonika FMC130',
port: 5027,
protocol: 'Teltonika (FMB)',
steps: [
'Откройте Teltonika Configurator, вкладка GPRS',
'Domain: {host}, Port: 5027, Protocol: TCP',
'Укажите APN оператора и сохраните в устройство',
'Создайте объект в CRM с IMEI трекера',
],
notes: [APN_NOTE, 'FMC130 — 4G/LTE: убедитесь, что SIM поддерживает LTE-данные'],
},
],
},
{
id: 'gps103',
name: 'GPS103 / TK-серия',
description: 'TK-102/103, Xexun и совместимые',
items: [
{
id: 'tk103',
name: 'TK-102 / TK-103',
port: 5001,
protocol: 'GPS103',
steps: [
'Вставьте SIM-карту без PIN-кода',
'Отправьте SMS-команды: begin → APN → сервер',
'Создайте объект в CRM с IMEI трекера',
],
sms: [
{ command: 'begin123456', description: 'Сброс к заводским настройкам' },
{ command: 'apn123456 {apn}', description: 'Установить APN оператора' },
{ command: 'adminip123456 {host} 5001', description: 'Сервер и порт' },
],
notes: ['123456 — пароль по умолчанию', APN_NOTE],
},
{
id: 'xexun',
name: 'Xexun (TK-совместимые)',
port: 5001,
protocol: 'GPS103',
steps: [
'Настройте APN и сервер SMS-командами',
'Создайте объект в CRM с IMEI трекера',
],
sms: [
{ command: 'begin123456', description: 'Сброс к заводским настройкам' },
{ command: 'apn123456 {apn}', description: 'Установить APN оператора' },
{ command: 'adminip123456 {host} 5001', description: 'Сервер и порт' },
],
notes: [APN_NOTE],
},
],
},
{
id: 'h02',
name: 'H02-совместимые',
description: 'Китайские трекеры и часы с протоколом H02',
items: [
{
id: 'h02-generic',
name: 'H02-совместимый трекер / часы',
port: 5013,
protocol: 'H02',
steps: [
'Вставьте SIM-карту с мобильным интернетом',
'Отправьте SMS с адресом сервера в формате ниже',
'Создайте объект в CRM с IMEI устройства',
],
sms: [
{ command: 'pw,123456,ip,{host},5013#', description: 'Сервер и порт (пароль 123456)' },
],
notes: [
'Формат SMS зависит от прошивки: у части устройств команда выглядит как pw,123456,ip,{host},5013# — у других иначе, сверяйтесь с документацией',
APN_NOTE,
],
},
],
},
{
id: 'suntech',
name: 'Suntech',
description: 'ST300/ST310 и совместимые',
items: [
{
id: 'suntech-st300',
name: 'Suntech ST300 / ST310',
port: 5036,
protocol: 'Suntech',
steps: [
'Откройте Suntech-конфигуратор (или настройте по SMS по документации вендора)',
'Укажите сервер: {host}, порт 5036',
'Укажите APN оператора',
'Создайте объект в CRM с идентификатором устройства',
],
notes: [APN_NOTE, 'Идентификатор Suntech — Device ID из конфигуратора (обычно совпадает с IMEI)'],
},
],
},
{
id: 'smartphone',
name: 'Смартфон как трекер',
description: 'Приложения, шлющие координаты по HTTP (порт 5055, протокол OsmAnd)',
items: [
{
id: 'traccar-client',
name: 'Traccar Client (Android / iOS)',
port: 5055,
protocol: 'OsmAnd (HTTP)',
steps: [
'Установите Traccar Client из магазина приложений',
'Server URL: http://{host}:5055',
'Device identifier: IMEI/ID из карточки объекта в CRM (сначала создайте объект и задайте ID)',
'Частота отправки (Frequency): 60 секунд',
'Включите сервис в приложении — точки пойдут на карту',
],
notes: [
'Рекомендуемый способ для смартфона: работает в фоне',
'Device identifier придумываете сами (например, ivan-phone) — он же указывается в поле «IMEI / ID трекера» объекта в CRM',
],
},
{
id: 'gpslogger',
name: 'GPSLogger (Android)',
port: 5055,
protocol: 'OsmAnd (HTTP)',
steps: [
'Установите GPSLogger, откройте настройки отправки (Logging → Custom URL)',
'Custom URL: http://{host}:5055/?id=<ID>&lat=%LAT&lon=%LON&speed=%SPD&bearing=%BRR&timestamp=%TIMESTAMP',
'<ID> — идентификатор объекта в CRM (поле «IMEI / ID трекера»)',
'Включите запись трека в приложении',
],
notes: ['Бесплатный, open source; работает в фоне'],
},
{
id: 'owntracks',
name: 'OwnTracks',
port: 5055,
protocol: 'OsmAnd (HTTP)',
steps: [
'Переведите OwnTracks в режим HTTP',
'URL: http://{host}:5055/?id=<ID>',
'<ID> — идентификатор объекта в CRM',
],
notes: [
'Совместим частично (шлёт не все поля OsmAnd-формата) — приоритет у Traccar Client',
],
},
],
},
{
id: 'pwa',
name: 'Без устройства (PWA)',
description: 'Встроенный трекинг прямо из браузера/PWA — ничего устанавливать не нужно',
items: [
{
id: 'pwa-tracking',
name: 'Встроенный трекинг (профиль пользователя)',
port: 443,
protocol: 'Внутренний (HTTPS, POST /api/gps/my-position)',
steps: [
'Откройте свой профиль: /profile → вкладка «GPS»',
'Включите переключатель «Отслеживать мою геолокацию»',
'Разрешите браузеру доступ к геолокации',
'Объект появится на карте автоматически (создаётся сам при первой точке)',
],
notes: [
'Координаты отправляются, пока открыто приложение (не чаще раза в 60 сек)',
'Для фонового отслеживания используйте Traccar Client (раздел «Смартфон как трекер»)',
],
},
],
},
];
/** Подстановка адреса сервера вместо плейсхолдера {host} */
export function resolveGuideHost(text: string): string {
const host = typeof window !== 'undefined' ? window.location.hostname : 'iistwin.ru';
return text.replaceAll('{host}', host);
}