Привет, сегодня я начну рассказывать историю разработки аппаратной платформы для создания «умных» рабочих мест 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.

 Живое фото GM-Box G1 (это не рендер)
Живое фото GM-Box G1 (это не рендер)
Суть GM-Box одной картинкой
Суть GM-Box одной картинкой

Методология разработки

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

Этапы создания продукта
Этапы создания продукта

Конечно, у нас была и доля естественной для стартапа энтропии, с которой мы боролись каждый день. Из особенностей нашего подхода к работе я бы выделил:

  • создание на каждом этапе разработки продукта задела для следующих шагов;

  • формализация требований (технического задания, спецификации);

  • много визуализации (скетчи, фото, 3D модели).

Нам это очень помогло, потому что цена изменений\исправлений в железе вот такая, как на схеме (только в жизни еще дороже, потому что расплачиваться приходится еще и временем с нервами):

Цена изменений
Цена изменений

Наши ключевые инструменты для управления работой и ее артефактами:

  • Confluence в качестве базы знаний, механизма отчетов и хранилища истории;

  • JIRA – трекер задач для Scrum команды;

  • GitLab – храним все исходники;

  • MinIO– специализированный репозиторий для бинарников (дистрибутивов);

  • И много-много личного и виртуального общения.

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

Проверка гипотезы, разработка прототипов

Путь от идеи к продукту начался с проверки гипотезы, что пользователю действительно необходимо устройство в концепции «all-in-one» («все в одном»), что он готов перейти к работе с виртуальным рабочим столом и может (и хочет) использовать свой смартфон как часть офисного рабочего места. Попутно мы должны были оценить техническую возможность воплотить нашу идею в жизнь. Для этого позарез нужно было что-то для демонстрации продукта и технологий. И это что-то - прототипы. Всего на этапе проверки концепции мы разработали и изготовили 5 версий прототипов, которые мы называли Демонстрационными Образцами (ДО). Вот так выглядел один из скетчей:

Скетч прототипа в черновике
Скетч прототипа в черновике

В процессе подготовки к проверке гипотезы мы определились с обязательными компонентами нашего изделия. Некоторые компоненты отмечены на скетче:

  1. корпус док-станции;

  2. полка «парковки» с расположением интерфейса взаимодействия\подключения;

  3. зоны расположения клавиатуры;

  4. зоны расположения клавиатуры;

  5. «парковка» смартфона;

  6. и 6а - телефония;

  7. кабельное подключение смартфона к док-станции;

  8. интерфейсы для подключения периферийных устройств к док-станции.

Остальные компоненты:

  • вычислитель + ПО;

  • подключение к монитору;

  • дополнительные средства телефонии.

Прототип - ДО1

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

Прототип ДО1
Прототип ДО1
3D blow up модель
3D blow up модель

Электронику реализовали на одноплатном ПК на базе процессора ARM1176JZ-F. Взяли этот ПК, чтобы начать с чего-то легкодоступного в ближайшем магазине.

Raspberry Pi 1 Model A
Raspberry Pi 1 Model A

Кнопки и прочую периферию подключили к «гребенке» портов расширения. Корпус распечатали на 3D принтере, немного доработали и покрасили. Именно такой функционал, да еще под технологию прототипирования, нам разрабатывать до этого случая не доводилось, поэтому местами приходилось «изобретать велосипед», и результат не сразу получился таким, как надо. Вот к чему сводились основные замечания к прототипу:

  • недостаточная производительность вычислительной системы для работы в web-режиме;

  • неудобный интерфейс установки\подключения смартфона;

  • низкое качество акустики телефонии;

  • работа только в режиме гарнитуры для смартфона;

  • неудобная для сборки конструкция корпуса;

  • низкое качество корпуса и кнопок (3D принтер).

Прототип – ДО2\3

Образец ДО2\3
Образец ДО2\3

Опыт, полученный при разработке ДО1, мы усвоили и сделали достаточно подробное внутреннее ТЗ, переработали конструкцию и изготовили новые образы по технологии литья в силикон. Конечно, это дороже чем 3D печать, но и внешний вид совсем другой. Уже можно было выносить на «свет божий», чтобы показывать инвесторам и клиентам. После печати пластик покрасили, на прозрачные кнопки нанесли пиктограммы методом УФ-печати, чтобы не истирались. Электронику реализовали на базе одноплатного ПК Odroid-XU4, потому что это был оптимальный выбор из существующих на тот момент на рынке «считалок».

Внутреннее устройство ДО2\3
Внутреннее устройство ДО2\3

Модификация ДО3 по сравнению с ДО2 устроена была почти так же, за исключением установки некоторых периферий модулей: Qi, NFC, громкая связь. Основные замечания к этой версии:

  • невозможность реализовать в продукте поддержку VDI из-за отсутствия в публичном доступе клиента под ARM CPU;

  • отсутствие свободных драйверов не позволяло нам декодировать поток на GPU;

  • нестабильная работа USB Hub на плате расширения;

  • низкое качество акустики, реализованной на плате расширения;

  • низкое качество акустики телефонии;

  • плохая работа клавиатуры.

Прототип – ДО4

Образец ДО4
Образец ДО4

К этому этапу мы прокачались до разработчиков, что называется, 80-го уровня, и правильные решения нам уже снились. Архитектурно мы сделали резкий поворот в сторону x86 платформы и это было одним из важнейших решений в продукте. О претензиях к ARM я упомянул выше. Немного повторю и добавлю причины перехода на x86:

  • большое разнообразие VDI клиентов под платформу x86;

  • наличие свободных драйверов под GPU;

  • большое разнообразие качественной периферии + бинарные драйвера x86;

  • легкий доступ к «телу» вендора процессора (Intel);

  • большое разнообразие софта под x86.

Мы применили Wintel-CXW8-Pro на базе Intel Atom x5-Z8300 Cherry Trail, потому что:

  • производительность, как минимум, не хуже, чем у проверенного нами Odroid-XU4;

  • все необходимые интерфейсы для наших прототипов в наличии;

  • наличие на рынке готовых устройств mini PC в качестве доноров системной платы;

  • низкая стоимость.

Системная плата Wintel-CXW8-Pro
Системная плата Wintel-CXW8-Pro

Для проверки релевантности такого решения, еще на этапе ДО2\3, мы собрали один опытный образец и протестировали совместно с одним из потенциальных заказчиков.

У нас возникла идея продемонстрировать реальным пользователям нашу технологию в деле. И тут появилась уникальная возможность реализовать пилотный проект на выборах в Ярославле. Счетчик времени запустился. Предстояла проверка нашей гипотезы о замене обычного ПК на GM-BOX в реальной жизни. Сборка 40 устройств представлялась нам непростой задачей, и вот почему:

  • конструкция корпуса требовала доработки;

  • некоторые электронные узлы еще не были разработаны;

  • несерийное устройство без конструкторской и технологической документации;

  • Firmware не разработано;

  • не обкатанный сборочный процесс, отсутствие нормировки времени сборки;

  • дата готовности, которую нельзя сдвинуть;

  • отсутствие собственного, хотя бы, опытного производства;

  • другие, параллельные задачи по разработке серийной версии GM-Box.

Сложность задачи только подстегнула наш интерес, так что мы начали готовиться к пилоту с использованием ДО4. Внутренняя начинка устройства была устроена так, как на схеме:

Power-Hub Board, схема структурная
Power-Hub Board, схема структурная

Периферию рисовали в САПР AltiumDesigner и развели на 4-х слоях. На проект электроники в САПР ушло 10 дней. Все компоненты платы создавали в 3D, чтобы гарантированно состыковаться с корпусом. Платы сделали на Резоните, остальные компоненты закупили в РФ. Сложную плату Power-Hub Board собрали на срочном контрактном производстве. Ценник получился ~8 000 руб. за плату с учетом количества 40 штук, срочности и монтажа на автоматической линии SMT\THT на партию.

Power-Hub Board 3D модель (Altium Designer)
Power-Hub Board 3D модель (Altium Designer)
Рабочие образцы Power-Hub Board и Button Board
Рабочие образцы Power-Hub Board и Button Board

И вот началась сборка. «На фронт» призвали почти всех сотрудников от офис-менеджера до технического директора.

Полуфабрикаты ДО4
Полуфабрикаты ДО4
Опытная партия ДО4
Опытная партия ДО4

Пилот на выборах в Ярославле прошел на ура. Развернули 30 рабочих мест, и бинго (!) - не было ни единого сбоя.

Рабочее место члена избирательной комиссии, оборудованное GM-BOX
Рабочее место члена избирательной комиссии, оборудованное GM-BOX

Прототип – ДО5 по кличке «горбатый»

Образец ДО5 по кличке «Горбатый»
Образец ДО5 по кличке «Горбатый»

Целью создания ДО5 была проверка гипотезы, что GM-Box c двумя платами и встроенным KVM может заменить два отдельных компьютера на рабочем месте пользователей, работающих одновременно в открытом, публичном и закрытом сегментах локальной сети. Мы сделали несколько демонстраций и пилотов, подтвердили верность нашей гипотезы и добавили этот функционал в список требований к серийной версии.

На фотографии виден «горб», в котором спрятана вторая плата Wintel и «потроха» обычного KVM, купленного в ближайшем компьютерном магазине. «Горб» распечатали на домашнем 3D принтере. Все остальное – «хэнд мэйд» в количестве двух образцов.

Анатомия ДО5
Анатомия ДО5

Заключение

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

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

Полезные ссылки

Рекомендую почитать серию постов команды BOLT Team, про разработку «железных» продуктов.