Кому он нужен, этот RasPI? Осваиваем работу с компьютером Raspberry PI
Кому он нужен, этот RasPI? Осваиваем работу с компьютером Raspberry PI
Материалы серии статей о разработках на основе компьютера Raspberry PI взяты из книги Мэтта Ричардсона и Шона Вэлласа:Getting Started with Raspberry PI
Итак: что же можно сделать с помощью Raspberry Pi - миниатюрного компьютера размером с кредитную карту? Очень разнообразные вещи! Если вы обучаетесь программированию или собираетесь разрабатывать новые электронные устройства (проекты), это описание сможет вам показать какой гибкой и разносторонней является эта миниатюрная платформа.
С этим компьютером вы сможете использовать несколько предустановленных языков программирования, использовать его совместно с подключенной платой Arduino, создавать проекты. подключаемые к интернет, использовать возможности мультимедиа и многое другое:
В данном описании мы планируем предоставить информацию о том, как:
- Ознакомиться с возможностями "железа" на плате Raspberry Pi
- Освоить небольшой базовый объем знаний по ОС Linux для того чтобы было легко работать с операционной системой этого компьютера
- Узнать основы языка Python и Scratch и начать программировать на них
- Рисовать графические изображения, проигрывать звуковые файлы и обрабатывать события от управления мышью с помощью библиотеки расширения Pygame framework
- Использовать контакты ввода/вывода Raspberry для управления внешними устройствами
- Исследовать как могут взаимодействовать Raspberry и Arduino, подключенные друг к другу
- интегрировать USB вебкамеры и другую периферию в свои проекты на Raspberry Pi
- Создавать на базе Raspberry Pi вэб сервер с помощью Python
В качестве предисловия
Преподаватели Кембриджского университета заметили, что сегодняшние студенты, изучающие информатику не имеют навыков, которыми обладали их сверстники в 1990-е годы.Они объясняют это тем, что обилие домашних PC совместимых компьютеров и игровых консолей, заменивших старые компьютеры Amiga, BBC Micro, ZX Spectrum и Commodore 64 ( а у нас еще и "Радио РК 86" и ряд других отечественных разработок) избавило молодых людей нового поколения от необходимости программировать на них так, как это приходилось делать раньше.
Компьютер, ставший важным инструментом для каждого члена семьи во многих случаях исключает возможность для "юных дарований" копаться в нем и исследовать его устройство и возможности из-за его дороговизны.
В последнее же время стали развиваться мобильные телефоны и планшетные компьютеры, цена которых постоянно снижается, а мощность растет, подготавливая тем самым путь для продвижения платформы Raspberry Pi - сверхдешевых компьютерных плат.
Так как в процессе обучения, как и в науке "отрицательный результат - тоже результат", то важным свойством Raspberry Pi является то, что он делает возможным "достичь неудачи", не нанеся ощутимого вреда окружающим. Примерно так выразился Линус Торвальдс (основатель ОС Linux) о преимуществах Raspberry Pi. То есть это отличное решение для обучения, экспериментов и новых разработок.
Что со всем этим можно сделать?
Особенностью Raspberry Pi является то, что нет единого пути для его использования.
Это очень гибкая платформа, способ применение которой зависит от того, что вы хотите с ней делать: просто смотреть видео и заниматься веб-серфингом, заниматься хакингом разных устройств (подключать их к компьютеру и управлять ими), учиться программировать и т.д.
Обычная работа с компьютером
Raspberry Pi это компьютер, и вы можете пользоваться им просто как обычным компьютером. В разделе о подключении и запуске Raspberry описано как можно при включении компьютера выбрать графический рабочий стол с веб браузером, после чего его можно использовать для того же, для чего мы применяем обычные компьютеры каждый день.
С помощью подключения с интернет вы сможете загрузить и установить на него большое количество приложений, таких например. как LibreOffice - отличный офисный пакет для работы с документами и электронными таблицами.
Обучение программированию
Так как Raspberry Pi задуман как обучающий инструмент чтобы поощрять детей к проведению экспериментов с компьютерами, он поставляется с предустановленными интерпретаторами и компиляторами различных языков программирования.
Для начинающих есть Scratch - графический язык программирования разработанный в Массачусетском технологическом институте, который мы рассмотрим в главе 5.
Если вы готовы к программированию в кодах, то язык программирования Python это отличный способ, чтобы начать работу, и мы рассмотрим его основы в главе 3.
Но вы не ограничены только Scratch и Python. Вы можете писать программы для Raspberry Pi на разных языках программирования, таких как C, Ruby, Java и Perl.
Платформа для разработки проектов:
Raspberry Pi отличается от обычного компьютера не только ценой и размерами, но и его способностью интегрироваться с проектами электроники (возможностью подключения электронных приборов непосредственно к плате компьютера).
Начиная с главы 7, мы покажем вам, как использовать Raspberry Pi для того. чтобы управлять светодиодами и приборами с питанием от сети переменного тока, а также вы узнаете, как читать состояние кнопки и переключателей.
Raspberry Pi для разработчиков
У разработчиков есть широкий выбор платформ. на которых можно разрабатывать технически сложные проекты. Простота разработки проектов на таких микроконтроллерных платформах, как Arduino в последние годы привела к росту ее популярности среди разработчиков. Но процесс разработки на платформах "система на чипе", таких как Raspberry Pi отличается от традиционных микроконтроллеров во многих отношениях. В этом смысле Raspberry Pi имеет больше общего с компьютером, чем с Arduino.
Это не означает, что Raspberry Pi лучше, чем традиционные микроконтроллер, просто они разные.
Например, если вы хотите сделать обычный термостат, лучше использовать Arduino Uno или аналогичный микроконтроллер для простоты. Но если вам нужно иметь возможность удаленного доступа к термостату через интернет для изменения его настроек и загрузки его лог файлов журнала температур, имеет смысл рассмотреть использование Raspberry Pi.
Выбор между подобными платформами будет зависеть от требований вашего проекта и вообще говоря, вам не обязательно придется выбирать между ними. в Главе 6, мы покажем вам, как использовать Raspberry Pi для программирования Arduino и заставить их общаться друг с другом.
Данный материал даст вам лучшее понимание сильных сторон Raspberry Pi и как она может стать еще одним полезным инструментом в инструментарии разработчика.
Оопс! Что же еще!
В одном обзоре невозможно рассказать обо всех возможностях Raspberry Pi. Вот еще некоторые из них:
Медиа-центр
Raspberry Pi имеет HDMI и композитный видеовыходы, с помощью которых его легко подключать к телевизорам или мониторам.
Он также имеет достаточно вычислительной мощности, чтобы проигрывать полноэкранное видео в формате высокой четкости. Чтобы использовать эти возможности, на Raspberry Pi был портирован медиа-плеер, XBMC с открытым исходным кодом, который вы также сможете интегрировать в свои проекты.
XBMC может воспроизводить множество различных медиаформатов, а его интерфейс разработан с большими кнопками и текстом
так что он может легко управляется с дивана или на маленьком экране. ХBMC делает Raspberry Pi полностью настраиваемым компонентом домашнего центра развлечений.
Хакинг компьютера с "чистым железом" (т.е. без операционной системы)
Большинство людей, которые пишут компьютерные программы, разрабатывают код, который запускается в операционных системах, таких, как Windows, Mac OS, или-в случае Raspberry Pi - Linux.
Но что если вы могли бы написать код, который работает непосредственно на процессоре без необходимости установки и запуска операционной системы? Можно даже написать собственную операционную систему с нуля, если вы этого захотите. Университет компьютерной лаборатории Кембриджа опубликовал бесплатный онлайн курс, который проведет вас через весь процесс написания собственных ОС, используя язык Ассемблер.
Linux и Raspberry Pi
Типичный компьютер работает под управлением одной из операционных систем, таких как Windows, OS X или Linux. Она запускается после того, как вы включаете компьютер и предоставляет программам доступ к "железу" компьютера. Например, если вы пишете приложение, которое имеет доступ в интернет, то вы можете использовать для этого функции операционной системы. При этом вам не обязательно разбираться и писать коды для каждого действия с платами (модулями) Ethernet или WiFi.
Raspberry Pi также использует операционную систему и системой "по умолчанию" является модифицированная версия Linux под названием Raspbian. Linux отлично подходит для Raspberry Pi так как она свободно распространяемая и имеет открытый исходный код (open source).
С одной стороны она сохраняет низкую стоимость всей платформы, а с другой - она позволяет "влезать" в код операционной системы, модифицировать его и расширять возможности. При этом вы не ограничены только Raspbian - для этой платы существует множество других сборок ОС Linux, которые вы также можете загружать в Raspberry Pi. Также есть несколько не линуксовых ОС, совместимых с ней (платой). Но в этом описании мы будем использовать ОС Raspbian, которую можно свободно скачать со страницы загрузки сайта поддержки Raspberry Pi.
Не беда если вы не знакомы близко с ОС Linux. В Части 2 найдется все необходимое и достаточное для начала работы с ней.
А что с этим делают другие?
Получив доступ к новой технологии возникает вопрос: "и что с этим делать"?Если вы все еще не уверены в том, насколько интересными могут быть вещи, созданные на основе Raspberry Pi , то приведенные ниже примеры, взятые из разных источников должны развеять ваши сомнения.
Arcade Game Coffee Table (кофейный столик - игровая машина)
Пощаговую инструкцио по сборке этого проекта разместил пользователь grahamgelding на сайте instructables.com.
Это журнальный (кофейный) столик, на котором можно играть в классические аркадные игры как на игровой приставкке под управлением емулятора, запущенного на Raspberry Pi.
Для того, чтобы добиться этого он использовал свободно распространяемый программный продукт с открытым кодом MAME (Multiple Arcade Machine Emulator), позволяющий запускать классические аркадные игры на современных компьютерах.
В поверхность столика вмонтированы LCD монитор размером 24 дюйма, подключенный к Raspberry Pi через HDMI кабель, классические кнопки и джойстик игровой приставки, которые подключены к контактам GPIO платы Pi и настроены как входы.
RasPod - аудиоплеер с веб-управлением
Индийский тинэйджер Aneesh Dogra - один из победителей конкурса Raspberry Pi Foundation’s 2012 Summer Coding Contest создал MP3 плеер с web-управлением на основе Raspberry Pi, названный Raspod (по аналогии с iPod).
Созданный на базе языка программирования Python и web framework Tornado этот плеер позволяет удаленно запускать и останавливать музыку, изменть громкость, выбырать песни и создавать плей-листы. Музыка выводится через аудио выход Raspberry Pi, к которому можно подключить компьютерные колонки или качественную аудиосистему и наслаждаться музыкой.
Суперкомпьютер на Raspberry Pi
Многие суперкомпьютеры собраны из кластеров из обычных компьютеров, соединенных вместе и вычислительные задачи распределяются между их процессорами.
Группа компьютерных инженеров Университета Саугемптона (Англия) объединила 64 Raspberry Pi для создания недорогого суперкомпьютера.
И хотя его мощность не превыгает мощности самых современных суперкомпьютеров, он демонстрирует принципы разработки подобных инженерных систем.
Забавным является то, что корпус для этого суперкомпьютера придумал и собрал 6-ти летний сын руководителя проекта из модулей Lego.
Мы с удовольствием также разместим на нашем сайте описание и ваших проектов на Raspberry Pi !