Как мы автоматизировали систему управления «электричками» в Казахстане

разработка приложений

стек
Phalcon, VueJS, React Native, MongoDB, Git, Kebernetes
период разработки
4 месяца
разработка приложений
услуга
Наш кейс, связан с государственной организацией АО «Пригородные перевозки», дочка Казахстан Темир Жолы (КТЖ).
Задача
К нам обратились с просьбой создать систему контроля и управления пригородными поездами.
Прежние способы управления электричками в КТЖ морально устарели, поэтому перед нами встала задача сделать простую и понятную систему. Для этого нужно было подключить датчики, организовать передачу видеопотока, фото и прочих данных напрямую с каждого поезда. Таким образом мы делали софтверную и хардверную части.
Ключевые проблемы
  • Отвратительное качество связи между городами;
  • Гигантское количество трафика при передачи фото/видеопотока;
  • Коммуникации и согласования.
Думаю нет смысла раскрывать каждый пункт отдельно, все мы когда-то выезжали за город, скачивали фильм и сталкивались с бюрократией.
Сроки
Фактический срок реализации — 4 месяца. Именно столько времени, мы работали над проектом, писали код, тестили систему, настраивали протоколы передачи и т.д.
Реальный срок реализации — 6 месяцев. С учетом согласований и бюрократии.
Тех. поддержка 12 месяцев со дня сдачи проекта.
Процесс
Начали мы со сбора и обработки информации. Первым вызовом были плохие коммуникации. Это стандартная история, когда ты приходишь в гос. компанию, а никто ни за что не отвечает.
Старая добрая Матрица Эйзенхауэра помогла составить mindmap проекта, который перенесли в ТЗ. Важный пункт, что в ТЗ мы указали единственного ответственного, им стал руководитель IT-отдела, который принимал решения и работал с нами напрямую. Этот простой пункт, позволил сэкономить кучу времени. Ранее у нас его просто не было.
Работа началась и мы уперлись в отвратительное качество связи между городами. В каждом вагоне имеется +-10 камер.
Было принято решение, передавать данные с помощью 3g. Я не смогу сейчас описать использованные методы сжатия и оптимизации видеопотока, НО. После нудных просчетов, самый дешевый вариант был установить в каждый поезд mini-pc, что мы и сделали.
Mini-pc стал роутером и контроллеров в одном лице. Мы сделали так, чтобы весь поток со всех камер, передавался на основной сервер в максимально оптимизированном состоянии. В случае обрыва связи, передача автоматически восстанавливалась.
Если связи нет, менеджеру выдается сообщение: «Трансляция с камер недоступна. Поезд, камеры которого Вы хотите просмотреть находится вне зоны деиствия». При этом пользователю была доступна запись до момента обрыва.
После восстановления соединения, передачи и склейки записи (она не прерывалась, все было на mini-pc), пользователь получал оповещение: «Поезд в зоне доступа. Можете запустить онлайн-трасляцию в разделе «Видео/Фото».
Mini-pc также передавал данные с датчиков, о которых мы расскажем в разделах.
Разделы
Обзор
Сбор информации о состоянии поезда, его местоположении с возможностью отслеживания на карте. Использовали Яндекс.Карты для вывода. В Казахстане они № 1.
Если, поезд опаздывает, то система ставит будильник и оповещает сотрудника. Если всё в порядке, то помечает зеленым цветом. Обновление производится раз в 5 секунд. Отвечаю на мнимый вопрос — это не быстро, потому что мы передаем:
  • Координаты;
  • Скорость;
  • Текущая станция;
  • Состояние дверей (количество открытых);
  • Количество вагонов в составе;
  • Данные с пульта управления электропоездом;
  • Техническое состояние электропоезда.
Пассажиры
Система умеет считать пассажиропоток в конкретное время в каждом поезде. Это не наше достижение, мы считываем информацию с датчиков, установленных компанией «Транстелесофт». Считает вошедших и вышедших за период, составляет автоматический экспортируемый отчет.
Станции
В этом разделе, считается пассажиропоток по каждой конкретной станции. Вошедшие и вышедшие за период. Автоматический экспортируемый отчет отправляется ответственному пользователю ежедневно.
База данных
Как я писал выше, КТЖ государственная компания, в которой работает около 150 тысяч человек по всей стране (почти 1% населения). 15 тысяч из них, сотрудники пригородных пассажирских поездов — электричек.
В базе данных содержатся личные и служебные данные по всем сотрудникам с актуальной информацией. Можно редактировать, добавлять, увольнять и играться с «карьерной судьбой» сотрудников. Важная функция — это учёт и ведение информации локомотивных и поездных бригад региональных участков.
Настройки
В системе +100500 различных настроек. От построения маршрутов и управления станциями, до ведения сотрудников и настройки отчетности. Но, думаю это неважно.
Результат
В итоге после 6 месяцев разработки мы смогли организовать сбор и обработку актуальных данных по перевозкам для КТЖ., аналогов которой на тот момент не было. Прости РЖД, но мы знаем что это факт.
Генеральный директор Михаель Кортюм лично знакомился с системой. На чем считаем свою работу выполненной успешно.
Есть проект?
мы готовы обсудить все детали