Как сделать 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 и войдите в вашу учётную запись с вашим логином и паролем.

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

Понравилась инструкция? Тогда поделитесь ей со своими друзьями или попробуйте написать свою собственную!

Регистрация на сайте

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

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