Привет, сегодня я начну рассказывать историю разработки аппаратной платформы для создания «умных» рабочих мест Smart Workspace от зарождения идеи до запуска в серийное производство нашей командой Гетмобит.
Меня зовут Алексей Дударев, в проекте я отвечаю за «железо» (от разработки до производства). В нашей команде с самого начала я выступал в роли схемотехника, и даже сейчас иногда «прыгаю в окоп» и беру в одну руку паяльник, а в другую - щуп осциллографа.
Наш продукт – это программно-аппаратный комплекс (ПАК), его центральная часть – гибридная док-станция GM-Box G1. Это устройство нового поколения «все в одном» (all-in-one) объединяет в себе: «тонкий клиент», IP-телефон, безопасную авторизацию с использованием смартфона, считыватель бесконтактных карт, набор основных модулей беспроводной связи и даже несколько видов зарядки для смартфона.
В серии статей вас ждет описание кейсов промышленного дизайна и прототипирования, разработки электроники и пластиковых корпусов, испытаний и запуска собственного производства в России. Будет много фоток рабочего процесса и откровений инженера, который принял в этом активное участие (т.е. меня). Поехали!
Продукт
Концепция GM-Box претерпела много трансформаций, прежде чем обрести свою физическую аппаратно-программную оболочку. Зачастую обычное офисное рабочее место со стационарным компьютером выглядит громоздко, неудобно и не мобильно: ящик системного блока, периферия, множество кабелей. А еще куча разного софта и лицензий, которые нужно устанавливать, настраивать, и без которых нельзя нормально работать. Вот это все мы собрали в единое устройство – «все в одном» (all-in-one), и получилось не просто устройство, а целая программно-аппаратная платформа, позволяющая перекомпилировать офисное рабочее место в более удобное и отвечающее современным реалиям. Важной частью концепции продукта является смартфон. Его сервисы могут использоваться для совместной работы с Gm-Box. Например, для аутентификации пользователя при подключении к удаленному рабочему столу.
Итого, в серийное производство вышла универсальная док-станция GM-Box G1 - гибрид mini PC и IP телефона в форм-факторе настольного телефона для работы с удаленным рабочим столом (VDI, RDP). А еще устройство нашпиговано интерфейсами, популярными среди пользователей гаджетов и ПК: Wi-Fi, Bluetooth, LTE, Qi, RFID, NFC.
Методология разработки
Многие в нашей команде раньше уже сталкивались с разработкой сложной электроники и софта, так что имели представление об организации и управлении процессом создания подобного продукта. Визуализация этапов работы над проектом в нашей компании выглядела так:
Конечно, у нас была и доля естественной для стартапа энтропии, с которой мы боролись каждый день. Из особенностей нашего подхода к работе я бы выделил:
создание на каждом этапе разработки продукта задела для следующих шагов;
формализация требований (технического задания, спецификации);
много визуализации (скетчи, фото, 3D модели).
Нам это очень помогло, потому что цена изменений\исправлений в железе вот такая, как на схеме (только в жизни еще дороже, потому что расплачиваться приходится еще и временем с нервами):
Наши ключевые инструменты для управления работой и ее артефактами:
Confluence в качестве базы знаний, механизма отчетов и хранилища истории;
JIRA – трекер задач для Scrum команды;
GitLab – храним все исходники;
MinIO– специализированный репозиторий для бинарников (дистрибутивов);
И много-много личного и виртуального общения.
На этапе исследования проблемы и даже раннего прототипирования мы представляли собой команду энтузиастов, создающих продукт в свободное от работы время. Но мы были очень воодушевлены идеей нашего продукта, так что запала вполне хватало.
Проверка гипотезы, разработка прототипов
Путь от идеи к продукту начался с проверки гипотезы, что пользователю действительно необходимо устройство в концепции «all-in-one» («все в одном»), что он готов перейти к работе с виртуальным рабочим столом и может (и хочет) использовать свой смартфон как часть офисного рабочего места. Попутно мы должны были оценить техническую возможность воплотить нашу идею в жизнь. Для этого позарез нужно было что-то для демонстрации продукта и технологий. И это что-то - прототипы. Всего на этапе проверки концепции мы разработали и изготовили 5 версий прототипов, которые мы называли Демонстрационными Образцами (ДО). Вот так выглядел один из скетчей:
В процессе подготовки к проверке гипотезы мы определились с обязательными компонентами нашего изделия. Некоторые компоненты отмечены на скетче:
корпус док-станции;
полка «парковки» с расположением интерфейса взаимодействия\подключения;
зоны расположения клавиатуры;
зоны расположения клавиатуры;
«парковка» смартфона;
и 6а - телефония;
кабельное подключение смартфона к док-станции;
интерфейсы для подключения периферийных устройств к док-станции.
Остальные компоненты:
вычислитель + ПО;
подключение к монитору;
дополнительные средства телефонии.
Прототип - ДО1
Когда мы, наконец-то, приступили к инженерной работе по созданию первого демонстрационного образца, бумажные скетчи мы трансформировали в 3D модель с учетом технологии литья пластика.
Электронику реализовали на одноплатном ПК на базе процессора ARM1176JZ-F. Взяли этот ПК, чтобы начать с чего-то легкодоступного в ближайшем магазине.
Кнопки и прочую периферию подключили к «гребенке» портов расширения. Корпус распечатали на 3D принтере, немного доработали и покрасили. Именно такой функционал, да еще под технологию прототипирования, нам разрабатывать до этого случая не доводилось, поэтому местами приходилось «изобретать велосипед», и результат не сразу получился таким, как надо. Вот к чему сводились основные замечания к прототипу:
недостаточная производительность вычислительной системы для работы в web-режиме;
неудобный интерфейс установки\подключения смартфона;
низкое качество акустики телефонии;
работа только в режиме гарнитуры для смартфона;
неудобная для сборки конструкция корпуса;
низкое качество корпуса и кнопок (3D принтер).
Прототип – ДО2\3
Опыт, полученный при разработке ДО1, мы усвоили и сделали достаточно подробное внутреннее ТЗ, переработали конструкцию и изготовили новые образы по технологии литья в силикон. Конечно, это дороже чем 3D печать, но и внешний вид совсем другой. Уже можно было выносить на «свет божий», чтобы показывать инвесторам и клиентам. После печати пластик покрасили, на прозрачные кнопки нанесли пиктограммы методом УФ-печати, чтобы не истирались. Электронику реализовали на базе одноплатного ПК Odroid-XU4, потому что это был оптимальный выбор из существующих на тот момент на рынке «считалок».
Модификация ДО3 по сравнению с ДО2 устроена была почти так же, за исключением установки некоторых периферий модулей: Qi, NFC, громкая связь. Основные замечания к этой версии:
невозможность реализовать в продукте поддержку VDI из-за отсутствия в публичном доступе клиента под ARM CPU;
отсутствие свободных драйверов не позволяло нам декодировать поток на GPU;
нестабильная работа USB Hub на плате расширения;
низкое качество акустики, реализованной на плате расширения;
низкое качество акустики телефонии;
плохая работа клавиатуры.
Прототип – ДО4
К этому этапу мы прокачались до разработчиков, что называется, 80-го уровня, и правильные решения нам уже снились. Архитектурно мы сделали резкий поворот в сторону x86 платформы и это было одним из важнейших решений в продукте. О претензиях к ARM я упомянул выше. Немного повторю и добавлю причины перехода на x86:
большое разнообразие VDI клиентов под платформу x86;
наличие свободных драйверов под GPU;
большое разнообразие качественной периферии + бинарные драйвера x86;
легкий доступ к «телу» вендора процессора (Intel);
большое разнообразие софта под x86.
Мы применили Wintel-CXW8-Pro на базе Intel Atom x5-Z8300 Cherry Trail, потому что:
производительность, как минимум, не хуже, чем у проверенного нами Odroid-XU4;
все необходимые интерфейсы для наших прототипов в наличии;
наличие на рынке готовых устройств mini PC в качестве доноров системной платы;
низкая стоимость.
Для проверки релевантности такого решения, еще на этапе ДО2\3, мы собрали один опытный образец и протестировали совместно с одним из потенциальных заказчиков.
У нас возникла идея продемонстрировать реальным пользователям нашу технологию в деле. И тут появилась уникальная возможность реализовать пилотный проект на выборах в Ярославле. Счетчик времени запустился. Предстояла проверка нашей гипотезы о замене обычного ПК на GM-BOX в реальной жизни. Сборка 40 устройств представлялась нам непростой задачей, и вот почему:
конструкция корпуса требовала доработки;
некоторые электронные узлы еще не были разработаны;
несерийное устройство без конструкторской и технологической документации;
Firmware не разработано;
не обкатанный сборочный процесс, отсутствие нормировки времени сборки;
дата готовности, которую нельзя сдвинуть;
отсутствие собственного, хотя бы, опытного производства;
другие, параллельные задачи по разработке серийной версии GM-Box.
Сложность задачи только подстегнула наш интерес, так что мы начали готовиться к пилоту с использованием ДО4. Внутренняя начинка устройства была устроена так, как на схеме:
Периферию рисовали в САПР AltiumDesigner и развели на 4-х слоях. На проект электроники в САПР ушло 10 дней. Все компоненты платы создавали в 3D, чтобы гарантированно состыковаться с корпусом. Платы сделали на Резоните, остальные компоненты закупили в РФ. Сложную плату Power-Hub Board собрали на срочном контрактном производстве. Ценник получился ~8 000 руб. за плату с учетом количества 40 штук, срочности и монтажа на автоматической линии SMT\THT на партию.
И вот началась сборка. «На фронт» призвали почти всех сотрудников от офис-менеджера до технического директора.
Пилот на выборах в Ярославле прошел на ура. Развернули 30 рабочих мест, и бинго (!) - не было ни единого сбоя.
Прототип – ДО5 по кличке «горбатый»
Целью создания ДО5 была проверка гипотезы, что GM-Box c двумя платами и встроенным KVM может заменить два отдельных компьютера на рабочем месте пользователей, работающих одновременно в открытом, публичном и закрытом сегментах локальной сети. Мы сделали несколько демонстраций и пилотов, подтвердили верность нашей гипотезы и добавили этот функционал в список требований к серийной версии.
На фотографии виден «горб», в котором спрятана вторая плата Wintel и «потроха» обычного KVM, купленного в ближайшем компьютерном магазине. «Горб» распечатали на домашнем 3D принтере. Все остальное – «хэнд мэйд» в количестве двух образцов.
Заключение
Проверка продуктовых гипотез, сборка и тестирование прототипов, обкатка ключевых технических решений на реальных пользователях – важный этап создания продукта, который действительно востребован рынком. Полученные на этом этапе знания, опыт примененных, новых для нас технологий стали фундаментом для разработки, сэкономили время и ресурсы компании на запуск уже серийного изделия.
Когда от проверки продуктовых гипотез на прототипах мы перешли к разработке серийной версии, то это был не менее тернистый путь, о котором я расскажу уже в следующей публикации. Будет также много технических деталей и фотографий.
Полезные ссылки
Рекомендую почитать серию постов команды BOLT Team, про разработку «железных» продуктов.