Случайно наткнулся в известном китайском магазине на GPS трекер (Sinotrack ST-901), доставка со склада в Москве (хм, нет риска получить статью за шпионское устройство), да и давно подумывал на машину поставить, даже не с целью защиты от угона, а чтобы жена могла контролировать мои перемещения на дальняк.
Посмотрел отзывы, удобно настраивается, не обязательно хранить свои данные на китайском сервере, можно использовать отечественный. Заказал.
СИМ карта обычная (отщипнули от "семейного тарифа"), трафик, как я понял, минимальный, данные передаются в текстовом формате, частоту передачи можно задать самому.
Подключение простое:
- красный провод на +12В
- черный на массу
- оранжевый к зажиганию, т.е. если на нем появляется +12В устройство считает зажигание автомобиля включенным, если пропадает соответственно с этого момента отсчитывается время перехода в режим сна (энергосбережение).
Настройка девайса осуществляется посредством отправки смс сообщений на его СИМ карту.
Далее немного инструкций по настройке устройства, т.к. использовал вариант получения данных через интернет, то остановлюсь только на этих настройках. Первым делом, рекомендую указать свой телефон (администратора, только с этого номера будут обрабатываться команды) и конечно же поменять пароль (по-умолчанию - четыре нуля).
Регистрируем номер телефона администратора
899912345670000 1
89991234567 — номер телефона
0000 — пароль (по умолчанию четыре ноля)
1 — номер ячейки (можно зарегистрировать до 3 телефонов)
Меняем пароль
77712340000
777 — команда
1234 — новый пароль
0000 — старый пароль
Меняем часовой пояс
8960000E03
896 — команда
0000 — пароль
E03 — часовой пояс Москвы
Выбираем режим передачи данных (SMS или GPRS)
7100000
710 — команда для GPRS
0000 — пароль
Настройка точки доступа для GPRS
Мегафон: 8030000 internet gdata gdata
МТС: 8030000 internet.mts.ru mts mts
Билайн: 8030000 internet.beeline.ru beeline beeline
ТЕЛЕ2: 8030000 internet.tele2.ru
0000 — пароль
Задаем интервалы отправки сообщений на сервер при включенном зажигании и в режиме оффлайн
800000 5
каждые пять секунд при включенном зажигании
8090000 300
каждые пять минут при выключенном зажигании
0000 — пароль
Настройка спящего режима
SLEEP0000 5
после выключения зажигания через пять минут устройство «заснет», перестанет присылать сообщения на сервер, но будет реагировать на смс и звонки
0000 — пароль
Вот тут важно! По-умолчанию указан китайский сервер sinotrack. Надо определиться, к какому серверу подключить устройство. Серверы легко гуглятся, есть бесплатные, есть платные с большим функционалом. У каждого свои настройки (адрес сервера и порт подключения). В зависимости от сервера отправляем соответствующие настройки устройству.
Настройка сервера данных
8040000 123.123.123.123 999
123.123.123.123 — ip адрес сервера
999 — порт сервера
0000 — пароль
Я провел "полевые" испытания устройства, подключил батарею от UPS, накинул оранжевый провод на плюсовую клемму, закинул все в рюкзак и пошел бродить по парку. Данные исправно передавались на сервер.
Сервером выступил простой php скрипт, который слушал 999 порт сокета и полученные данные выводил в консоль. Через NAT на роутере пробросил его наружу.
<?php
set_time_limit (0);
$address = '127.0.0.1';
$port = 999;
$sock = socket_create(AF_INET, SOCK_STREAM, 0);
socket_bind($sock, 0, $port) or die('Could not bind to address');
socket_listen($sock);
while (true) {
$client = socket_accept($sock);
$input = socket_read($client, 1024000);
echo "$input\n";
socket_close($client);
}
socket_close($sock);
?>
Данные приходили в текстовом формате, с разделителем запятой:
*HQ,9170631826,V1,105509,A,5576.7575,N,03761.0545,E,000.13,000,210919,FBFF9FFF,250,99,27914,55187#
*HQ,9170631826,V1,105509,A,5576.7578,N,03761.0548,E,000.13,000,210919,FBFF9FFF,250,99,27914,55187#
*HQ,9170631826,V1,105554,A,5576.7577,N,03761.0548,E,000.23,000,210919,FBFFBBFF,250,99,27914,55187#
*HQ,9170631826,V1,105624,A,5576.7575,N,03761.0549,E,001.05,000,210919,FBF7BBFF,250,99,27914,31740#
тут можно увидеть серийный номер устройства, время (по Гринвичу), дату и координаты, есть и другая информация, я особо не вникал, т.к. пришла идея не изобретать велосипед, а развернуть готовый сервер. Выбор пал на Traccar https://www.traccar.org/source-code/
К сожалению, тут не уместишь всю статью, и подсветки синтаксиса нет, оставлю ссылку на полный туториал как поднять свой сервер https://itscience.pro/all/svoy-server-traccar-i-nastraivaem-...
Заранее оговорюсь, у меня получилось недешевое решение (без ограничений на количество устройств), аренда сервера обходится - $5 в месяц. Можно подключиться к существующим решениям от 80 руб./мес. за одно устройство.