Photo by Clint Patterson on Unsplash

Сделай сам

В этой статье мы объясним, как сделать самодельный GPS трекер, который можно использовать для отслеживания местоположения чего угодно.

Ссылки на готовые проекты для мониторинга транспорта, и другие подобные устройства, будем добавлять в новостную ленту сайта!

Как это работает

Основной протокол для передачи данных на сервер: OsmAnd

Он очень прост, вот пример сообщения, которое может быть отправлено http запросом.

http://free-gps.ru:5055/?id=123456&lat={0}&lon={1}&timestamp={2}&hdop={3}&altitude={4}&speed={5}
Это далеко не все параметры, смотрите в документации полный список. Например батарея передается как &batt={100}.

Ваш самодельный трекер должен отправлять GET запросы с параметрами указанными а предыдущем абзаце.

Если вы пользуетесь конструктором прошивок ESP (например wifi-iot.com), то убедитесь, что широта и долгота передаются только цифрами, без букв «N» или «E».

Photo by <a href="https://unsplash.com/@_louisreed?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Louis Reed</a> on <a href="https://unsplash.com/photos/53jnUK5LqEY?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>
Photo by Louis Reed on Unsplash

Материалы, которые вам понадобятся чтобы сделать самодельный трекер:

GPS-модуль (например такой как NEO-7m)
Микроконтроллер (например Arduino, ESP или STM)
GSM-модуль
Макетная плата
Перемычки
USB-кабель
Компьютер

Шаг 1: Выберите компоненты

Первым шагом в создании самодельного GPS-трекера является выбор необходимых компонентов. Вам понадобится модуль GPS для определения местоположения устройства, микроконтроллер Arduino, STM или ESP для обработки данных и модуль GSM для передачи данных на компьютер. Вам также понадобится батарея или преобразователь для питания устройства, макетная плата для подключения компонентов и перемычки для выполнения соединений.

Шаг 2: Соедините компоненты

Когда у вас есть все компоненты, разберитесь в тем, как правильно их подключить к контроллеру. Найдите информацию для тех компонентов, которые вы используете.

Шаг 3: Напишите код

После того, как компоненты подключены, следующим шагом будет написание кода, который будет работать на микроконтроллере. Этот код определит местоположение устройства с помощью GPS-модуля, а затем передаст данные на ваш компьютер с помощью GSM-модуля. Вам нужно будет установить программное обеспечение чтобы написать и загрузить код в микроконтроллер, например Arduino IDE. Можно воспользоваться «генераторами прошивок», для микроконтроллеров ESP.

Шаг 4: Протестируйте трекер

Когда код загружен в микроконтроллер, пришло время протестировать трекер. Включите устройство, и оно должно начать передавать свое местоположение на ваш компьютер. Вы можете использовать веб-сайт maps.free-gps.ru для просмотра местоположения устройства в режиме реального времени.

Шаг 5: Сделайте корпус трекера

После того, как трекер был протестирован и работает правильно, остается последний шаг — поместить его в герметичный корпус, чтобы защитить компоненты. Корпус можно напечатать на 3д принтере, подобрать готовый или изготовить самостоятельно из пластика или металла.

Создание самодельного GPS-трекера — увлекательный и полезный проект, который можно выполнить за выходные. Имея подходящие компоненты, немного знаний в области программирования и готовность к экспериментам, вы можете создать GPS-трекер, адаптированный к вашим конкретным потребностям и предоставляющий данные о местоположении в режиме реального времени для всего, что вам нужно отслеживать.

Делитесь своими работающими проектами и мы с радостью разместим ссылку на него и его автора на нашем сайте!

Готовые открытые проекты самодельных трекеров

Не хотите начинать с нуля? Вот проекты с открытым исходным кодом, которые можно собрать самостоятельно и подключить к нашему серверу мониторинга.

ESP32 + GPS + GSM (с SIM-картой)

Самый популярный вариант самодельного трекера: ESP32 + GPS-модуль Neo-6M/Neo-7M + GSM-модуль SIM800L. Передаёт координаты через мобильный интернет, работает с Traccar по протоколу OsmAnd.

  • GPSTracker-IoT — полноценный GPS-трекер на ESP32 с GSM-модулем. Отправляет координаты на сервер, можно настроить на работу с Traccar. Подробная документация, активный проект.
  • ESP32 GPS Tracker (Hackster.io) — пошаговая инструкция: ESP32 + SIM800L + NEO-6M GPS + бесплатный облачный дашборд. Отличная точка входа для новичков.
  • Simple GPS Tracker using ESP32 (Circuit Digest) — GPS-трекер на ESP32 с Neo-6M и визуализацией данных на карте. Есть буферизация данных при отсутствии интернета.
  • ESP32 GPS Tracker with OLED Display (Hackaday) — ESP32 + OLED-дисплей + GPS-модуль. Показывает координаты на экране, можно модифицировать для отправки на сервер.

Arduino + GPS (простые проекты)

Простые проекты на Arduino для тех, кто только начинает. Большинство из них логируют GPS в SD-карту, но код легко модифицировать для отправки данных на сервер мониторинга через Wi-Fi или GSM.

  • Arduino GPS Tracker — минималистичный трекер на Arduino + Ublox Neo-6M (GY-NEO6MV2). Просто и понятно, отличная база для модификаций.
  • DIY Arduino GPS Tracker (Instructables) — трекер на Arduino с отображением местоположения в реальном времени. Пошаговые фото инструкции.
  • Portable GPS Tracker with Arduino (Maker Portal) — карманный GPS-трекер на Arduino Xiao + ATGM336H + SD-карта + LiPo батарея. Компактный, автономный.

LoRa-трекеры (без SIM-карты, дальняя связь)

Трекеры на базе LoRa-радио работают без SIM-карты и мобильного интернета. Передают данные на расстоянии до 10-15 км через mesh-сеть. Идеальны для леса, гор и других мест без покрытия GSM.

  • Meshtastic + LilyGO T-Beam — открытая mesh-сеть на LoRa-радио. T-Beam — готовая плата с ESP32 + GPS + LoRa + батарея 18650. Прошивается Meshtastic за 5 минут, GPS-позиция передаётся по mesh-сети. Стоимость платы ~30$.
  • Подборка оборудования Meshtastic (Seeed Studio) — обзор всех поддерживаемых плат для Meshtastic: RAK WisBlock, LilyGO T-Beam, T-Echo, Heltec и другие.
  • Проект AGLoRa (Arguino+GPS+LoRa) — активно развивающийся проект трекеров на платах EByte и Arduino или ESP32, в настоящее время автор добавляет поддержку библиотеки RadioLib для работы с SPI модулями типа SX1262 SX1257. Проект включает в себя приложения, прошивки, шлюзы для передачи данных в Traccar

Wi-Fi трекеры (без SIM-карты, для города)

Если трекер будет работать только в зоне Wi-Fi (например, в гараже или на даче), можно обойтись без GSM-модуля. Данные отправляются через Wi-Fi на сервер мониторинга.

  • Wi-Fi GPS Tracker с XIAO ESP32-S3 — GPS-трекер на компактной плате XIAO ESP32-S3 с геозонами и уведомлениями. Не нужна SIM-карта, работает через Wi-Fi. Поддерживает отправку данных по HTTP — можно настроить на наш сервер.
  • GPS Cat Collar Tracker (XIAO ESP32-C3) — оригинальный проект: GPS-трекер для кошачьего ошейника на крошечной плате XIAO ESP32-C3. Логирует данные на MicroSD. Компоненты помещаются на ошейник!

Библиотеки для подключения к Traccar

Если вы пишете прошивку самостоятельно, эти библиотеки помогут отправлять GPS-данные на сервер Traccar (в том числе на maps.free-gps.ru).

  • TraccarClient (PlatformIO / Arduino) — библиотека для Arduino и ESP32, которая отправляет GPS-данные на сервер Traccar по HTTP. Поддерживает несколько форматов данных. Устанавливается через PlatformIO Library Manager.
  • Протокол OsmAnd (документация Traccar) — самый простой протокол для самодельных трекеров. Отправляйте HTTP-запрос вида http://maps.free-gps.ru:5055/?id=ВАШ_ID&lat=55.7558&lon=37.6173&timestamp=1700000000&speed=0&bearing=0&altitude=200&battery=85 — и данные появятся на карте.
  • Обсуждение ESP32 + Traccar (форум) — тема на форуме Traccar с примерами кода для ESP32.
  • DIY Tracker Device for Traccar (форум) — обсуждение самодельных трекеров на Arduino + Neo-6M + SIM800L с подключением к Traccar по протоколу OsmAnd.

Альтернативный открытый софт для мониторинга

Наш сервер работает на Traccar, но если вы хотите развернуть собственный — вот открытые проекты.

  • Traccar — открытая платформа GPS-мониторинга. Поддерживает 200+ протоколов и тысячи моделей трекеров. Именно на ней работает наш бесплатный сервер maps.free-gps.ru. Можно развернуть на собственном сервере (Java).
  • OwnTracks — открытое приложение для iOS/Android, отправляет местоположение на ваш собственный MQTT-брокер или HTTP-эндпоинт. Альтернатива Life360 без передачи данных третьим лицам. Хорошо подходит для трекинга членов семьи.
  • OpenGTS — первая open-source система GPS-мониторинга. Web-интерфейс на Java, поддерживает OpenLayers и другие картографические сервисы. Более сложная в настройке, чем Traccar, но с расширенными отчётами.

Конструкторы прошивок (без программирования)

Не хотите писать код? Воспользуйтесь визуальными конструкторами прошивок — они генерируют готовую прошивку для ESP32, которую остаётся только загрузить.

  • ESP32 MQTT Builder — онлайн-конструктор прошивок для ESP32. Выбираете модули (GPS, GSM, Wi-Fi), настраиваете параметры сервера — получаете готовую прошивку. Данные можно отправлять на Traccar через MQTT или HTTP.

Пример: отправка данных на наш сервер

Ваш самодельный трекер должен отправлять HTTP-запрос на адрес нашего сервера. Вот минимальный пример:

http://maps.free-gps.ru:5055/?id=УСТРОЙСТВО&lat=55.7558&lon=37.6173&timestamp=1700000000

Параметры запроса:

  • id — уникальный идентификатор устройства (любая строка)
  • lat — широта (только цифры и точка, без букв N/S)
  • lon — долгота (только цифры и точка, без букв E/W)
  • timestamp — время в формате Unix epoch (секунды)
  • speed — скорость в км/ч (опционально)
  • bearing — направление движения в градусах (опционально)
  • altitude — высота над уровнем моря (опционально)
  • battery — уровень батареи в процентах (опционально)

Полная документация по протоколу OsmAnd: traccar.org/osmand

Не хотите собирать трекер сами? Купите уже настроенный трекер — он будет привязан к вашему аккаунту на нашем сервере, останется только вставить SIM-карту. Подробнее →
Сделали свой трекер? Поделитесь проектом — мы с радостью разместим ссылку на него и его автора на нашем сайте! Напишите нам: info@free-gps.ru