Проекты
Конкурсные проекты

Разработка программного обеспечения для автоматической АЗС самообслуживания


Тип участника:  Авторский/творческий коллектив
Полное наименование организации/физического лица/авторского или творческого коллектива:  Авторский коллектив студентов ФИТ АлтГТУ им. И.И. Ползунова: Тычков Тимофей Вячеславович, Шевцов Артём Сергеевич
В лице (для организации или авторского/творческого коллектива указывается ФИО и должность руководителя):  Троицкий Виктор Сергеевич, доцент кафедры прикладной математики, к. ф.-м. н. — научный руководитель
Интернет-сайт заявителя:  https://www.altstu.ru/
Контактное лицо: ФИО:  Тычков Тимофей Вячеславович
ФИО всех участников авторского/творческого коллектива:  Тычков Тимофей Вячеславович
Шевцов Артём Сергеевич 
Идея и краткое описание ИТ-проекта: 

Идея: полностью автоматизировать обслуживание на АЗС и убрать оператора — клиент сам оплачивает картой на терминале, сразу получает чек и заправляется. Стоимость оборудования — не более 100 тыс. руб.

Краткое описание: программное обеспечение терминала самообслуживания для автоматической АЗС. Клиент через сенсорный экран выбирает топливо и сумму, оплачивает покупку безналично, после чего система печатает фискальный чек и управляет отпуском топлива без участия персонала. Реализованы приём оплаты (терминал Vendotek VT), фискализация с ведением кассовой смены (ККТ PayOnline-01-ФА), отпуск топлива с управлением колонкой (протокол АЗТ 2.0), аппаратный контроль терминала (watchdog ESP32) и админ-панель для удалённого управления ценами, колонками и диагностики. Технологии: Go (бэкенд), Vue 3 / TypeScript (фронтенд).

Перечень решаемых задач: 

  1. Спроектировать и реализовать клиентские экраны оформления покупки и оплаты (выбор топлива, ввод параметров заправки, выбор способа оплаты, ожидание и результат оплаты).

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

  3. Интегрировать платёжный терминал (Vendotek VT) и контрольно-кассовую технику (ККТ PayOnline-01-ФА) с ведением кассовой смены и Z-отчётов.

  4. Реализовать подсистему отпуска топлива с управлением топливораздаточной колонкой по протоколу АЗТ 2.0.

  5. Реализовать аппаратный контроль и мониторинг состояния терминала на базе независимого сторожевого таймера ESP32 (watchdog) с автоматической перезагрузкой при зависании.

  6. Реализовать удалённое администрирование оборудования и тарифов (управление ценами и колонками, режим техобслуживания, диагностика, журнал транзакций).

Описание функциональных возможностей и элементов проекта: 

Клиентские экраны киоска (терминал самообслуживания):
— выбор вида топлива из доступных на АЗС колонок;
— ввод параметров заправки (сумма или объём) с числовой клавиатурой;
— выбор способа оплаты и оплата картой на платёжном терминале;
— экран ожидания оплаты с опросом статуса, экран результата (успех/отказ/отмена);
— экран налива топлива с отображением прогресса по фактически отпущенному объёму и экран завершения;
— автоматический сброс сессии по таймауту бездействия.

Серверная логика:
— управление жизненным циклом транзакции продажи (единая цепочка состояний с контролем порядка шагов);
— приём безналичной оплаты: управление платёжной сессией, опрос статуса, обработка отказов и таймаутов;
— фискализация: формирование чека, ведение кассовой смены, автоматическое открытие/закрытие смены, Z-отчёты, сохранение фискальных данных;
— отпуск топлива: задание цены и количества литров, авторизация налива, опрос отпущенного объёма в реальном времени, снятие и подтверждение итогов;
— отказоустойчивость отпуска: таймауты, контроль целостности кадров, безопасный отказ.

Аппаратный контроль (watchdog ESP32):
— независимый от ПО сторожевой таймер, принимающий heartbeat-сигналы от сервера;
— автоматическая перезагрузка терминала через реле сброса при потере связи (зависании ПО);
— снимок состояния и удалённая перезагрузка.

Административная панель:
— мониторинг состояния АЗС и перевод в режим техобслуживания;
— удалённое управление ценами (версии прайс-листа) и колонками;
— удалённая перезагрузка терминала;
— диагностика оборудования: статус watchdog ESP32, ТРК, платёжного терминала и ККТ;
— журнал транзакций, просмотр кассовой смены и Z-отчётов.

Дата внедрения (в случае, если предполагается запуск проекта в эксплуатацию):  -
Используемые платформы, средства разработки: 

Языки и платформы: Go (серверное приложение), TypeScript (клиентское приложение), C++ (прошивка модуля аппаратного контроля ESP32).

Бэкенд (Go): веб-фреймворк Gin, СУБД SQLite (драйвер modernc.org/sqlite), миграции Goose, работа с последовательным портом go.bug.st/serial, godotenv, gin-contrib/cors, стандартные пакеты net/http и golang.org/x/text.

Фронтенд: Vue 3 (Vue Router), сборщик Vite, Pinia (управление состоянием), Zod (валидация), Tailwind CSS.

Протоколы интеграции с оборудованием: EzPOS поверх HTTP/Ethernet (платёжный терминал Vendotek VT), ККТ А.2.0 поверх TCP/Ethernet (ККТ PayOnline-01-ФА), АЗТ 2.0 по RS-485 (топливораздаточная колонка), UART (модуль аппаратного контроля ESP32).

Инструменты разработки и совместной работы: Git (система контроля версий), Kaiten (управление задачами).

Стоимость разработки системы:  100.000 руб.
Средний размер ежегодных затрат на эксплуатацию:  1 164 000 руб. (≈ 97 000 руб./мес × 12 — оплата администратора по вызову)
Перспективы развития:  — Поддержка нескольких колонок и постов заправки одновременно (масштабирование на полноценную АЗС), а также сети АЗС с централизованным управлением ценами и мониторингом.
— Добавление способов оплаты: СБП (оплата по QR-коду), топливные карты, оплата через мобильное приложение.
— Программа лояльности: бонусы, скидки, персональные тарифы.
— Интеграция с системами учёта и уровнемерами резервуаров (контроль остатков топлива), выгрузка данных в бухгалтерские и ERP-системы.
— Расширенная удалённая диагностика и предиктивное обслуживание оборудования, оповещения о неисправностях.
— Адаптация решения под другие сценарии самообслуживания (зарядные станции для электромобилей, газовые АГЗС).
Достижение поставленных целей: 

Все поставленные задачи выполнены. Разработано работоспособное ПО автоматической АЗС, обеспечивающее полный цикл обслуживания клиента без участия оператора: выбор топлива, безналичная оплата, выпуск фискального чека и автоматический отпуск топлива. Ключевое ограничение достигнуто — стоимость оборудования не превышает 100 тыс. руб.

Реализованы и интегрированы все подсистемы: приём оплаты (Vendotek VT), фискализация с кассовой сменой (ККТ PayOnline-01-ФА), отпуск топлива (протокол АЗТ 2.0), аппаратный контроль (watchdog ESP32), клиентские экраны и админ-панель. Проект доведён до функционально завершённого прототипа, логика проверена на программных эмуляторах и на реальном оборудовании. Цель работы достигнута.

Актуальность, экономическая или социальная полезность: 

Доля безналичных платежей в рознице по итогам 2025 года достигла 88% (данные Банка России) — модель АЗС с оператором-кассиром устарела. Проект автоматизирует обслуживание и убирает очереди и ручной запуск колонки.

Экономическая польза: замена штата операторов (4 чел., 24/7) одним администратором по вызову даёт экономию ~215 тыс. руб./мес (~2,6 млн руб./год) при окупаемости оборудования менее месяца. Низкая стоимость (≤100 тыс. руб.) делает автоматизацию доступной небольшим и одиночным АЗС.

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

Адаптивность, стилистическое единство всех функциональных блоков:  -
Масштабируемость, способность к взаимодействию с другими системами, мобильность: 

Масштабируемость. Серверная логика построена по слоистой архитектуре с разделением на handlers → services → adapters, а взаимодействие с оборудованием вынесено за интерфейсы адаптеров. Это позволяет наращивать число колонок и постов заправки, а также подключать новые модели платёжных терминалов, ККТ и колонок без изменения бизнес-логики — достаточно реализовать соответствующий адаптер.

Взаимодействие с другими системами. Система изначально интеграционная: она работает с внешним оборудованием по стандартным протоколам — EzPOS (платёжный терминал), ККТ А.2.0 (контрольно-кассовая техника), АЗТ 2.0 (топливораздаточная колонка), UART (модуль аппаратного контроля). Клиент и сервер обмениваются данными через REST API (HTTP/JSON), что упрощает подключение внешних систем — учётных, бухгалтерских, систем мониторинга сети АЗС и мобильных приложений.

Мобильность. Клиентское приложение — кроссплатформенное веб-приложение (SPA), работающее в браузере на любом сенсорном терминале без установки. Серверная часть на Go компилируется в единый бинарный файл без внешних зависимостей и запускается на разных ОС и на маломощном оборудовании (используется встраиваемая СУБД SQLite), что обеспечивает лёгкое развёртывание на каждой АЗС.

Обоснованность применяемых проектных решений:  Стек и архитектура подчинены требованиям автономного беспилотного терминала. Go даёт единый бинарник и низкое энергопотребление на маломощном оборудовании; SQLite не требует отдельного сервера БД; Vue 3 — кроссплатформенный интерфейс без установки на любом сенсорном терминале. Слоистая архитектура с адаптерами оборудования отделяет бизнес-логику от протоколов, что обеспечивает тестируемость и независимость от вендора. Транзакция как конечный автомат исключает нарушение порядка операций (налив без оплаты), а независимый watchdog ESP32 — восстановление после зависания без выезда персонала. Работа по стандартным протоколам (EzPOS, ККТ А.2.0, АЗТ 2.0) гарантирует совместимость с сертифицированным оборудованием и соответствие 54-ФЗ.
Оригинальность, новизна, отличие от аналогов либо отсутствие аналогов: 

Автоматические АЗС самообслуживания как класс решений существуют, однако доступные на рынке системы, как правило, дороги, поставляются в составе комплексного оборудования конкретного вендора и ориентированы на крупные сети. Отличия и новизна проекта:

— Низкая стоимость. Решение спроектировано под ограничение стоимости оборудования не более 100 тыс. руб., что делает автоматизацию доступной для небольших и одиночных АЗС, для которых типовые промышленные системы экономически неоправданны.

— Открытая, вендоронезависимая архитектура. Взаимодействие с оборудованием вынесено за интерфейсы адаптеров, поэтому система не привязана к одному производителю и позволяет подключать разные модели терминалов, ККТ и колонок. Это отличает её от «коробочных» проприетарных комплексов.

— Аппаратный контроль надёжности. Независимый от основного ПО сторожевой таймер на ESP32 с автоматической перезагрузкой терминала при зависании повышает отказоустойчивость беспилотной точки — решение, которое редко встречается в бюджетном сегменте.

Соответствие дизайн-решения целевой аудитории:  -
Юзабилити и полезность:  -
Гарантирую достоверность предоставленной в заявке информации. Подтверждаю, что организация не находится в состоянии ликвидации, банкротства, реорганизации (Только для организаций):  Да
Презентация проекта pdf:  Загрузить
Возврат к списку
нет доступа к комментариям Авторизоваться