Привет, сегодня я начну рассказывать историю разработки аппаратной платформы для создания «умных» рабочих мест 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а - телефония; кабельное подключение смартфона к док-станции; интерфейсы для подключения периферийных устройств к док-станции. Остальные компоненты: вычислитель + ПО; подключение к монитору; дополнительные средства телефонии. Когда мы, наконец-то, приступили к инженерной работе по созданию первого демонстрационного образца, бумажные скетчи мы трансформировали в 3D модель с учетом технологии литья пластика.         Электронику реализовали на одноплатном ПК на базе процессора ARM1176JZ-F. Взяли этот ПК, чтобы начать с чего-то легкодоступного в ближайшем магазине. Кнопки и прочую периферию подключили к «гребенке» портов расширения. Корпус распечатали на 3D принтере, немного доработали и покрасили. Именно такой функционал, да еще под технологию прототипирования, нам разрабатывать до этого случая не доводилось, поэтому местами приходилось «изобретать велосипед», и результат не сразу получился таким, как надо. Вот к чему сводились основные замечания к прототипу: недостаточная производительность вычислительной системы для работы в web-режиме; неудобный интерфейс установки\подключения смартфона; низкое качество акустики телефонии; работа только в режиме гарнитуры для смартфона; неудобная для сборки конструкция корпуса; низкое качество корпуса и кнопок (3D принтер). Опыт, полученный при разработке ДО1, мы усвоили и сделали достаточно подробное внутреннее ТЗ, переработали конструкцию и изготовили новые образы по технологии литья в силикон. Конечно, это дороже чем 3D печать, но и внешний вид совсем другой. Уже можно было выносить на «свет божий», чтобы показывать инвесторам и клиентам. После печати пластик покрасили, на прозрачные кнопки нанесли пиктограммы методом УФ-печати, чтобы не истирались. Электронику реализовали на базе одноплатного ПК Odroid-XU4, потому что это был оптимальный выбор из существующих на тот момент на рынке «считалок». Модификация ДО3 по сравнению с ДО2 устроена была почти так же, за исключением установки некоторых периферий модулей: Qi, NFC, громкая связь. Основные замечания к этой версии: невозможность реализовать в продукте поддержку VDI из-за отсутствия в публичном доступе клиента под ARM CPU; отсутствие свободных драйверов не позволяло нам декодировать поток на GPU; нестабильная работа USB Hub на плате расширения; низкое качество акустики, реализованной на плате расширения; низкое качество акустики телефонии; плохая работа клавиатуры. К этому этапу мы прокачались до разработчиков, что называется, 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 была проверка гипотезы, что GM-Box c двумя платами и встроенным KVM может заменить два отдельных компьютера на рабочем месте пользователей, работающих одновременно в открытом, публичном и закрытом сегментах локальной сети. Мы сделали несколько демонстраций и пилотов, подтвердили верность нашей гипотезы и добавили этот функционал в список требований к серийной версии. На фотографии виден «горб», в котором спрятана вторая плата Wintel и «потроха» обычного KVM, купленного в ближайшем компьютерном магазине. «Горб» распечатали на домашнем 3D принтере. Все остальное – «хэнд мэйд» в количестве двух образцов. Проверка продуктовых гипотез, сборка и тестирование прототипов, обкатка ключевых технических решений на реальных пользователях – важный этап создания продукта, который действительно востребован рынком. Полученные на этом этапе знания, опыт примененных, новых для нас технологий стали фундаментом для разработки, сэкономили время и ресурсы компании на запуск уже серийного изделия. Когда от проверки продуктовых гипотез на прототипах мы перешли к разработке серийной версии, то это был не менее тернистый путь, о котором я расскажу уже в следующей публикации. Будет также много технических деталей и фотографий.  Рекомендую почитать серию постов команды BOLT Team, про разработку «железных» продуктов.  Электроника