История о том, как пятеро друзей создали маленькую плату, которая взяла штурмом мир электронных самоделок
Итальянский городок Ивреа, стоящий на реке Дора Балтея, знаменит своими королями-неудачниками. В 1002 году король Ардуин стал правителем страны, а через два года был свергнут королем Германии Генри II. Сегодня бар ди Ре Ардуино, расположенный в исторической части этого городка, назван в честь короля и стоит на том самом месте, где, по преданию, родился король.
Бар является пивнушкой Массимо Банци (Massimo Banzi), итальянского соучредителя проекта в сфере электроники, который был назван в честь этого места. Ардуино - недорогая микроконтроллерная плата, которая позволяет даже новичку делать по-настоящему удивительные вещи. Вы можете подсоединить к Arduino различные типы датчиков, источников света, электромоторов и множество прочих устройств, и использовать легко осваиваемое программное обеспечение, чтобы запрограммировать поведение вашего творения. Вы можете создать интерактивный дисплей или движущегося робота, а затем поведать о нем другим, разместив отчет или видео в сети.
Первая плата прототипа, сделанная в 2005 году, имела простейший дизайн и еще не называлась Arduino. Немного позже, в том же году, Массимо Банци придумал ей имя (Фото: Массимо Банци) |
Выпущенный в 2005 году как скромный инструмент для студентов Банци в Институте проектирования взаимодействий города
Ивреа (Interaction Design Institute Ivrea, IDII), Arduino породил международную революцию в сфере международных электронных самоделок. Вы можете купить эту плату всего за $30 или собрать ее с нуля. Все схемы и исходные коды доступны бесплатно на условиях открытых лицензий. В результате Arduino стал самой влиятельной аппаратной системой своего времени с открытым исходным кодом.
Маленькая печатная плата теперь является, своего рода, источником вдохновения для «художников» в электронике, людей, увлеченных электронными поделками, студентов и любого, у кого есть мечта собрать что-нибудь этакое. Во всем мире продано более 250,000 комплектов Arduino, и это не учитывая множества клонов. «Это позволило людям делать вещи, которые они не сделали бы каким-либо иным способом» - говорит Дэвид А. Мелис (David A. Mellis), который до того, как выполнил квалификационную работу в Медиа, был студентом IDII лаборатории Массачусетского технического института, а теперь является ведущим разработчиком программного обеспечения для Arduino.
Ядро команды Arduino (слева направо): Дэвид Куар-тилльз (David Cuartielles), Джанлука Мартино(Gianluka Martino), Том Иго (Tom Igoe), Дэвид Мелис (David Mellis), и Массимо Банци (Massimo Banzi) на конференции Maker Faire в Нью-Йорке |
Сегодня имеется множество интересных разработок на базе Arduino, таких, как алкотестеры, светодиодные кубы, системы домашней автоматизации, дисплеи отображения Twitter-сообщений и даже наборы для анализа ДНК! Уже появились целые клубы и сообщества любителей Arduino. Google недавно выпустил основанный на Arduino комплект разработчика для своего смартфона на базе Android. Как высказался на этот счет Дэйл Доэрти (Dale Dougherty), редактор и издатель журнала "Make", библии любителей самоделок, Arduino стал "мозгами создателей проектов".
Но Arduino - это не только общедоступный проект, стремящийся сделать технологии более доступными. Это также стартаповая компания, которой руководит Банци и небольшая группа его друзей. И эта компания столкнулась с проблемой, которую не может решить даже их волшебное изделие - как пережить нахлынувший успех и вырасти. "Мы должны сделать следующий скачок», - говорит Банци, - «и стать крупной компанией".
В свою очередь, когда-то Arduino вырос из другой крупной проблемы - как научить студентов создавать электронные устройства, причем быстро. Это был 2002 год, и Банци, бородатый и добродушный разработчик программного обеспечения, был взят на работу в IDII в качестве доцента для продвижения новых способов разработки интерактивного проекта - новой области, также известной как физические вычисления. Но с урезанным бюджетом и ограниченным по времени доступом к лабораторной базе, его возможности использования необходимых приборов были небольшими.
Как и многие из его коллег, Банци полагался на BASIC Stamp, микроконтроллер, разработанный Калифорнийской компанией Parallax, который инженеры использовали в течение приблизительно десятилетия. Программируемый посредством языка BASIC, Stamp, в целом, представлял собой небольшую печатную плату с размещенными на ней источником питания, микроконтроллером, памятью и портами ввода/вывода для соединения с различной аппаратурой. Но у BASIC Stamp были две проблемы, которые обнаружил Банци - у него не хватало достаточной вычислительной мощности для некоторых задуманных его студентами проектов, и он был достаточно дорогим - плата с основными дополнениями могла стоить около $100. Кроме того, Банци нуждался в чем-то, что могло бы работать на компьютерах Macintosh, которые были практически у каждого разработчика в IDII. Что, если они сами смогли бы сделать плату, которая непосредственно удовлетворяла бы их потребностям?
У Банци был коллега из MIT, разработавший удобный язык программирования Processing. Processing быстро завоевывал популярность, поскольку позволял даже неопытным программистам создавать сложные, и в то же время красивые, системы визуализации данных. Одной из причин его успеха стала очень удобная в процессе работы интегрированная среда разработки (IDE). Банци задался вопросом, возможно ли самим разработать подобный программный инструментарий, чтобы программировать микроконтроллер, вместо того, чтобы рисовать графику на экране.
Обучавшийся у Банци Эрнандо Барраган (Hernando Barragan), сделал первые шаги в этом направлении. Он создал платформу разработки, названную Wiring, которая включала в себя как дружественную пользователю IDE, так и готовую к использованию плату. Это был многообещающий проект, который продолжает развиваться по сей день, но Банци уже задумал более крупный. Он хотел создать платформу, которая была бы еще проще, дешевле и легче в использовании.
Банци и его сотрудники были сторонниками программного обеспечения с открытым исходным кодом. И с того момента, когда была поставлена задача создать простую и легкодоступную платформу, они почувствовали, что правильнее будет разработать открытую платформу, доступную для многих людей, нежели закрытую. Другим фактором, способствовавшим этому решению, было то, что после пяти лет работы IDII исчерпывал свои фонды и собирался закрываться. Преподаватели боялись, что их проекты не выживут или будут незаконно присвоены кем-либо. По этому поводу Банци вспоминает: "Итак, мы сказали: забудьте про это. Давайте же сделаем открытую платформу".
Новая модель с открытым исходным кодом довольно долго использовалась для развития программного обеспечения, но не аппаратного. Для того, чтобы заставить ее работать должным образом, нужно было найти подходящее лицензионное решение, которое могло бы подойти для их платы. После некоторых исследований они поняли, что если бы взглянули на свой проект немного под другим углом, то смогли бы использовать лицензию от Creative Commons, некоммерческой организации, соглашения которой обычно используются в сфере творческих работ, таких как музыка и литература. "Вы можете рассматривать аппаратное обеспечение как часть культуры, которой вы хотите поделиться с другими людьми" - говорит Банци.
Приступив к работе, группа разработчиков сразу задалась целью сделать устройство, цена которого была бы подходящей для студенческого кармана - $30. "Цена устройства должна быть эквивалентна стоимости обеда в пиццерии" - говорит Банци. Также они хотели сделать его необычным, в чем-то выделяющимся и классно смотрящимся для помешанных на электронике людей. В то время как обычные платы, чаще всего, имеют зеленый цвет, они решили сделать свою плату синей, там где другие производители экономят на количестве выводов печатной платы, они решили добавить их как можно больше. И в качестве последнего штриха они нанесли небольшую карту Италии на нижнюю сторону платы. "Здесь много проектных решений, которые выглядят, по меньшей мере, странно для настоящего инженера" - говорит со смехом Банци - "Но я не настоящий инженер, поэтому я избрал такой глупый путь".
Для одного из "настоящих" инженеров в команде, Джанлуки Мартино, такой нетрадиционный подход к проектированию печатной платы был поучителен. Мартино описывает его как «новый способ мышления об электронике». Он говорит: "Это не инженерный способ разработки, где вы должны учитывать каждый электрод, это подход самоделкина".
Продукт, который создала команда, состоял из дешевых компонентов, которые могли
быть легко найдены на рынке электроники, например, микроконтроллер ATmega328. Но ключевое решение состояло в том, чтобы гарантировать работу устройства по принципу plug-and-play: чтобы пользователь, достав плату из коробки и подключив к компьютеру, мог немедленно приступить к работе. Такие платформы, как BASIC Stamp, для этих целей требовали от пользователя наличия еще полдюжины компонентов, которые включались в общую стоимость продукта, в то время как устройство команды Банци нуждалось лишь USB-кабеле, посредством которого оно соединялось с компьютером - Mac или PC.
"Философия Arduino состоит в том, что если вы захотите научиться электронике, вы сможете изучать ее уже с первого дня, вместо того, чтобы сначала учиться алгебре" - говорит другой член команды, инженер по телекоммуникациям, Дэвид Куартилльз.
И вскоре команда Банци проверила это утверждение на практике. Они вручили 300 пустых печатных плат студентам IDII с простым наставлением: ищите инструкции в интернете, разработайте свою собственную плату, и используйте ее для чего-нибудь. Одним из первых проектов был самодельный будильник, который свисал с потолка на кабеле. Суть идеи заключалась в том, что всякий раз, при нажатии кнопки сброса сигнала пробуждения, будильник поднимался по кабелю все выше, и так до тех пор, пока вы не встанете окончательно.
Вскоре об этой плате услышали другие. И тоже захотели приобрести себе такую. Первым покупателем стал друг Банци, который заказал себе одну штуку. Так проект начал набирать обороты, но была упущена одна существенная вещь - у их изобретения не было названия. И вот однажды ночью, за стопкой алкогольного напитка, в местном пабе идея и пришла к ним - "Arduino", - прямо как этот бар и король.
Слово "Arduino" быстро распространилось в Интернете без какой-либо рекламы и привлечения средств маркетинга. Вначале это привлекло внимание Тома Иго, профессора в области физических вычислений, занятого по программе телекоммуникационного взаимодействия в Нью-йоркском университете. Сегодня он также входит в ядро команды Arduino. Иго обучал студентов нетехнических специальностей, используя BASIC Stamp, но был впечатлен возможностями Arduino. "Они предполагали, что вы не знаете электронику и программирование, что вы не хотите разрабатывать целое устройство, но, в то же время, смогли бы запрограммировать простую микросхему. Вы просто можете открыть коробку с платой, нажать кнопку загрузки, и она заработает" - говорит Иго. "Кроме того, я был поражен ее стоимостью в $30, которая делает плату доступной. Для меня это было одним из ключевых факторов".
Своим успехом Arduino во многом обязан существовавшим до него Processing и Wiring. От этих проектов Arduino унаследовал одну сильную черту - удобную для пользователя среду разработки. До появления Ардуино программирование микроконтроллеров сопровождалось сложным и рутинным обучением. С Arduino даже те, кто не имел опыта работы с электронными устройствами, могут проникнуть в ранее загадочный для них мир электроники. Теперь новичкам не нужно тратить много времени на изучение соответствующего материала, они могут быстро разработать прототип, который будет полноценно рабочим. Это мощный шаг вперед, в то время как некоторые довольно популярные гаджеты представляют собой "черные ящики", закрытые и защищенные патентами.
По мнению Банци, самым, вероятно, важным результатом воздействия Arduino стала демократизация процесса разработки. "Пятьдесят лет назад для разработки программного обеспечения вам требовалась команда людей в белых халатах, которые знали все об электронных лампах. Но теперь даже моя мама может программировать" - утверждает Банци, - "Мы позволили множеству людей создавать электронные устройства самостоятельно".
Но не все инженеры любят Ардуино. Наиболее придирчивые из них критикуют этот продукт за достаточно глупый, с точки зрения инжиниринга, подход к разработке и заполнение рынка любительской радиоэлектроники серым дилетантским товаром. Меллис, однако, не рассматривает новинку как угрозу обесценивания роли инженера вообще. Он говорит: "Имея платформу, которая позволяет проектировщику или любой другой творческой личности немножко приблизиться к своей цели, люди могут теперь упростить себе взаимодействие со специалистами и сказать "Вот то, что я хочу в итоге сделать". Я не думаю, что это замена инженера, это всего лишь облегчает сотрудничество".
Для того, чтобы поддерживать распространение Arduino, команда Банци рассматривает способы более глубокой интеграции своей платформы в систему образования, от начальных школ до колледжей. Несколько университетов, включая Карнеги Меллона и Стэнфорд, уже используют Ардуино. Меллис изучал как студенты и дилетанты постигают электронику на семинарах в медиа лаборатории Массачусетского института. Меллис приглашает 8 - 10 человек в лабораторию, где им дают задачу, которую необходимо выполнить в течение дня. Среди проектов были такие, как разработка спикеров для iPod, FM-радио и компьютерной мыши с использованием тех же компонентов, которые используются в Arduino.
Но распространение идеологии Ардуино -это лишь часть проблемы. Команда не должна отставать от современных требований, предъявляемых к их платам. И теперь, фактически, платформа Arduino представлена не одной платой, а целым семейством. В дополнение к оригинальному проекту, названному Arduino Uno, новые модели, имеющие более мощные средства на плате, носят название Arduino Mega, более компактные называются Arduino Nano, в водонепроницаемом корпусе - LilyPad Arduino, и недавно выпущенная модель с поддержкой сетевого подключения - Arduino Ethernet.
Arduino также породил целую отрасль домашнего производства для любителей электроники. В настоящее время по всему миру насчитывается более двухсот дистрибьюторов продукции Arduino, от крупных компаний, таких как SparkFun Electronics или in Boulder, Colo., до компаний семейного бизнеса, работающих на местный рынок. Банци недавно узнал о человеке из Португалии, который уволился из телефонной компании для того, чтобы продавать продукцию Arduino прямо из дома. Член команды Arduino Джанлука Мартино, ответственный за производство и распространение, говорит, что они работают в сверхурочное время, чтобы удовлетворить потребности развивающихся рынков Китая, Индии и Южной Америки. По его словам, в настоящее время, около 80% продаж Arduino приходится на Северную Америку и Европу, тогда как остальные 20% приходятся на весь остальной мир.
Команда Arduino заключила контракт с компанией, которая способна производить от 100 до 3000 плат в день на фабрике неподалеку от итальянского городка Ивреа (Фото: Массимо Банци) |
Поскольку команда не может позволить себе снабжать рынки сотнями тысяч плат, ей приходится производить от 100 до 3000 устройств в день на различных фабриках близ их родного города Ивреа. Для каждой из плат команда разработала систему контроля выводов, количество которых для модели Uno, например, равно 26: 14 цифровых входов/выходов, 6 аналоговых входов, и еще 6 для подключения питания. Это большая проблема для обеспечения требуемого качества, с учетом того, что необходимо производить и проверять тысячи модулей в день. Но плата Ардуино достаточно дешева, чтобы позволить команде держать обещание заменять любую плату, которая отказывается работать. По словам Мартино, доля отказов ниже 1 процента.
Команда Arduino зарабатывает уже достаточно, чтобы содержать двух ее сотрудников в качестве постоянных работников, и уже планирует увеличение возможностей и производительности своей платы. На состоявшейся в сентябре в Нью-Йорке конференции Maker Faire, спонсируемой журналом Make, станет ответом на требования поддержки более мощной периферии. Например, MakerBot Thing-O-Matic является набором для изготовления 3-D принтера на базе Ардуино, но с использованием более быстрого процессора он получит больше преимуществ для решения более сложных задач.
Недавно команда представила модель Arduino Due, плату с 32-разрядным процессором Cortex-M3 ARM, который предоставляет больше вычислительной мощности для разработчиков, занятых сложными проектами |
Очередное ускорение проект получил в 2011 году, когда Google выпустил основанный на Arduino комплект разработчика для своей системы Android. Android ADK (вспомогательный комплект разработчика) от Google является платформой, позволяющей телефону с ОС Android взаимодействовать с двигателями, датчиками, и другими устройствами. Вы можете создать приложение для Android, которое использует камеру телефона, датчики движения, сенсорный экран, и интернет-связь, чтобы управлять, например, дисплеем или роботом. Энтузиасты говорят, что дополнительная поддержка Android открывает еще большие возможности для проектов Arduino.
Но к вопросу чрезмерного усложнения Arduino команда, все же, подходит с крайней осторожностью. "Проблема заключается в том, чтобы найти способ объединения на одной платформе всего множества вещей, которые хотят иметь люди", - говорит Меллис, - "но при этом не сделать продукт слишком сложным для новичков".
Сейчас они наслаждаются своей популярностью. Поклонники приезжают издалека лишь для того, чтобы выпить в пабе городка Ивреа, в честь которого феномен получил название Arduino. Банци говорит: "Люди приходят в бар и заявляют: "Мы здесь из-за платы Arduino". Но тут имеется одна проблемка. Бармены не знают, что такое плата Ардуино".