Raspberry Pi — Linux за $25


raspberry-pi-linux-za-25_1.png

Джонатан Робертс представляет Raspberry Pi — машинку Linux за $25, намеренную революционизировать программирование.

Справедливо будет отметить, что за последние несколько десятилетий компьютеры, и технологии в целом, развивались бешеными темпами. В 1980-х, например, повсеместной операционной системой была MS-DOS.

Это означало, что почти на каждом компьютере пользователь должен был взаимодействовать с командной строкой. Не было никакого графического интерфейса, по крайней мере, по умолчанию, и пользователь должен был кое-что изучить о системе, прежде чем в ней работать. Сегодня, в целом, основная современная ОС — это iOS. Пользователи могут ничего не знать о своем компьютере (а именно таковыми стали телефоны или планшеты) и делать на нем что угодно — они просто нажимают большие красивые кнопки, и все. Они понятия не имеют, как их устройство работает: для них это волшебство. Даже на Linux, которую часто называют операционной системой для технарей, есть графические интерфейсы, и достаточно минимума знаний о системе, чтобы она настроилась и заработала. Такое выглядит прогрессом, но если вглядеться поближе, станет очевидным, что будущее, в которое мы попадаем, не столь радужно. По крайней мере, об этом уже несколько лет твердит все большее число преподавателей, профессиональных программистов и компьютерных энтузиастов.

Но мы познакомим вас с одним из интереснейших проектов, явившимся восстановить равновесие: Raspberry Pi, крошечный компьютер за 25 долларов, который работает под управлением Linux и собирается изменить мир (и уж как минимум Британское компьютерное образование!). Также мы выясним, что именно в этом дивном новом мире так проблематично, каким образом Raspberry Pi исправит эти вещи, и какие еще существуют возможности по исправлению.

Чтобы узнать больше о вышеупомянутых болезнях роста технологий и о Raspberry Pi, мы встретились с доктором Робертом Маллинсом [Robert Mullins], одним из попечителей Raspberry Pi Foundation. Он начал с рассказа о происхождении проекта:

Эбен Аптон [Eben Upton], которого Роберт называет катализатором проекта, работал директором исследований вычислительных программ в колледже Св. Иоанна в Кембридже. В рамках этой должности он отвечал за процесс приема, и стал замечать неуклонное снижение и навыков программирования у абитуриентов, и количества поступавших.

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

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

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

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

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

ю те ра ми и заняться исследованиями, как они сами это делали в 1980-х годах.

Этот компьютер-крошка может делать все, на что способны настольные ПК, в том числе вывод HD-графиков через соединение HDMI.

Любой, кто следил за развитием других разработок открытого кода, знает, что переход от идеи до продукта на рынке — огромная авантюра. Как это удалось команде Raspberry Pi?

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

Но не все так гладко и для них. Прежде всего, попечители и все участники проекта работали бесплатно, в свое личное время.

Любой, кто работал над проектом на добровольных началах, знает, что такого рода обязательства не просто выполнять.

Итак, они начали планирование, проектирование и программирование… и вы знаете, преуспели! Они сумели придумать компьютер размером с кредитную карту, умеющий работать практически с любой программой, как и настольные ПК, ценой всего 25 или 35 долларов, в зависимости от модели.

Модель A, чуть менее мощная, идет с 128 МБ оперативной памяти, одним USB-портом и без Ethernet, она будет стоить 25 долларов. Модель B поставляется с 256 МБ оперативной памяти, двумя USB-портами и Ethernet, за 35 долларов.

Вот и все, что нужно знать о самом устройстве; читатели журнала о Linux уже, наверное, спрашивают себя: «Что на нем работает?Ответ: почти все, что может работать на ARM. С учетом мощности таких устройств, это переводится как практически любой дистрибутив, полный набор настольных приложений — также игры, и т. д. — и широкий спектр языков программирования и API.

Однако «почтиявляется здесь важной оговоркой: для использования GPU любой дистрибутив, работающий на Raspberry Pi, должен включать набор библиотек с закрытым исходным кодом. Одна обеспечивает доступ к 3D-ускорению, одна служит для 2D-ускорения, третья обеспечивает интерфейс между ними и систему управления окнами, а последняя предоставляет доступ для ускорения работы с мультимедиа.

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

Другие официально поддерживаемые дистрибутивы включают Debian и Arch Linux, и вы сможете скачать их образы с сайта Raspberry Pi.

Один из важных аспектов программного обеспечения для этих устройств — то, что они не загружаются в X. X будет доступна, но ее нужно запускать самим после входа в терминал Getty. Идея состоит в том, что вход пользователей в командную строку позволит им понять, что просмотр того, что происходит «за кулисами», не выходит за границы обычного и с этим можно работать.

Роберт сказал нам: «Если дать людям немного образования по основам программирования, это может вылиться в невероятно творческую деятельность, с которой справится каждый». Именно такой принцип они применяют к операционной системе — если просто подвести пользователя к командной строке и показать основные команды, ему откроется весь мир.

Конечно, одного устройства мало, чтобы научить детей программировать. Снова вспомним 1980-е годы: тогда был богатый материал для начинающих энтузиастов-компьютерщиков, помогавший им ориентироваться. Он включал книги и журналы с примерами кода для демонстрации новых технологий и часто поднимал скромных разработчиков до уровня культовых знаменитостей (кому нужны конкретные примеры, поищите Birth ofParadroid).

Сюда также относился ряд популярных передач на телевидении: на BBC шли шоу, подобные The Computer Programme и Micro Live, чтобы помочь пользователям разобраться с собственными микросистемами BBC; эти шоу также рассматри

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

Эта потребность в ресурсах для сопровождения устройства не была позабыта Фондом.

Роберт рассказал нам, что хотя их главным приоритетом является создание полноценного и готового устройства, они хорошо осведомлены о необходимости создания крупных образовательных ресурсов.

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

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

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

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

Роберт подчеркнул, что один аспект, как он при обеспечение переносит «10-футовый интерфейс Домашний кинотеатр на ПК нередко громоздок

знает, они сначала упустили: уникальные характеристики устройства делают его привлекательным для использования и вне программы образования. Мы должны с этим согласиться: здесь, в Башнях САЙТ, множество разговоров о Raspberry Pi закончилось фантазиями о возможном применении столь мощного, но маленького и дешевого компьютера! Мы посвятили некоторое время поискам в Интернет и нашли самые интересные проекты Raspberry Pi на сегодня. Вот наша пятерка:

Разработчики XBMC получили в свои руки альфа- версию Raspberry Pi и пристроили его к созданию классного медиа-плейера.

Телевидение любят все. По данным Ofcom, в 2009 году мы смотрели телевизор в среднем 3 часа 45 минут в день! Если принять во внимание тот факт, что мы также должны работать, есть, спать и мыться, это астрономическое число.

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

Что вы тут можете сделать? Да, например, сами системы XBMC. Это отличное программное

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

Старый настольный ПК, вы, вероятно, обнаружите, что его шумный вентилятор заглушает ваши фильмы. Возьмите Raspberry Pi. Он мал, дешев, и может воспроизводить HD-видео через HDMI, не заставляя вас попотеть. И знаете что? Разработчики XBMC были одним из проектов для получения альфа-плат, и они уже заставили XBMC работать на Raspberry Pi.

Как мы уже говорили выше, вовлечение в программирование и компьютерную тематику требует не только дешевого компьютера, но и хороших дешевых ресурсов в сопровождение. Мы также упоминали великие телепрограммы, которые сопровождали большие компьютеры 1980-х годов и на которых училось целое поколение, и желание Роберта найти подобные альтернативные ресурсы в поддержку Raspberry Pi.

Что ж, сейчас у нас нет нужды в огромной корпорации вроде BBC, чтобы получить такой проект: сайты, подобные YouTube, позволяют любому пользователю создавать видеоуроки на любую тему, и весь мир может их увидеть. И полное энтузиазма сообщество, уже возникшее вокруг Raspberry Pi, включилось в процесс и приступило к созданию ресурсов на этих сайтах.

В частности, Лиам Фрейзер [Liam Fraser] и Джейзмен [Jaseman] с форумов Raspberry Pi развернулись вовсю. Лиам — создатель YouTube-канала RasperryPiTutorials, где размещается видеоролик, который введет вас в курс дела по Linux, и другие, которые раскрывают возможности текущих проектов программирования, таких как клон Snake. Заполучив устройство, он тут же планирует показать на видео все, что он делает, чтоб другие могли следовать ему и перенимать его опыт. У Джейзмена немного другой подход: он создал свою серию введения в Python, используя PNG- изображения, с крупными, четкими подписями. Кроме изображений, он также предоставляет все примеры кода, который он на пи сал, и вы можете менять код и осознавать, как все это работает.

Естественно, мы также считаем, что вас не уведут в ложном на правлении пре красные уроки по программированию от САЙТ.

Gertboard является расширением GPIO для Raspberry Pi; оно позволяет превратить Raspberry Pi в новоиспеченный Arduino.

Если вы читаете LinuxFormat регулярно, вы видели учебники по Arduino Ника Вейча. Arduino и учебники Ника — это действительно фантастика. Они позволяют легко приложить свои руки к устройствам, а также применимы в гораздо более сложных проектах.

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

и гибкости Raspberry Pi — особенно по части графики и вычислительной мощности. В результате, многие люди сделали стойку на потенциал Raspberry Pi как более дешевого и более гибкого Arduino.

Будет поддержка GPIO (General Purpose Input Output — Ввод-вывод общего назначения), а также возможность подключения к Raspberry Pi произвольно го оборудования. Итак, если вы хотите использовать его для управления двигателем, для мигания и вы клю ченияс вето диодов, работы таймера ворот или еще чего-то, у вас есть Gertboard.

Не терпится попробовать что-то из видео RaspberryPiTutorials? Может быть, вы хотите сами создать программное обеспечение ARM для запуска на устройстве? Есть много различных способов создания виртуальной среды для Raspberry Pi, если вы хотите акклиматизироваться на Linux или скомпилировать приложения для ARM. Некоторые из этих методов довольно сложны, включая трюки кросс-компиляции, изменение корневой файловой системы и другие технические примочки.

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

Во-первых, скачайте и установите VirtualBox — лучше всего это будет проделать, вероятно, при посредстве менеджера пакетов вашего дистрибутива. Убедитесь также, что установлен пакет модулей ядра, так как без него VirtualBox не сможет запускать виртуальные машины (на Fedora это kmod-VirtualBox-OSE).

После этого вы можете загрузить образ виртуальной машины с http://dl.droobox.eom/u/60623239/ RaspberryPi.VirtualBox.zip. Затем распакуйте его, нажмите правую кнопку мыши и выберите пункт «Открыть с помощью Oracle VM VirtualBox». Вы увидите мастера, который позволит вам импортировать виртуальную машину и запустить ее как

обычно. Имя пользователя и пароль по умолчанию rpi и password, соответственно. Внутри вы найдете все необходимые инструменты, как указано в RaspberryPiTutorials.

Вы также найдете скрипт getDebian, который, при выполнении из командной строки, вызовет все команды, необходимые для эмуляции процессора ARM. Откройте терминал, запустите ./getDebian, cd debian и ./launchDebian. После этого можете запустить xtightvncviewer, ввести localhost, и вы будете подключены к командной строке Debian на виртуальной машине ARM.

Вы можете войти в систему с правами администратора, снова с паролем password.

лезно для других платформ, в том числе Arduino и TI Launchpad, которая стоит всего 4,30 доллара. Raspberry Pi крошечная, что делает ее идеальным уст рой ством для внут рен но стей прак тиче ски любо го мысли мо го «железа».

Если вы, к примеру, читали учебник Грэма про аркады, вас, возможно, вдохновила идея создания собственного игрового автомата. Как и для многих подобных проектов, Raspberry Pi и тут на высоте, благодаря дешевизне и миниатюрности: компьютер за 25 долларов, способный запускать все ваши любимые игры-аркады — отлично, компьютер за 25 долларов, который ра бо тает без особого нагрева, чтобы встроить в мини-шкаф аркады — потрясающе! Так как ARM-пакеты Mame уже есть в репозиториях Debian, заставить их работать — вопрос команды apt-get install.

Не которые от важные участники форума Raspberry Pi да же экс пе ри ментиро ва ли с раз бор кой старых NES, не ломая их, но вставляя Raspberry Pi вовнутрь. Они планируют не только установить эмулятор, но и подключить его к беспроводным контроллерам PS2 и XBMC для полных современных мультимедийных задач в супер-крутой ретрооболочке.

Воз можно, самым крутым предложением еще будет использование Raspberry Pi в качестве датчика кон трол лера метео зонда: пункт назначения — граница с космосом. Ветка форума с обсуждением этого плана — интереснейшее чтение: eroomde, который, оказывается, был президентом Кем бриджско го космиче ско го универ сите та, замечает, что такой запуск вовсе не редкость, но редко делается на столь мощном «железе- и говорит: «С такой- то вычислительной мощностью, только подумайте, сколько интересного вы могли бы сделать!» дома или в школе, для подростков, технарей или любителей. Чтение ветки форума, где эта идея изначально обсуждается, уже образовательный опыт само по себе: вы узнаете требования к «железу», необходимому для кластера, лимитирующие факторы и какие меры подойдут лучше.

Та же идея применима и к web-серверам: хотите знать, как работает балансировка нагрузки?

Установите Raspberry Pi в качестве web-серверов и баз данных, а затем рас пре деляйте нагрузку меж ду ними. И, кстати, Bramble — самое умное имя для кластера Raspberry Pi из возможных — заслуга Svartalf, участника форума, который его придумал [англ. raspberry — малина, bramble — ежевика].

Raspberry Pi предоставляет все для поддержки обу чения и творчества, а как на счет генерации?

Одна из лучших идей вычислительных процессов — «кластеры». Идея довольно проста: у вас есть много компьютеров и одна очень сложная задача для вы полнения; свя зав все эти ком пью те ры вместе, вы решите задачу гораздо быстрее. Как правило, объединение множества дешевых ПК является более эффективным способом получения высокой производительности, чем покупка суперкомпьютера, которую лишь немногие организации могут себе позволить.

Конечно, никто не утверждает, что связка из огромно го количе ства Raspberry Pi вы держит кон ку рен цию с кла сте рами на базе на стольных процессоров, особенно при их сетевой скорости 100 Мбит/с, но это не делает кластер Raspberry Pi бес по лез ным. По строение собственного кластера — замечательный обучающий опыт, будь то

Первая партия плат разработчиков состояла лишь из 10 000 штук или около того. После их продажи будет, вероятно, еще несколько раундов разработчиков по ликвидации недочетов, перед запуском в серийное производство.

Учитывая уровень интереса (бета-версия платы на аукционе eBay продана за 3000 долларов), справедливо предположить, что добыть Raspberry Pi в ближайшем будущем будет достаточно сложно.

На радость одному счастливчику, Фонд Raspberry Pi согласился предоставить нам плату в качестве приза. Как ее заполучить? Очень просто: скажите, что вы могли бы с ней сделать. Мы передадим плату человеку, который сумеет применить ее в самых креативных, творческих и социально-ориентированных целях. Мы отправим ее, как только получим сами — мы не несем ответственности за любые задержки. Итак, высылайте свои предложения на ionathan.roberts@futurenet.com с указанием в теме письма «RPi». Решение будет принимать редактор.

Raspberry Pi, по крайней мере, бета-платы, идут в виде устройств на голом металле. Корпуса нет, просто плата и разъемы. Некоторым может и нравиться такой вид, но если вы планируете использовать свой Raspberry Pi в любом из вышеописанных проектов, вам, видимо, захочется, чтобы он выглядел немного лучше (оголенная плата в гостиной явно не всем по вкусу!).

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

Или, если вас еще мучает ностальгия по восьмидесятым и детству, не сделать ли ваш корпус для Raspberry Pi из деталей Лего? Они доступны в широком разнообразии цветов, во всевозможных формах — чего еще желать?

Комментарии