Запуск разработки продукта с помощью Raspberry Pi: от малого к большому.

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

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

Что мы считаем правильным прототипом

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

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

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

Оптимальный подход к созданию прототипов

Специалисты нашей компании регулярно работают над системными и встроенными проектами, которые требуют создания прототипов для исследования различных вариантов будущего продукта. В проектах они часто используют платы разработки Nucleo для микроконтроллеров STM32 и Raspberry Pi для ARM-решений, которые проявили себя в качестве наиболее практичных и универсальных решений для целей исследования и прототипирования.

Raspberry Pi — миниатюрный компьютер, изначально созданный качестве инструмента для обучения программированию, электронике и созданию проектов DIY (do-it-yourself), в настоящее время все более широко используется для разработки различных «серьезных» проектов. Фактически он стал отраслевым стандартом для прототипирования и в области Интернета Вещей, автоматизации, индустриализации и других областях. При разработке продукта на основе процессора ARM первым шагом часто является создание базового прототипа продукта с использованием Raspberry Pi и плат расширения.

Несколько факторов определяют популярность Raspberry Pi:

  • Доступность: он легко доступен во всем мире, без необходимости предварительного заказа и ожидания доставки.
  • Низкая стоимость: его средняя стоимость составляет $35, что делает его доступным вариантом.
  • Подлинный ARM-процессор: он основан на полностью функциональном процессоре ARM, широко используемом в различных продуктах, от смартфонов до суперсерверов.
  • Модульный и открытый дизайн: дизайн Raspberry Pi позволяет подключать различные внешние устройства и платы расширения, например датчики, интерфейсы и кнопки.
  • Сильное инженерное сообщество: его поддерживает огромное инженерное сообщество по всему миру, разрабатывающее документацию, учебные пособия, мастер-классы и советы для пользователей.

Почему компании избегают создания прототипов

Несмотря на то, что создание прототипа продукта на платформе Raspberry Pi кажется простым, некоторые клиенты не хотят даже рассматривать такую возможность из-за того, что плата не выглядит серьезным инструментом. Опираясь на наш опыт общения с заказчиками, можно выделить несколько причин, по которым компании не используют RPI для прототипирования, например:

  • Кризис идей: некоторые владельцы продуктов предпочитают ждать разработки готового устройства или заказать дорогостоящий промышленный прототип, вместо создания простого «быстрого» прототипа из подручных материалов, который позволил бы начать разработку ПО раньше.
  • «Что о нас подумают»: в некоторых случаях крупные компании могут смотреть свысока на дешевые прототипы, что может стать дорогостоящей ошибкой. Тем не менее все больше игроков ИТ рынка используют Raspberry Pi для исследовательских работ и разработки прототипов.
  • «Наш продукт слишком сложен для прототипирования»: некоторые компании, особенно те, у которых нет опыта в разработке аппаратного обеспечения, считают, что создание прототипа их устройства слишком сложно.

В качестве примера я хочу поделиться одним из наших проектов, где мы разрабатывали встроенное программное обеспечение для строительного инструмента. Из-за его веса и требований по технике безопасности в офисных помещениях, сам инструмент был не очень удобен для тестирования. Наша инженерная команда использовала небольшую плату для разработки и пружину из офисного стула, чтобы создать упрощенный прототип, изображенный на рисунке №1. Хотя прототип ничем не напоминал конечный инструмент, мы доказали заказчику, что даже в таком виде он может отрабатывать примерно 70% сценариев ПО продукта. Это произвело большое впечатление на владельца продукта.

Запуск разработки продукта с помощью Raspberry Pi: от малого к большому.
Изображение №1 — инженерный прототип строительного инструмента, созданный командой разработки ПО.

Прототипирование с Raspberry Pi – пример проекта

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

Глобальный производитель мобильных электронных устройств решил создать инновационный планшет с персонализированной аппаратной платформой, основанной на собственном процессоре ARM System-On-Chip. Однако разработка кастомного оборудования обычно занимает много времени и требует разработки кастомизированного ПО, что еще больше затягивает процесс. В данном случае приоритетом для клиента было сокращение сроков вывода продукта на рынок, поэтому они не могли позволить себе ждать окончания разработки готового оборудование для старта работ по ПО, так как это, скорее всего, удвоило бы продолжительность этапа разработки. 

Поскольку целевое устройство основано на процессоре ARM, наш клиент поручил команде Auriga начать разработку программного обеспечения без доступа к реальному устройству. Для этого мы создали простой прототип, используя Raspberry Pi 4b и набор периферийных устройств, таких как ЖК-экран и набор внешних USB-устройств (Рис. 2). Несмотря на свою простоту, этот прототип позволил нам запустить встроенную ОС и реализовать большую часть необходимой функциональности, что значительно сократило время разработки. Программное решение практически готово, и как только целевое оборудование станет доступным, нам останется внести небольшие корректировки и реализовать несколько функций, зависящих от аппаратного обеспечения, что займет немного времени.

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

Запуск разработки продукта с помощью Raspberry Pi: от малого к большому.
Рисунок №2 — прототип, сделанный на основе разработочной платы Raspberry Pi 4, расширительной платы и ЖК-экрана TFT.

Почему мы рекомендуем использовать платы для разработки для создания собственных прототипов

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

Одна из ценностей Ауриги — стремление к совершенству. Наша команда по разработке встроенного программного обеспечения постоянно работает над тем, чтобы искать и применять наиболее передовые эффективные методы и технологии при прототипировании. В развернутых лабораториях по тестированию встроенных систем наши инженеры могут создавать прототипы с нуля для самых разных целей. Наши клиенты высоко ценят творческий подход наших инженеров. Рубен Эчанди, вице-президент по инженерному дизайну в Digital Guardian, отметил:

В Digital Guardian работает исключительная инженерная команда, которая смогла бы взаимодействовать только с уникальными людьми. Я считаю, что в Ауриге работают именно такие люди, которые прекрасно справляются с экстраординарными идеями. Аурига ни разу нас не разочаровала. В частности, мне очень нравится, что [даже если] информации очень мало, они берут инициативу в свои руки, воплощают концепцию в жизнь и обеспечивают результат

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