Close
Close
А вы знали, что у нас еще есть телеграм?
Пользуясь настоящим веб-сайтом, вы даете свое согласие на использование файлов cookies. Узнать подробнее
Ок, спасибо.
Close
Меню
Меню
Меню

Разработка и производство модемов для вендинга

Помогли крупному поставщику и оператору вендинговых аппаратов разработать,
произвести и организовать поддержку нескольких тысяч модулей сбора данных и управления торговыми аппаратами
разработка модемов для вендинга
МТУТА
Заказчик
Крупный поставщик и оператор вендинговых аппаратов
Вендинг – это модель продажи товаров и услуг с помощью торговых аппаратов, которые обслуживают специальные компании-операторы. Они контролируют наличие ингредиентов, осуществляют инкассацию и следят за тем, чтобы автоматы не простаивали и приносили прибыль. Это сложный процесс, потому что у одной компании может быть несколько тысяч автоматов разных производителей, удаленных друг от друга.
Задача
Разработать и произвести несколько тысяч вендинговых модемов
В 2018 году вышли поправки к Федеральному закону 54-ФЗ о применении контрольно-кассовой техники. В новой редакции юридические лица и ИП, которые занимаются продажей товаров, в т.ч. через вендинговые аппарат, обязаны использовать онлайн-кассы и передавать данные о продажах в Налоговую через интернет.
Для того, чтобы соответствовать законодательству и повысить эффективность обслуживания, операторы внедряют системы телеметрии. Специальные устройства - вендинговые модемы (модули телеметрии) подключаются к вендинговому аппарату изнутри, собирают данные и передают их на платформу для хранения, обработки и визуализации.

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

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

Поэтому заказчик принял решение о разработке своей системы мониторинга и привлечения нас для реализации аппаратной части системы — Модуля Телеметрии и Управления Торгового Аппарата (МТУТА).
торговый аппарат для тестирования вендингового модема
Торговый автомат для отладки устройства
Как это было
Собрали требования к устройству
В таких проектах зачастую нет возможности предусмотреть и зафиксировать все требования к функционалу, ведь устройство планируется использовать в развивающемся и меняющемся окружении. Его неизбежно придется обновлять, модернизировать, добавлять новые или отключать незадействованные функции. Тем не менее, это нужно сделать, чтобы зафиксировать требования к аппаратной части. Мы провели несколько интервью с заказчиком и собрали все требования к базовому функционалу устройства в Техническом Задании.
Функционал устройства:

  • двусторонний обмен данными с внешним сервером через GSM и Ethernet;
  • возможность работы со специализированными интерфейсами объекта управления (торгового автомата);
  • удаленная настройка, обслуживание, настройка и обновление по Bluetooth и USB;
  • возможность подключения внешних датчиков (температуры, открытие двери) и устройств (микрофон, камера и т.д.);
  • световая и звуковая индикация и сигнализация;
  • питание от сети аппарата и от батареи;
  • несколько режимов работы.
схема работы системы МТУТА
Функциональная схема системы
Проработали архитектуру устройства с учетом себестоимости
Учитывая обширные сетевые возможности устройства, логичным шагом было бы использовать Linux. Однако, в этом случае в качестве вычислителя потребовался бы довольно мощный микропроцессор и многослойная печатная плата, не укладывающиеся в рамки требуемой себестоимости.

Мы предложили разработку низкоуровневой операционной системы на базе Free RTOS, что позволило использовать относительно недорогой микроконтроллер из линейки STM32 и снизить требования к печатной плате изделия.
архитектура устройства
Структурная схема устройства
Разработали аппаратную часть и подготовили ее к серийному производству
Первая версия платы была создана менее чем за месяц. Опытные образцы запустились с первого раза. Для оценки себестоимости мы отправили документацию в несколько проверенных компаний-производителей и предложили заказчику варианты, наиболее подходящие по срокам и стоимости.

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

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

Это нормальный процесс для hardware, особенно в случаях, когда устройство является частью системы с множеством интерфейсов.
Ускорили процессы разработки софта за счет внедрения Continuous Integration
В проектах, где требуется разработать много функционала, код пишут несколько программистов одновременно. Чтобы это не влияло на результаты, сборка проекта воедино происходит в контролируемом окружении на отдельном виртуальном сервере. Такой подход называется Continuous Integration.

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

Для контроля качества каждое устройство проходит несколько этапов проверки, один из которых – функциональное тестирование на специальной тестовой станции. Станция состоит из оснастки с пого-пинами, которые подключаются к тестовым точкам платы, ноутбука и набора оборудования для измерений и маркировки устройств.
контроль качества
Организовали процессы внедрения и тестирования нового функционала
Отдельную сложность представляет удалённый запуск новых функций, в условиях, когда оборудование уже находится в эксплуатации. Устройства, установленные у клиентов заказчика, в результате обновления не должны лишаться способности обновлять собственную прошивку. В ином случае, оживление тысяч "кирпичей", разбросанных по всей стране, будет крайне затратным.

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


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

Результаты

МТУТА – эталонный пример embedded проекта, где устройство работает не "само в себе", а как часть системы со сложной бизнес-логикой.

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

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

аппаратные части системы МТУТА
Другие кейсы