Система мониторинга крупногабаритных грузов во время транспортировки

Beacon технологии для сбора и передачи информации по bluetooth

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

Цели проекта

Заказчик обратился к нам для разработки инновационного ИТ-продукта для продажи сервиса производителям транспортируемых деталей.

Ключевая особенность

По мере изучения рынка и презентаций первых демо-версий этого ИТ-решения потенциальным клиентам наш заказчик стал лучше понимать их потребности и существенно пересмотрел бизнес-логику. К изначальной задаче по отслеживанию местоположения добавились требования по мониторингу температуры, резкого ускорения (чтобы зафиксировать факт падения), отслеживание присутствия воды. Кроме того, помимо морского транспорта, были добавлены контейнерные, железнодорожные и автомобильные перевозки. Эта новая бизнес-логика должна была быть эффективно реализована на существующей архитектуре решения без снижения производительности и использования нестандартных точечных модификаций (т. е. костылей). Кроме того, система должна была быть гибкой и настраиваемой под потребности конкретной компании: должно быть удобно оперировать шаблонами и словарями для изменения моделей данных.

Компоненты системы

  1. Бэкенд — Java, SpringBoot, JasperReports, PostgreSQL
  2. Фронтенд — Typescript, Angular, PrimeNG, Leaflet
  3. Мобильное приложение — Android, Kotlin
  4. Инфраструктура — Docker, Amazon Web Services

Специальный
функционал

Синхронизация с Marine Traffic для отслеживания движения кораблей

Мы оптимизировали систему для морских грузоперевозок в условиях отсутствия связи. Корабли в рейде часто не имеют доступа к интернету, поэтому мы интегрировали сервис Marine Traffic, с помощью которого всегда можно определить расположение корабля. Система передает эту информацию в веб-приложение, где можно отследить маршрут перемещения всех используемых грузовых судов.

Датчики для отслеживания состояния груза в пути

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

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

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

Интеграция мобильного приложения с сайтом для отслеживания грузов

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

Интеграция с сервисом отображения погоды на карте

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

Импорт Excel файлов с данными о новых транспортных средствах

Чтобы добавить новое транспортное средство в систему, пользователю нужно лишь импортировать Excel файл с основной информацией о нем.

Стандартный
функционал

Механизм отслеживания перемещений транспортного средства с крупногабаритным грузом и состояния каждого отдельного груза в пути.

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

Отправка всей собранной информации в веб-интерфейс. Грузоотправитель и грузополучатель могут проверить местоположение и сохранность груза на протяжении всего пути следования.

Статистика

Проектные практики

Расширение бизнес-логики без нарушения существующей архитектуры

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

Создание инновационного продукта

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

Смена поставщика оборудования

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

Обработка несистематизированных данных от устройств

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