Как сделать GPS-трекер для присмотра за вашим ребёнком

Друзья, сегодня я вам расскажу о том, как сделать GPS-трекер для присмотра за вашими детьми, пока они гуляют на улице одни. Мой сын часто уезжает на соревнования по каратэ, а также гуляет один с друзями на улице, и сейчас я могу с точностью до десяти метров знать, где он находится. Решение базируется на российской разработке бесплатного GPS-сервера Traccar с открытым исходным кодом. Traccar поддерживает более 170 протоколов GPS и более 1500 моделей GPS-трекеров.

Что вам понадобится

  • Сервер на CentOS или любой другой сервер на Linux
  • Сервер GPS-трекинга Traccar
  • Смартфон на Android или iOS
  • Приложение Traccar Client
  • Хостинг с доменным именем

Шаг 1 : Установка сервера на Linux

Чтобы не повторяться, приведу ссылку установки сервера на CentOS, которая обсуждалась в предыдущей инструкции:

Создаём ТВ-сервер дома на Linux

Установка подразумевает использование домашнего сервера в качестве хостинга под сервер Traccar.

Шаг 2 : Установка сервера Traccar

Установка сервера предельно простая.

В терминале идём в домашнюю папку:

cd ~

Скачиваем дистрибутив Traccar:

wget https://github.com/traccar/traccar/releases/download/v4.8/traccar-linux-64-4.8.zip

Распаковываем ZIP архив:

unzip traccar-linux-64-4.8.zip

Запускаем файл traccar.run:

sudo ./traccar.run

Скрипт установит все необходимые файлы.

Далее, создадим пользователя traccar:

sudo useradd -s /sbin/nologin -r -M -d /bin/false traccar

Затем, открываем файл:

sudo nano /opt/traccar/conf/traccar.xml

Добавляем в данный файл следующие строки до тега </properties> (это нужно для получения уведомлений на электронную почту при наступлении некоторого события, например, когда ваш ребёнок уйдёт за так называемый “гео-забор’). Данная конфигурация указана для моего почтового сервера, в вашем случае данные будут другими.

<entry key = 'web.url'>https://trac.domain.ru/</entry> # Имя поддомена для Tracrcar
<entry key='mail.smtp.host'>mail.domain.ru</entry> # Хост почтового сервера
<entry key='mail.smtp.port'>587</entry> # SMTP-порт
<entry key='mail.smtp.starttls.enable'>true</entry> # Указываем шифрование STARTTLS
<entry key='mail.smtp.from'>trac@domain.ru</entry> # Обратный email адрес
<entry key='mail.smtp.auth'>true</entry> # Указываем, что SMTP требует авторизации
<entry key='mail.smtp.username'>trac@domain.ru</entry> # Адрес email
<entry key='mail.smtp.password'>Password</entry> # Пароль email

Также из файла /opt/traccar/conf/default.xml:

sudo nano /opt/traccar/conf/default.xml

Уберите вот эту строчку:

<entry key='server.statistics'>https://www.traccar.org/analytics/</entry>

Запускаем Traccar и ставим его в автозагрузку при запуске Linux сервера:

sudo systemctl start traccar
sudo systemctl enable traccar

Далее, открываем браузер и вводим адрес:

http://server-ip-address:8082/?locale=ru

Гле server-ip-address — локальный IP-адрес сервера

Входим в систему, по умолчанию email: admin и пароль: admin

После входа в систему сразу же измените логин и пароль.

Далее, создадим папку traccar.service.d:

sudo mkdir -m 755 /etc/systemd/system/traccar.service.d

В ней создадим файл run-as-user.conf:

sudo nano /etc/systemd/system/traccar.service.d/run-as-user.conf

И вставим в него следующие строки:

[Service]
User=traccar
Group=traccar

Это нужно для того, чтобы Traccar работал от пользователя traccar. а не от root (суперпользователь).

Сохраним файл.

Перезапустим конфигурацию менеджера systemd:

sudo systemctl daemon-reload

Перезапустим Traccar:

sudo systemctl restart traccar

Шаг 3 : Установка сервера Nginx и настройка Proxy Pass для Traccar

Сервер Nginx необходим для того, чтобы проксировать соединения с 80-го порта поддомена вашего сервера на порт 8082 сервера Traccar.

Установим Nginx:

sudo yum install nginx

Создадим файл конфигурации на сервере Ngnix:

sudo nano /etc/nginx/conf.d/trac.domain.conf

И вставляем в него следующее:

server {
listen 80;
server_name trac.domain.ru;
return 301 https://trac.domain.ru$request_uri;
}

server {
listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/trac.domain.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/trac.domain.ru/privkey.pem;

server_name trac.domain.ru;

client_max_body_size 10M;
client_body_buffer_size 128k;

location / {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";

proxy_redirect http://127.0.0.1:8082/ /;
proxy_redirect ws://127.0.0.1:8082/api/socket /api/socket;
proxy_pass http://127.0.0.1:8082/;
proxy_read_timeout 86400s;
proxy_send_timeout 86400s;
allow all;
}

}

Далее, добавим поддомен в файл hosts:

sudo nano /etc/hosts

И добавьте в новой строке:

127.0.0.1 trac.domain.ru

Сохраняем файл и перезапускаем Nginx:

sudo systemctl restart nginx

Установим Certbot от Letsencrypt:

sudo yum install epel-release
sudo yum install certbot python2-certbot-apache mod_ssl

Далее, получим сертификат шифрования от Letsencrypt:

sudo cerbot --nginx

Следуем указаниям установщика.

После окончания установки сертификата перезапускаем Nginx:

sudo systemctl restart nginx

Теперь на Traccar можно будет зайти по адресу:

https://trac.domain.ru?locale=ru

Шаг 4 : Установка Traccar Client на смартфоне ребёнка

Установите приложение Traccar Client на смартфоне вашего ребёнка.

Включите геолокацию и дайте разрешение Traccar Client использовать данные геолокации.

Зайдите в приложение и в поле «URL сервера» укажите адрес сервера Traccar:

https://trac.domain.ru

В поле «Частота» указываем частоту обновления данных в секундах.

Далее, в поле «Состояние сервиса» включаем клиент и запоминаем «Идентификатор устройства» в поле ниже.

Идём на наш сервер в браузере

https://trac.domain.ru?locale=ru

Заходим в систему, в левом верхнем углу нажимаем на значок плюс и у вас появится следующее окошко:

В него вводим имя вашего ребёнка и идентификатор устройства из приложения на Android.

Жмём галочку подтверждения и с этого момента вы будете видеть все перемещения вашего ребёнка на улице.

В системе также доступны опции для настройки так называемого «гео-забора», чтобы вам приходили email уведомления, если ваш ребёнок уйдёт слишком далеко от дома.

Чтобы присматривать за вашим чадом, используя смартфон, скачайте приложение Traccar Manager и войдите в вашу учётную запись с вашим логином и паролем.

Пускай ваши дети будут всегда под присмотром!

Дайте свою оценку данной инструкции

Оставьте свой отзыв

Вы должны Войти, чтобы оставлять отзывы.