Евгений Горяев
Разработка, поддержка и развитие сайтов

Как я создавал GPS трекер

Обложка для статьи Как я создавал GPS трекер

Я решил заняться этим проектом в конце 2021 года, после встречи с одним из своих друзей. Этот друг владеет несколькими точками аренды велосипедов и электросамокатов для туристов. Он рассказал мне, что чаще всего они используют электросамокаты фирмы Xiaomi, и эти самокаты очень часто воруют у туристов. В нашем городе, Валенсии, в районе пляжа находится самое популярное место среди самокатных воров - туристы отдыхают, расслаблены и могут плохо запереть самокат замком, который идет в комплекте.

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

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

После нескольких попыток был разработан прототип трекера на базе чипа A9G и относительно стабильная прошивка к нему. Трекеры общаются через MQTT протокол с бэкендом, передают координаты определенные по GPS и по сотовой сети, уровни сигналов и могут заблокировать самокат.

На конец 22 года в Валенсии в тестировании находится около 35 трекеров. Кроме того, еще летом, благодаря трекер моему трекеру, удалось вернуть 2 краденых самоката - что, я считаю, большая удача!

Проект решено было назвать Lockator - некая игра слов между lock и locator, location. Сейчас активно развиваю сайт, разрабатываю новую модель трекера и ищу инвесторов. Сейчас 35 трекеров находятся в тестировании и еще около 50 ждут установки в самокаты и электровелосипеды в ближайшее время. Возможно, буду пробовать устанавливать их в другие электрические средства передвижения и сегвеи, так как уже одна есть компания по прокату сегвеев, заинтересованная в установке.

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

Что касается технической части бэкенда, то могу рассказать следующее:

Основной базой для хранения всех данных выбран PostGIS. Прекрасное мощное средство для хранения и обработки географических данных. Протестировав его на данных своего формата и нескольких сотнях миллионов записей, я остался более чем удовлетворен скоростью выборки - она потрясающая. Кроме того, есть возможность производить различные географический запросы и преобразования, что очень удобно в такого типа сервисе, как у меня.

Для работы сервиса используются 2 очереди - MQTT для обмены данными с трекерами и AMQP для взаимодействия между микро сервисами и элементами бэкенда. Что интересно, обе очереди обслуживает один инстанс RabbitMQ, поднятый, конечно, в докере.

Еще есть веб-приложение на Angular, для работы с картой, которое работает через веб-сокеты, поддерживая соединение с микро сервисом на GO, который отправляет нужные события из AMQP очереди в веб-сокеты клиентам. Лендинг, сайт и административную панель обслуживает Yii2.

Вот такой вот проект получилось разработать в свободное время за один год. Очень надеюсь, что удастся в ближайшее время его ускорить и развить: уже есть огромное количество идей!

Если вы хотите принять участие в тестировании трекеров и установить их себе - переходите на сайт проекта, там есть вся необходимая информация.