Разработка комплекса для автоматической выдачи товаров интернет-магазина по принципу PickPoint
С чего всё началось
Заказчик обратился к нам уже который раз, довольный нашими предыдущими решениями в области автоматизации бизнеса, в частности для его компании SNPMarket. Ранее, мы делали ему сайт, автоматизацию и оцифровку склада, сервис логистики… всего и не перечислишь!
В этот раз предстояло подумать, как разгрузить очередь к кассам и улучшить качество и скорость обслуживания для постоянных оптовых клиентов.
Задачи
- Создать автоматический PickPoint
- Разработать макеты печатных плат для управления ячейками шкафа
- Продумать методы взаимодействия между сайтом, оборудованием и приложением для кладовщиков
- Предоставить клиентам и кладовщикам простой и понятный интерфейс
Целевая аудитория
Основной сегмент пользователей нашего ресурса являются оптовые покупатели. Именно из за их запросов сформировалась идея реализовать модуль PickPoint. Боли, с которыми сталкивались наши клиенты:
- Не хотят стоять в очереди на выдачу товара, т.к. точно знают, что им нужно и зачем они пришли;
- Самообслуживание. Не хотят взаимодействовать с менеджерами выдачи товара;
- Оптимизация процесса получения товара, от заказа на сайте до получения в точке выдаче;
- Сбор нескольких позиций в один заказ в случае разного времени сборки отдельных позиций. Одновременное получение всего заказа целеком
Конкурентный анализ
Чтобы выполнить задачи по аппаратной части и сделать полностью автоматический и надежный шкаф самовывоза, нужно было изучить готовые аналогичные решения конкурентов. Найти их сильные стороны, чтобы сделать еще круче у SNPMarket, и слабые, чтобы у нас они не появились.
В частности, было решено отказаться от дополнительного терминала, что обычно сопутствует подобным шкафам-постаматам. Так как сервис нацелен в первую очередь на оптовых клиентов — у них есть учетная запись на сайте, а соответственно гораздо проще будет управлять доступом через ЛК.
Кроме конкурентного анализа, задача аппаратников — определить основные узлы, необходимые для работы ячейки в режимах загрузки и выгрузки, выбрать элементную базу, контроллеры.
В качестве контроллеров аппаратной части были выбраны Arduino Nano, отдавать им команды и слушать состояние будет сервис на Orange PI.
Гипотезы
На основе собранной информации по болям ЦА и анализу предметной области, в частности конкурентный анализ и выбор аппаратной части, были выдвинуты следующие гипотезы:
- При реализации подобного проекта, мы сможем добиться экономического сокращения издержек владельца интернет-магазина.
- Разгрузить очередь на складе в пункте выдачи товаров.
- Разработка удобного и понятного интерфейса модуля «Самообслуживания» (Управление системой PickPoint), что позволит ускорить процесс покупки и получения товаров.
Дизайн
Как обычно, дизайн начался с дискуссии и прототипов. А что вообще нужно клиенту видеть на экране? Нужен ли состав заказа, хранимого в ячейке? Кто-то шутку провел аналогию с банковской ячейкой, но, неожиданно идея всем понравилась — ведь банк это НАДЕЖНОСТЬ ;)
В проектирование интерфейса PickPoint использовали разработанную ранее дизайн-систему для SNPMarket, из новых элементов, которые нужно было придумать и реализовать, это сами ячейки-сейфы. Хотелось, чтобы дверь «сейфа» отражала его текущее состояние. Планировали сделать, чтобы дверь открывалась, но в итоге отказались от сложных анимаций в пользу производительности на слабых мобильных устройствах.
Процесс открытия ячейки на сайте или в приложении совпадает с реальным, физическим открытием ячейки в точки выдачи.
Разработка
Самая важная задача в таком проекте — достичь максимальной простоты и надежности. Чтобы и кладовщики и клиенты могли без танцев с бубном пользоваться всем доступным функционалом и при этом система была бы гибкой и отказоустойчивой. Для этого мы:
- сделали систему модульной, один кластер обслуживает 4 ячейки. Если вдруг что-то сгорит — можно без проблем пользоваться оставшимися ячейками в обычном режиме;
- для простоты разводки и установки оборудования схемы снабдили штекерами RJ-45 и телефонными RJ-11, а сигналы будем передавать по старой-доброй витой паре;
- так как не было известно место дислокации новоиспеченного пикпоинта — главный модуль выбрали и с ethernet-ом и вайфаем, если вдруг сетевой кабель протянуть не удастся.
Когда собрали и протестировали макетную плату — взяли текстолит и старым дедовским способом с помощью утюга, принтера и какой-то матери сделали настоящие печатные платы. Намучались мы с ними изрядно, поэтому следующую партию заказали уже на заводе.
После сборки готового устройства выяснилось, что витая пара очень чувствительна к окружающим наводкам, что отрицательно влияло на надежность данной системы. Ну что ж, снова засучили рукава, заменили витуху на экранированную, сократили общую длину трасс более чем в 4 раза. Еще одним подводным камнем оказалось, что пружина замка, которая отталкивает дверь при открывании, не справляется с пружинами мебельных петель. Замки менять не стали, приделали к дверцам маленькие ручки.
Программная часть
Необходимо было учесть 2 бизнес-сценария (а впоследствии добавился ещё один) — загрузки и выгрузки ячейки.
Дополнительную сложность добавляло то, что все 3 эндпоинта физически находились на разных серверах. Спасибо линуксу, быстро подняли необходимые тоннели. В качестве протокола взаимодействия выбрали WebSocket. Все модули, как повелось, независимые.
Рабочий прототип / проверка гипотез
По итогу мы разработали рабочие прототипы и дали доступ группе постоянных оптовых покупателей. На протяжение двух недель проходило тестирование отловка багов и сбор фидбека от покупателей.
Почему мы гордимся этим проектом?
- Первый раз занимались организацией взаимодействия микроконтролера и интернет-магазина;
- Работа в которой были одновременно задействованы сотрудники разных профилей и компетенций;
- Реализовали полезное для бизнеса IoT-устройство.
Перейти на сайт
Полный текст статьи читайте на CMS Magazine