Как сделать GPS-трекер для присмотра за вашим ребёнком
Друзья, сегодня я вам расскажу о том, как сделать GPS-трекер для присмотра за вашими детьми, пока они гуляют на улице одни. Мой сын часто уезжает на соревнования по каратэ, а также гуляет один с друзями на улице, и сейчас я могу с точностью до десяти метров знать, где он находится. Решение базируется на российской разработке бесплатного GPS-сервера Traccar с открытым исходным кодом. Traccar поддерживает более 170 протоколов GPS и более 1500 моделей GPS-трекеров.
Что вам понадобится
- Сервер на CentOS или любой другой сервер на Linux
- Сервер GPS-трекинга Traccar
- Смартфон на Android или iOS
- Приложение Traccar Client
- Хостинг с доменным именем
Шаг 1 : Установка сервера на Linux
Чтобы не повторяться, приведу ссылку установки сервера на CentOS, которая обсуждалась в предыдущей инструкции:
Установка подразумевает использование домашнего сервера в качестве хостинга под сервер 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 и войдите в вашу учётную запись с вашим логином и паролем.
Пускай ваши дети будут всегда под присмотром!
Понравилась инструкция? Тогда поделитесь ей со своими друзьями или попробуйте написать свою собственную!