Сервис предназначен для контроля движения транспортных средств (ТС) заказчика. Автопарк техники насчитывает почти 250 грузовиков и полуприцепов. На каждом автомобиле установлено оборудование ГЛОНАСС.
Источником данных для сервиса являются специализированные площадки мониторинга ТС, отдающие данные по API. Аккумулированные данные обрабатываются алгоритмами сервиса. По результатам анализа владельцу направляется уведомление. Отправка уведомлений владельцу реализована через Телеграм бот.
Заказать разработку telegram-бота любого уровня сложности и для любых бизнес-процессов Вашей Компании можно здесь: контакты HDService
Задача:
Разработать сервис сбора данных, аналитики движения и уведомления (по определенным признакам) владельца грузовиков о различных событиях.
Функционал:
- — Телеграм бот должен уведомлять владельца автопарка о том, что какой-либо из грузовиков не двигался (проехал меньше 500м) за последние 12 часов
- — Телеграм бот должен в 9:00 МСК присылать сводку за период с 16:00 предыдущего дня. В сводку попадают автомобили которые за этот период проехали меньше 150км
- — предусмотреть возможность регулировки вышеуказанных норм пробега
- — предусмотреть возможность включать / отключать конкретные автомобили для системы (например, когда грузовик находится на ТО или в ремонте)
- — в уведомлениях выводить адрес (регион, город) последнего положения грузовика — определять по координатам
Реализация:
Стек: Python, PostgreSQL, API
Сроки реализации: 3 рабочих дня (с подготовкой документации)
Источники данных
К сервису, в качестве источников, «подключаются» 4 площадки мониторинга транспорта. Данные по каждому автомобилю попадают на них со специализированного оборудования, которое установлено на каждом грузовике.
Среди поставляемых данных: геолокация, количество топлива, текущая скорость, количество часов работы двигателя и многие другие. Однако, далеко не со всех автомобилей можно получить показания одометра. Но для каждого можно получить последние координаты — с их помощью и посчитаем!
Алгоритм работы сервиса (Телеграм бота):
1 раз в 5 минут сервис собирает от каждого из 4х источников основную справочную информацию об автомобилях: государственный регистрационный номер, статус оборудования и др…
Каждую минуту сервис собирает от каждого из 4 источников информацию о позиционировании грузовика: координаты, высоту над уровнем моря, скорость и направление движения
Вся полученная информация сохраняется в базу данных (БД) на стороне сервиса.
Каждую минуту сервис производит вычисления пройденной дистанции для каждого транспортного средства за последние 12 часов. Вычисления производятся на основе собранных и сохраненных данных из собственной БД. Вычисления производятся не от начальной до конечной точки, а с учетом кривизны маршрута, а так же с учетом кривизны планеты (https://en.wikipedia.org/wiki/Great-circle_distance) . Т.е. считаем пройденное расстояние между координатами текущей и предыдущей минуты, затем суммируется с дистанцией между предыдущей и пред-предыдущей и т.д. до 12ти часов назад.
Если среди просчитанных таким образом грузовиков обнаружится, что сумма пройденного расстояния меньше указанной нормы, то для каждого такого ТС получается адрес нахождения (через дополнительный сервис по последним координатам). Из всех автомобилей, проехавших меньше нормы за последние 12 часов, формируется уведомление. Это уведомление отправляется с помощью Телеграм бота владельцу автопарка или группе управляющих процессом менеджеров. После отправки сообщения в БД выставляются специальные «флаги» — которые будут определять, что о вышеуказанных автомобилях не уведомлять в следующие 2 часа.
По похожему принципу работает и утренний (в 9:00) отчет от Телеграм бота. Разница заключается только в интервале за который сервис будет обрабатывать данные по грузовикам и нормой ожидаемого пробега.
Сервис размещен на VDS от надежного CloudTimeWeb. Стоимость владения сервером = 172р / месяц.
Схематично алгоритм работы сервиса (Телеграм бота) выглядит вот так:
Результат:
Конечно, главный результат разработки Телеграм ботов на заказ у HDService — это удовлетворенные потребности клиента! Сервис введен в промышленную эксплуатацию и передан заказчику. Работа выполнена «под ключ». Клиенту так же передается спецификация сервиса — документ в котором описаны все необходимые знания, которые позволят обслуживать данный сервис штатному АйТишнику компании-заказчика.
Телеграм бот стабильно работает, а получатели уведомлений владеют всей необходимой оперативной информацией о своих грузовиках.
Вид уведомлений Телеграм бота: