Привет, сегодня я начну рассказывать историю разработки аппаратной платформы для создания «умных» рабочих мест 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, про разработку «железных» продуктов.
lelik363
Можно ли было узнать о проблемах VDI клиентами и свободными драйверами под GPU без изготовления двух прототипах на ARM процессорах?
AlekseyDudarev Автор
Можно было бы проверить на девборде или камодити (планшет, ноут, пк, тк) из ближайшего магазина если бы это была единственная задача\проблема для этих прототипов. Мы же параллельно проверяли множество других гипотез: телефония VOIP, подключение монитора, клава, мышка, подключение другой переферии, подключение\интеграция со смартфоном, программаный стек и т.д. А еще нужно было показать рабочую концепцию инвесторам. Слова, картинки, муляжи плохо воспринимаются инвесторами и пользователями. В этом потоке множества паралельных задач мы заодно обкатывали и VDI.
lelik363
Сколько времени потребовалось на историю из 5 демо оборазцов?
AlekseyDudarev Автор
~2 года до старта разработки промышленной версии