Raspberry Pi - ваш второй компьютер. Полноценный «домашний» сервер

Платы для разработчиков, известные на рынке как микрокомпьютеры, с каждым днём становятся всё популярнее. Первая партия всеми любимого Raspberry Pi уже отправилась к покупателям. А тем временем стоимость второй модели с литерой «В» значительно снизилась у перекупщиков (у производителя очень дорогая доставка) - отличный повод познакомиться с этим гаджетом.

Основную модель, Raspberry Pi 2 B, в Китае можно найти за 32 доллара (у официального поставщика - 50 долларов с учётом доставки). Вполне гуманный ценник для подобного многофункционального устройства.

Так что же представляет собой нашумевшая «Малинка»?

Внешне Raspberry Pi 2 представляет собой небольшую плату чуть больше банковской карты. Мозгом нашего одноплатника является четырёхъядерный ARM Cortex-A7 с частотой 900 МГц. При желании можно и разогнать немного при помощи встроенной утилиты. Кроме этого, на плате распаян гигабайт памяти, из которого до 128 МБ можно выделить для работы видеоядра.

Процессор: ARM Cortex-A7
Частота: 0,9 ГГц
Количество ядер: 4
Объём оперативной памяти: 1 ГБ
Графический чипсет: интегрированный VideoCore IV 3D
Звуковой контроллер: интегрированный
Внешние порты: 4 USB, 1 HDMI, 1 Audio Jack (Mic in/Headphone out), 1 LAN
Кардридер: microSD
Необходимое питание: 5 В, 1 А через microUSB/12 В, 2 А через дополнительный штекер
Дополнительно: Camera interface (CSI), Display interface (DSI), 40 GPIO pins

Видеовыход - HDMI. От аналогового RCA, имевшегося в прежних версиях, разработчики отказались (но не совсем: при помощи хитрого кабеля можно вывести аналоговый сигнал на старый телевизор через разъём 3,5 мм). Зато плата оборудована четырьмя слотами USB. Каждый порт способен выдавать ток силой до 1,2 А. Правда, для этого Raspberry нужно запитывать от блока питания 2 А. Если такая сила тока не нужна, можно включить «Малинку» даже в обычный USB-порт компьютера мощностью 2,5 Вт (5 В × 0,5 А).

На нижней стороне рассматриваемой нами модели, в отличие от первого поколения, расположен слот microSD (когда-то был SD). Именно флешка является основным загрузчиком системы и устройством для записи по умолчанию. К сожалению, Raspberry Pi 2 не обладает беспроводными интерфейсами, есть только Ethernet, хотя можно вставить Wi-Fi-донгл.

Главное, что отличает Raspberry от обычного компьютера, - наличие дополнительных выводов. Их много. Благодаря отдельным выводам с защёлками можно подключить камеру (CSI) и дисплей (DSI). Оба периферийных устройства будут работать напрямую с видеоядром и процессором. А ещё есть 40 выводов GPIO: интерфейса ввода-вывода общего назначения. С его помощью можно подключать всё и менять назначение входов-выходов на лету.

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




Операционные системы и софт

Главным отличием Raspberry от многих более продвинутых одноплатных компьютеров, например Cubietruck с SATA, стала отличная поддержка: причёсанные дистрибутивы, огромное количество готового кода для собственных разработок, унифицированные комплектующие и куча соратников, которые всегда рады помочь в любом, даже самом сложном или глупом проекте.

Официальной операционной системой для Raspberry является вариант Debian - Raspbian . Сейчас в нём есть даже встроенный маркет приложений, так что использование «Малинки» нельзя назвать сложным. На официальном сайте Raspberry Pi, помимо Raspbian, можно скачать и несколько других дистрибутивов Linux: Debian Wheezy, Ubuntu MATE, Fedora Remix.

Raspbian представляет собой набор лишь нескольких базовых приложений для работы. Прочие дистрибутивы более функциональны, но есть значительная оговорка: возможна работа только с ARM-версиями программ. Производительности и функциональности устройства достаточно для использования Raspberry Pi 2 в качестве обычного офисного компьютера. Благодаря отличному видеоядру Pi 2 можно превратить в домашний медиасервер: мощности чипа вполне хватает для декодирования видео 1 080p. Пользователям доступны две программы-медиацентра: OpenELEC и OSMC .

Хватит производительности ПК и для эмуляции PlayStation 1 с использованием RetroPie . Кстати, в родной Raspbian есть специальная версия Minecraft . А отчаянным гикам может пригодиться бесплатная версия Wolfram Mathematica .

Есть на Raspberry Pi 2 и свой дистрибутив Windows 10 . К сожалению, эта система не обладает графическим интерфейсом и позволяет управлять собой только удалённо, подключаясь через PowerShell (нет даже командной строки). При этом можно запускать 32-битные приложения.

Установка системы

Для использования Raspberry в качестве ПК необходимо подключить монитор, клавиатуру, мышку и питание от microUSB. В слот для карт памяти необходимо вставить microSD с установленной системой: образ скачивается с официального сайта и монтируется на карту специальной утилитой. Также можно использовать программу NOOBS : её нужно скачать с официального сайта, предварительно отформатировав карту (официальная инструкция).

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

Что делать потом

Назначений Raspberry Pi 2 и готовых проектов не перечесть. Микрокомпьютер можно заставить работать практически с любой периферией, выводить изображение куда угодно. В следующей статье попробуем подключить к Raspberry Pi 2 высококачественный цифроаналоговый преобразователь и создать маленький медиацентр.

Мини-ПК Raspberry Pi смог быстро стать популярной платформой для разного рода проектов - как коммерческих, так и не очень. Тому есть несколько причин, среди которых - низкая цена компьютера, его относительная универсальность и открытость.

Как результат - интересные проекты стали появляться с завидной регулярностью, и часть таких проектов представлены в этой подборке. Здесь есть и вполне серьезные системы, и проекты, которые можно назвать развлекательными, из серии «а почему бы и нет?».

Суперкомпьютер на базе Raspberry Pi и Lego

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

В качестве ПЗУ для этой системы использовались карты памяти формата SD, объемом в 16 ГБ. Такие карты были установлены в каждую «малинку».

Как сделать нечто подобное? Подробнейшая инструкция от создателя, профессора университета Саутгемптона Саймона Кокса - по этой ссылке .

Метеозонд на основе Pi

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

Через несколько месяцев работы Дейв действительно смог запустить свой зонд, который пролетел более 30 километров, работал при температурах -50С в очень разреженной атмосфере (1% от стандарта).

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

Интернет-телефон

На основе «малинки» был усовершенствован обычный стационарный телефон с дисковым номеронабирателем. Вместо обычной платы разработчик установил Raspberry Pi.

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

Вот, как это выглядит и работает:

Игровая станция

Это проект хабрапользователя . Интереснейшее устройство, которое позволяет играть в целый ряд старых игр для большого количества консолей, включая NES, SNES, Sega Genesis, PlayStation, а так же SCUMMVM, zxspectrum.

Автор писал, что «вся система базируется на порте RetroArch, основанной на библиотеке libretro, позволяющей использовать эмуляторы различных приставок». Что касается графической оболочки, то использовалась EmulationStation , также RetroPie .

Планшет на основе Raspberry

У этого планшета интересное название - PiPad, а в качестве материала для корпуса использовалось дерево. Выглядит все это вот так:

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

В качестве ОС используется Raspbian Linux с XBMC.

Настенный календарь-органайзер

Пользователь Instructables с ником Piney создал полезный гаджет для себя - настенный интерактивный календарь, с возможностью добавления задач и событий.

Программной платформой служит обычный Google Calendar, все данные из которого транслируются по WiFi на это настенное устройство.

Подробная инструкция о том, как создать нечто подобное - вот .

Собственная радиостанция

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

Правда, покрытие такой радиостанции относительно небольшое: площадь, равная площади стадиона.

DVD ченжер

Человеку, который создал эту штуку, просто надоело постоянно менять DVD-диски. В результате появился этот проект, который сделан просто потому, что его можно было сделать. Почему бы и нет?

Система освещения для Рождества

До Нового Года и Рождества осталось не так много времени, поэтому, если есть лишняя «малинка», можно создать систему освещения для собственного дома или квартиры. Как сделать такую систему, рассказано . А ниже - видео, где показано, как это работает.

В общем-то, сфера использования Raspberry Pi очень широка, гораздо шире, чем создание фоторамок и ноутбуков. Разработчики стараются совершенствовать свое устройство, выпуская новые, обновленные версии мини-ПК и дополнительные модули к нему. К примеру, летом вышел Raspberry Pi B+ , на днях компания представила . А через некоторое время (к сожалению, более определенно сказать нельзя) планируется и выпуск Raspberry Pi А+.

Андрей Васильков

Сегодня без лишнего шума начались продажи Raspberry Pi 2. Рекомендованная цена новинки составляет $35 – столько же, сколько стоила изначально первая модель этого одноплатного компьютера. За три года было выпущено 4,5 млн экземпляров модификаций «A», «B» и «B+», что по словам руководителя Raspberry Pi Foundation Ибена Аптона (Eben Upton) гораздо больше предполагаемых объёмов производства, звучавших в самых смелых прогнозах. Вторая же версия Raspberry Pi получилась настолько удачной, что у неё есть все шансы побить суммарный рекорд своих предшественниц уже в этом году.

Внешне модель Raspberry Pi 2 очень похожа на обновлённую версию B+, представленную летом прошлого года. Тогда число USB портов было увеличено до четырёх, добавлены ещё четырнадцать входов/выходов общего назначения (GPIO), а относительно большой слот для карт памяти формата SD был заменён на microSD. Однако улучшенная периферия в модели B+ работала с прежней платформой – однокристальной системой Broadcom BCM2835. К тому времени она уже выглядела откровенно устаревшей. Одноядерный процессор с частотой 700 МГц и 256/512 МБ ОЗУ сильно лимитировали возможности использования.

Новая модель Raspberry Pi 2 не просто впечатляет своими характеристиками, но и позволяет существенно расширить потенциальные области применения микрокомпьютера размером с пластиковую карточку (85,6 × 56,5 мм). Теперь на «Малине» без проблем запускаются не только RISC OS и различные специализированные дистрибутивы, вроде Raspbian и Pidora (который так и не переименовали), но и более требовательные к ресурсам ОС с поддержкой архитектуры ARM.


Raspberry Pi 2 – 40 контактов GPIO и обратная совместимость.

Если возможность запуска Debian вполне ожидаема для Raspberry Pi 2, то поддержка Windows 10 – приятно удивляет. Более того, легальную копию Windows 10 можно будет получить в рамках Windows Developer Program в ближайшее время.

«Raspberry Pi 2 – удивительно мощное устройство, открывающее мир современных вычислений и программирования для огромного количества людей с разным уровнем квалификации», – пишет в корпоративном блоге генеральный менеджер направления «Windows для интернета вещей» Кевин Даллас (Kevin Dallas).

Начиная с сегодняшнего дня стала доступна модель Raspberry Pi 2 mod. B v.1.1. Эти микрокомпьютеры выпускаются на заводе Sony в Уэльсе с конца прошлого года, о чём свидетельствует маркировка на плате. Объём первой партии составляет сто тысяч единиц.

Основой микрокомпьютера стала однокристальная система Broadcom BCM2836. В ней интегрированы четыре процессорных ядра Cortex-A7 (работающих на частоте 900 МГц и поддерживающих набор инструкций ARMv7), уже известный по прошлым версиям Raspberry графический процессор Broadcom VideoCore IV (с частотой 250 МГц, поддержкой OpenGL ES 2.0, кодеков MPEG-2, h.264/MPEG-4 AVC и VC-1 в режиме до 1080p@30 FPS), гигабайт оперативной памяти типа LPDDR2 SDRAM (общей для ЦП и ГП) и цифровой сигнальный процессор.


Raspberry Pi 2 – система на кристалле BCM2836.

Старое видеоядро было решено оставить по простой причине: среди SoC архитектуры ARM это пока единственный вариант, для которого есть полная и открытая техническая документация.

В однопоточных тестах Rapsberry Pi 2 демонстрирует прирост производительности примерно в полтора раза по сравнению с первой версией mod B+1. Многопоточные пакеты Sunspider ожидаемо выполняются вчетверо быстрее, а в тестах NEON с использованием оптимизированных для многопоточности видеокодеков достигается двадцатикратное ускорение. Средний прирост производительности Rapsberry Pi 2 указывается как шестикратный, и это впечатляет!

Питание платы, как и прежде, осуществляется через разъём micro-USB. Типичное значение силы тока составляет 800 мА, но может быть повышено до 1200 мА при использовании более мощного адаптера (рекомендуется с маркировкой 2A). Потребляемая мощность самой платы не превышает шести ватт и обычно удерживается в диапазоне 3-4 Вт, что позволяет использовать только пассивное охлаждение.


Raspberry Pi 2 – 4 порта USB 2.0 и порт Ethernet 10/100.

Сетевой контроллер остался стамегабитным. Как и прежде, камера подключается гибким плоским шлейфом по интерфейсу MIPI CSI, а дисплей – аналогичным образом к порту DSI. Среди видеовыходов есть полноразмерный HDMI и композитный (PAL и NTSC) через 3,5 мм разъем. Аудиовход – I 2 S. Аудиовыходы: аналоговый 3,5 мм, цифровой через HDMI и I 2 S.

Для загрузки ОС, программ и хранения пользовательских данных распаян слот microSD. Из сорока входов/выходов общего назначения первые 26 расположены также, как в предыдущих моделях Raspberry. Даже форм-фактор остался прежним, поэтому все сторонние дополнения для mod. B+ подойдут и для второй версии.

Сегодня также появились новые дистрибутивы ОС Raspbian. В них добавлена поддержка Raspberry Pi 2, а владельцы прежних модификаций микрокомпьютера смогут просто обновить версию ОС через apt-get.


Раньше Raspberry Pi использовали для обучения программированию, создания простых роботов, самодельных систем управления «умным домом», в качестве медиацентра и множеством других способов. Ибен Аптон считает, что с появлением второй версии многим хватит её вычислительной мощности для воплощения куда более сложных идей. Она даже сможет заменить неттоп или HTPC. «У нас уже есть сотрудники, которые используют Raspberry Pi 2 вместо офисного компьютера», – сказал он в интервью изданию Ars Technica.

Полная стоимость Raspberry Pi 2 mod. B v.1.1. для конечного потребителя пока составляет около $60 – с учётом наценок продавцов и доставки. Ожидается, что она будет постепенно снижаться по мере увеличения объёмов выпуска. Прежние модели Raspberry Pi продолжат выпускать ещё какое-то время и будут предлагать по сниженной цене.

В статье использованы фотографии Raspberry Pi Foundation.

Рисунок 1. Блочная диаграмма аппаратной части системы

Описание процесса монтажа аппаратной части системы занимает много времени, но является достаточно простым. В первую очередь следует соединить блок питания с стенной розеткой с помощью удлинителя, отрезав розетку это удлинителя. Зачистите провода и закрепите их с помощью винтов в терминалах блока питания. Далее соедините Raspberry Pi с блоком питания, отрезав разъем типа A от кабеля USB и соединив провода с соответствующими выводами блока питания, и вставьте разъем micro USB в разъем питания RPi. После этого следует зачистить оба конца двух жил гибкого кабеля и соединить их с соответствующими терминалами с обозначениями GND и JDVcc блока питания и блока реле. Наконец, следует удалить джампер, соединяющий вывод с обозначением JDVcc с выводом с обозначением Vcc. В том случае, если вы не удалите этот дампер, на предназначенные для напряжения 3.3 В выводы RPi будет подано напряжение в 5 В, которое с высокой вероятностью выведет компьютер из строя.

Теперь, когда питание подведено ко всем терминалам, следует соединить линии IN1-IN8 модуля реле с соответствующими выводами разъема GPIO с помощью гибкого кабеля таким образом, как показано на Рисунке 2. Представленный в данной статье код был разработан для случая, когда выводы IN1-IN7 соединены с выводами GPIO1-GPIO7. В том случае, если вы решите соединить данные выводы по-другому, вам придется модифицировать соответствующим образом ваш код.

Схема расположения выводов разъема GPIO Raspberry Pi приведена на Рисунке 2. На порты ввода-вывода Raspberry Pi подается напряжение 3.3 В, а модуль реле работает с напряжением 5 В. Однако, реле изолированы от выводов GPIO Raspberry Pi при помощи оптопар. На оптопары может подаваться напряжение 3.3 В с вывода Vcc. На вывод Vcc модуля реле может быть подано напряжение 3.3 В с разъема GPIO Raspberry Pi. Убедитесь в том, что вы убрали джампер, замыкающий выводы Vcc и JDVcc модуля реле. На вывод JDVcc должно подаваться напряжение 5 В для корректной работы реле. Рассматриваемый модуль реле размыкает контакты в активном состоянии. Из этого следует, что вы должны заземлить терминалы IN1-IN8 для включения реле.

Рисунок 2. Схема расположения выводов разъема GPIO Raspberry Pi

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

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

Рисунок 3. Монтаж аппаратной части системы

Программное окружение

Я начал создание своего программного окружения с установки образа операционной системы Raspbian. Перед началом установки образа операционной системы вам потребуется подготовить дисплей, поддерживающий передачу изображения по HDMI, клавиатуру и мышь с разъемами USB, а также сетевой кабель для соединения с системой по протоколу Ethernet. Также вы можете установить соединение с системой посредством адаптера Wi-Fi. Создайте загрузочную SD-карту для первой загрузки системы в соответствии с инструкциями, приведенными на ресурсе http://www.raspberrypi.org/documentation/installation/installing-image . В процессе первой загрузки системы установщик осуществит настройку операционной системы и разместит данные из ее образа на всем доступном пространстве карты памяти. После первой загрузки вы должны иметь возможность входа в систему с помощью стандартных данных учетной записи пользователя (имя пользователя "pi" и пароль "raspberry").

Обновление системы является разумным действием, которое должно выполняться сразу же после успешного входа в систему. Образ операционной системы Raspbian базируется на пакетах программного обеспечения дистрибутива Debian и использует приложение aptitude в качестве менеджера пакетов программного обеспечения. Кроме того, вам понадобятся пакеты программного обеспечения с именами python , pip и git . Я также мог бы порекомендовать установку Webmin для упрощения процесса администрирования системы. Инструкции по установке Webmin приведены на ресурсе http://www.webmin.com/deb.html (следуйте рекомендациям, приведенным в разделе "Using the Webmin APT repository"):

Sudo apt-get update && sudo apt-get dist-upgrade sudo apt-get install python python-pip git git-core

После этого вам придется настроить соединение с использованием адаптера Wi-Fi. Вы можете найти подробные инструкции на ресурсе http://www.raspberrypi.org/documentation/configuration/wireless . Я рекомендую использовать вариант wicd-curses . На данном этапе вы можете изменить параметры настройки Raspberry Pi с помощью команды sudo raspi-config . После ввода данной команды вы получите доступ к удобному графическому интерфейсу, который позволит вам установить значения таких параметров, как объем оперативной памяти, разделяемой с графическим процессором, параметры быстродействия центрального процессора, режим использования графического интерфейса в процессе загрузки и других.

Другим полезным инструментом является интегрированная среда разработки Cloud 9 IDE . Cloud 9 IDE позволит вам редактировать свой код на уровне Raspberry Pi посредством веб-браузера. Данная интегрированная среда разработки также предоставит вам доступ к интерфейсу командной строки в рамках веб-браузера. Вы можете разрабатывать и исполнять любой код, не покидая свой веб-браузер. Интегрированная среда разработки Colud 9 IDE требует наличия определенной версии фреймворка NodeJS. Использование неподдерживаемой версии фреймворка повлечет за собой постоянные аварийные завершения работы сервера Cloud 9, которые могут привести любого пользователя в уныние. Инструкции по установке фреймворка NodeJS на компьютер Raspberry Pi приведены на ресурсе http://weworkweplay.com/play/raspberry-pi-nodejs .

Программное обеспечение

Я решил создавать пользовательский интерфейс своей системы с использованием технологий HTML5, CSS3 и JavaScript. Комбинация трех упомянутых технологий является мощным инструментом для создания пользовательских интерфейсов. Язык программирования JavaScript позволяет использовать простой API для взаимодействия с серверами. Кроме того, существует множество библиотек для языка программирования JavaScript, таких, как JQuery, Bootstrap и других, из которых можно выбрать наиболее подходящую. HTML5 предоставляет API WebSocket, позволяющее веб-браузеру поддерживать соединение в рабочем состоянии и осуществлять обмен данными посредством этого соединения. Это обстоятельство делает API WebSocket особенно полезным для реализации динамических приложений и приложений для потоковой передачи данных, таких, как игры и чаты. Каскадные таблицы стилей CSS полезны для стилизации различных элементов страницы HTML. В случае корректного использования они позволяют создавать динамические пользовательские интерфейсы путем изменения стилей элементов страниц при наступлении тех или иных событий. Для данного проекта я выбрал фреймворк JQuery для обработки событий, Bootstrap CSS для размещения кнопок в форме сетки и язык программирования JavaScript для реализации механизмов обмена данными на основе API WebSocket.

Библиотеки

Серверное приложение, работающее на уровне Raspberry Pi, должно управлять состоянием выводов разъема GPIO платы Raspberry Pi. Оно также должно предоставлять интерфейс HTTP для передачи данных графического интерфейса и интерфейс WebSocket для передачи сообщений с командами и данными состояния. Готового к установке серверного приложения с такими специфическими функциями попросту не существует, поэтому я принял решение о создании своей собственной реализации сервера с использованием языка программирования Python. Для упрощения разработки описанного серверного приложения с использованием языка программирования Python доступны модули с реализациями методов для работы с интерфейсом GPIO Raspberry Pi, для создания сервера HTTP и для работы с интерфейсом WebSockets. Так как все перечисленные модули предназначены для выполнения поставленных задач, мне пришлось разработать минимальный объем кода.

Однако, упомянутые модули не включены в комплект поставки интерпретатора Python и должны устанавливаться отдельно. В первую очередь вам понадобится модуль для управления состоянием выводов разъема GPIO Raspberry Pi. Простейший способ изменения состояния выводов данного разъема заключается в использовании библиотеки RPi.GPIO, доступной по адресу https://pypi.python.org/pypi/RPi.GPIO . Вы можете установить соответствующий модуль с помощью следующей команды:

Sudo pip install RPi.GPIO

Работа с модулем RPi.GPIO не связана с какими-либо сложностями. Вы можете найти примеры использования данного модуля по адресу . На первом шаге работы с модулем необходимо осуществить импорт его кода в код проекта. После этого вам придется выбрать режим работы. В качестве идентификатора режима работы может использоваться либо константа GPIO.BOARD, либо константа GPIO.BCM. Выбор режима работы обуславливает использование чипа BCM или выводов разъема ввода-вывода при ссылках на номера выводов во всех последующих командах. Далее следует указать, используются ли выводы из рассматриваемого разъема для ввода или вывода. Теперь вы можете использовать выводы данного разъема по назначению. Наконец, вам придется осуществить вызов метода cleanup() для сброса состояния выводов разъема GPIO. В Листинге 1 показан простейший пример использования модуля RPi.GPIO.

Листинг 1. Использование модуля RPi.GPIO

Import RPi.GPIO as GPIO # импортирование кода модуля в код проекта GPIO.setmode(GPIO.BOARD) # указание на то, что нумерация используется для обозначения выводов разъема GPIO.setup(0, GPIO.IN) # указание на то, что канал 0 будет использоваться для ввода GPIO.setup(1, GPIO.OUT) # указание на то, что канал 1 будет использоваться для вывода var1=GPIO.input(0) # чтение состояния канала 0 GPIO.output(1, GPIO.HIGH) # установка логической единицы на канале 1 GPIO.cleanup() # сброс состояния выводов разъема GPIO.

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

Первое, что нужно сделать, после того, как все кабели подключены к плате, это зайти со своего основного компьютера на страничку Downloads сайта raspbian.org , Здесь нужно скачать дистрибутив официальной операционной системы для Raspberry Pi – . Там доступны для скачивания и другие операционные системы - PIDORA, RISC OS и другие. Однако я рекомендую установить именно RASPBIAN. Если, конечно, вы – продвинутый пользователь и четко представляете, чего хотите, тогда можете выбрать любой другой дистрибутив и не читать эту статью дальше.

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

Вставьте SD (или microSD для модели «B+») карточку в кардридер и подключите его к компьютеру. Наиболее оптимальный выбор для карты – 8 Гбайт, 10 класс, почему – объясню позже. Записать образ можно с помощью программы . Распакуйте скачанный архив с образом Raspbian, запустите Win32DiskImager, выберите в нем этот образ и SD карточку на которую его нужно записать. После завершения процесса записи вставьте карточку в слот Raspberry Pi и можно включать питание. Монитор, клавиатура и мышка, разумеется должны быть подключены к плате.

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

При первом включении после загрузки появится меню настроек конфигурации Raspi-config. Это несколько ключевых настроек, которые надо проверить и, при необходимости, изменить. Рассмотрим его пункты подробнее.

1. Expand Filesystem - Расширение раздела на всё пространство SD карты. Это желательно сделать сразу же.

2. Change User Password – Если нет на то особых оснований, сюда не заходите, иначе при каждой загрузке система будет запрашивать пароль. А вам это нужно?

3. Enable Boot to Desktop/Scratch - Хотите ли вы запускать графическую оболочку (X-сервер) сразу же после загрузки? Наверное, да. Терминал и командная строка – это для профессионалов Линукса. Поэтому выбираем «Desktop Log in as user ‘pi’ at the graphical desktop» .

4. Internationalisation Options

I1. Change Locale – Изменение языка. Очень важный пункт! Здесь необходимо установить два значения: en_GB.UTF-8 и ваш родной язык. Если вы читаете эти строки, то это ru_RU.UTF-8 . Выбор – клавиша «Пробел», завершение выбора – «Tab», затем «Enter». Не торопитесь, если покажется, что все зависло, просто установка языка требует некоторого времени. Далее выбираем язык интерфейса программ. Будет предложено выбрать один из тех, что вы только что выбрали. Дело вкуса, кому как предпочтительнее. В большинстве программ есть русскоязычная оболочка, перевод вполне корректный. Но может быть вам удобнее отвечать на вопросы Y/N, а не Д/Н.

I2. Change Timezone - Для Москвы нужно выбрать Etc -- GMT-3 , не +3, как должно бы быть с точки зрения здравого смысла.

I3. Change Keyboard Layout - Здесь необходимо выбрать тип используемой клавиатуры. Вашей клавиатуры в списке, конечно же нет, поэтому выбираем Generic 105-key (Intl) PC . Затем необходимо выбрать раскладку: Other -- Russian -- Russian . После этого предлагается выбрать комбинацию клавиш для переключения между языками ввода. Я выбрал Ctrl+Shift . Временное переключение раскладки выбираем на свой вкус, например, Left Logo . После этого можно выбрать клавиши для ввода символов, отсутствующих на клавиатуре – AltGr и Multy-key (Compose). Вряд ли эта функция когда-то потребуется, поэтому в обоих случаях я выбрал отсутствие таких клавиш – No.
Ну и наконец, необходимо ответить на вопрос, хотим ли мы использовать сочетание клавиш Ctrl+Alt+Backspace для прерывания работы графической оболочки. Лучше ответить Yes.

5. Enable Camera – Если предполагается подключение аппаратной, специально предназначенной для Raspberry Pi видеокамеры, нужно выбрать Enable. Если такой камеры нет, выбираем Disable.

6. Add to Rastrack – Можно зарегистрироваться в сообществе пользователей Raspberry Pi. Ни к чему не обязывает, но и ничего не дает.

7. Overclock - Сюда тоже пока не заходим, разгоним процессор позже, вручную, более гибко выбрав нужные параметры.

8. Advanced Options

A1. Overscan - Настройка режима overscan. Если у вас по краям изображения имеются чёрные полосы или, наоборот, изображение выходит за границы экрана, включите его (Inable). Если все OK, то необходимо выключить этот режим (Disable).

A2. Hostname – Сюда можно не заходить, оставьте все по умолчанию.

A3. Memory Split – Это для продвинутых пользователей, так что тоже оставим по умолчанию.

A4. SSH - Если знаете, что это такое и зачем оно вам нужно, включите. Если это сочетание букв ни о чем вам не говорит – выключите. При необходимости можно будет включить позже.

A5-A7. SPI, I2C, Serial – Пока выключаем. Эти интерфейсы понадобятся при подключении к портам ввода-вывода дополнительных аппаратных модулей. Когда понадобятся, тогда и включим.

A8. Audio – Выбираем разъем, через который передается звук. Доступно Auto, HDMI и 3,5mm Jack. Я выбрал 3,5mm Jack.

A9. Update - Обновление данного инструмента конфигурации. Попробуйте обновиться, ничего страшного не произойдет, скорее всего появится сообщение, что обновление не требуется.

9. About raspi-config - Просто информация.

После того, как всё настроили, выбираем «Finish» . Система запросит разрешение на перезагрузку. Соглашаемся. После перезагрузки появится примерно вот такой экран.

Убедившись, что все OK, выбираем в правом нижнем углу экрана красный значок завершения работы. Подождите некоторое время, затем, после закрытия системы, отключите питание, выньте из Pi SD карточку и вставьте ее в кардридер.

Теперь можно заняться разгоном. Запускаем на компьютере Total Commander и переходим на SD карточку. Вместо 8 Гбайт там будет всего около 100 Мбайт, это нормально. Ищем файл config.txt и открываем его для правки. Здесь можно принудительно выбрать разрешение дисплея, ввести лицензионный ключ на декодирование MPEG-2 файлов и много всего другого. С полным описанием настроек можно . Оригинал статьи на английском языке находится по адресу: http://elinux.org/RPi_config.txt .

Пока ограничимся щадящим режимом разгона процессора. Для этого в файл config.txt нужно добавить следующие строки:
arm_freq=900
core_freq=333
sdram_freq=450
over_voltage=0

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

Теперь запускаем Win32DiskImager и сохраняем образ карточки в файл с расширением .img . Это займет несколько минут. Именно по этой причине я писал, что оптимальный объем карточки 8 Гбайт. Создание образа карточки большего объема займет соответственно больше времени. Кроме того, потребуется больше места на жестком диске для его хранения.

Образ – это своего рода backup, он может потребоваться для восстановления системы в случае каких-то сбоев, неправильных действий пользователя и т.п. Поэтому рекомендую сохранять образ перед каждым обновлением системы и установкой новых программ. Гораздо проще и быстрее в случае повреждения системы восстановить ее из образа, чем разбираться, что же такое случилось, почему ничего не работает. Созданный образ для экономии места на диске нужно заархивировать любым архиватором. Всегда сохраняйте 2-3 последних по времени образа.

Вынимаем карточку из кардридера и вставляем ее в слот Raspberry Pi. Включаем питание. Если все работает нормально, можно подробно ознакомиться с предустановленными программами, убедиться, что есть доступ в интернет. Ярлык штатного броузера Midori есть на рабочем столе. Если что-то безвозвратно нарушили, не страшно – просто восстановите систему из сохраненного ранее образа.

Вдоволь наигравшись, займемся ugrade –ом и установкой дополнительных программ. Запускаем, дважды щелкнув по ярлыку на рабочем столе, LXTerminal . Набираем в командной строке:
sudo rpi-update

Ввод команды всегда завершается нажатием Enter. Ждем несколько минут, пока будет происходить обновление операционной системы. После завершения обновления появится сообщение о необходимости перезагрузки. Перезагружаемся, вновь запускаем LXTerminal и набираем:
sudo apt-get update

Ждем окончания обновления сведений о доступных обновлениях. Затем вводим команду:
sudo apt-get upgrade

Процесс обновления займет несколько минут, после его окончания на всякий случай перезагружаемся, чтобы убедиться, что все работает нормально. Теперь можно устанавливать новое программное обеспечение. В первую очередь поставим Synaptic Package Manager, который облегчит поиск и установку программ. Для этого набираем в терминале:
sudo apt-get install synaptic

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

Рекомендую установить файловый менеджер в стиле Norton Commander – Midnight Commander (mc). Можно установить броузер Chromium – аналог Google Chrome. Хоть он и работает очень медленно, но зато позволяет импортировать все закладки с основного компьютера. Можно также установить неплохую почтовую программу Claws Mail и аналог Microsoft Office – Libre Office. Список доступных для установки программ большой, в основном, конечно, ерунда, но кое-что выбрать можно.

Если потребуется что-то изменить в настройках системы, можно повторно запустить программу настройки, набрав в терминале:

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

И так, у нас есть полностью настроенный и работоспособный второй компьютер под управлением Linux. У него есть аппаратные интерфейсы SPI, I2C, UART, универсальные порты ввода-вывода, поддержка режима Full HD видео. Он без проблем распознает USB флэшку и жесткий диск, имеет доступ в интернет.

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

Наконец, можно без риска путешествовать по сайтам самого сомнительного содержания, вирусов под Linux на несколько порядков меньше, чем под Windows. А под Raspberry Pi, возможно, что пока их и нет вообще.

Конечно, я рассказал далеко не все о возможностях Raspberry Pi. Но для того, чтобы обо всем подробно рассказать, нужно писать книгу, на одной страничке сайта все описать невозможно. Я рассказал только о том, что сам проверил. Если что-то непонятно или не получается – просите помощи у Google.