Микрокомпьютер Raspberry Pi
И. КУТЕПОВ, Радио №1/2014 ст.17
В предлагаемой вниманию читателей статье речь пойдёт о компьютере, собранном на одной небольших размеров печатной плате, но способном полноценно работать под управлением операционной системы семейства Linux. Разработчики Raspberry Pi ставили перед собой цель создать удобное и дешёвое средство для освоения начинающими компьютерной техники и программирования. Но оказалось, что он может служить и основой разнообразных любительских конструкций, далеко опережая по своим возможностям ставшие уже привычными микроконтроллеры и модули на их основе (например, популярный Arduino). Сегодня Raspberry Pi уже завоевал популярность во всём мире и используется в таких областях техники, как «умный дом», автоматика, робототехника, обработка видеоинформации. Редакция надеется, что наши читатели также найдут ему множество полезных применений.
Основа компьютера Raspberry Pi — «система на кристалле» (SoC) Broadcom ВСМ2835 с процессором ARM1176JZF-S (тактовая частота 700 МГц) и видеоускорителем Video- Core IV, обеспечивающим разрешение Full HD 1080. Объём оперативной памяти — 512 Мбайт. Долговременная память — карта SD/MMC объёмом не менее 4 Гбайт с установленной на ней операционной системой семейства Linux. Такую карту с уже установленной операционной системой (ОС) Debian 6 Linux можно приобрести дополнительно к компьютеру.
Компьютер собран на плате размерами 85,6x54x17 мм, фотоснимок которой показан на рис. 1. Изображена плата компьютера модели В последней на сегодня модификации Revision 2. Более ранние варианты имеют некоторые отличия. Подробнее об этом можно узнать в [1]. На снимке обозначены интерфейсные разъёмы компьютера и разъём microUSB, на который подают только напряжение питания 5 В от внешнего источника (информационные линии не используются). Потребляемая компьютером мощность — 3,5 Вт. Чтобы защитить плату от нежелательных воздействий, её можно поместить в приобретаемый отдельно ударопрочный корпус, показанный на рис. 2. Это защитит плату и от нежелательных случайных замыканий при различных экспериментах с ней.
Raspberry Pi модели В оснащён сдвоенным разъёмом интерфейса USB 2.0 для клавиатуры, мыши и других периферийных устройств с таким интерфейсом. Поскольку этих разъёмов только два (у модели А он был всего один), для увеличения числа подключаемых устройств рекомендуется использовать USB-хаб с внешним питанием (чтобы не перегружать источник питания компьютера и тонкие печатные проводники его платы). Имеется также стандартный разъём RJ-45 интерфейса Ethernet 10/100 Мбит/с. Он предназначен для соединения с локальной сетью и с Интернетом. Предусмотрены два выходных видеоразъёма — HDMI и RCA («тюльпан»). Сигнал с последнего можно подать на композитный видеовход любого телевизора. К разъёму HDMI можно подключить оснащённый таким интерфейсом телевизор или монитор, а через специальный переходник, изображённый на рис. 3, — монитор SVGA Но в комплект поставки компьютера этот переходник не входит, его приобретают отдельно. Формируемый компьютером аудиосигнал выведен на гнездо под стандартный стереоштекер диаметром 3,5 мм. Выход маломощный, к нему можно подключать активную акустическую систему или головные телефоны.
На рис. 4 представлены взаимное расположение и назначение выводов основного разъёма порта GPIO (General Purpose Input-Output — ввод—вывод общего назначения) Это двухрядный 26-контактный разъём с шагом штыревых контактов и расстоянием между их рядами 2,54 мм.
Многие контакты разъёма GPIO имеют альтернативные функции и могут использоваться в интерфейсах UART, SPI, 12С. На сегодняшний день существуют два варианта печатной платы Raspberry Pi модели В. Приведённое на рис.4 назначение выводов действительно для Raspberry Pi, собранного на печатной плате Revision 2.0. На этой плате предусмотрено посадочное место для ещё одного разъёма GPIO. На рис. 1 оно находится ниже основного разъёма, левее его середины. Сам восьмиконтактный разъём отсутствует, но его можно установить самостоятельно с обратной стороны платы. Для первого контакта предназначена квадратная контактная площадка. Назначение контактов показано на рис. 5. Уровни сигналов на разъёмах GPIO характерны для логических микросхем с напряжением питания 3,3 В. Большее напряжение на его контакты подавать нельзя. При необходимости взаимодействия с логическими микросхемами с более высоким напряжением питания должны применяться преобразователи уровня, примеры схем которых имеются в [2].
В нижней по рис. 1 части платы Revision 2, справа от микросхемы стабилизатора напряжения, имеется место для ещё одного разъёма. К нему можно подключить кнопку «Reset», устанавливающую компьютер в исходное состояние.
Питание к плате подводят через разъём microllSB от любого стабилизированного источника постоянного напряжения 5 В. Для Raspberry Pi модели В этот источник должен быть способен отдавать ток не менее 700 мА. Для модели А достаточно 300 мА. Я использовал зарядное устройство для смартфона NOKIA с максимальным током нагрузки 1200 мА.
Известны случаи, когда при работе с Raspberry Pi наблюдались «залипания” клавиш и пропуски их нажатий. Причиной этого всегда были «провалы» напряжения питания при резких изменениях потребляемого от него тока. Разработчики компьютера рекомендуют применять в таких ситуациях источник питания большей мощности. Разъём JTAG используется при изготовлении и тестировании компьютера. При обычной работе необходимости подключения к нему, как правило, не возникает, и на некоторых платах (в том числе на изображённой на рис. 1) этот разъём даже не установлен. К разъёму DSI можно подключить ЖК- панель с одноимённым последовательным интерфейсом [3]. Разъём CSI предназначен для подключения видео- или фотокамеры [4]. Можно, конечно, подключить видеокамеру и к разъёму USB.
На плате имеются пять светодиодов, которые сигнализируют о следующих ситуациях:
ACT (зелёный) — обращение к SD-кар- те;
PWR (красный) — наличие напряжения 3,3 В;
FDX (зелёный) — полнодуплексное подключение к сети;
LNK (зелёный) — активность сети;
100 (жёлтый) — сеть 100 Мбит/с.
Платы расширения Raspberry Pi
Существуют различные дополнительные платы, что позволяет подключать к микрокомпьютеру разные датчики и исполнительные устройства. Вот некоторые из них. Плату PiFace устанавливают сверху на плату Raspberry Pi. Она имеет такие же размеры и вырезы для разъёмов композитного видео, Ethernet и USB (рис.6). При этом PiFace соединяется с разъёмом GPIO, а все остальные разъёмы Raspberry Pi остаются свободными. На PiFace установлены два реле, способные коммутировать ток до 10 А, четыре кнопки, имеются восемь дискретных входов и восемь выходов с открытым коллектором, а также восемь светодиодов. Исполнительные устройства (лампы, электродвигатели) и контактные датчики подключают к PiFace с помощью винтовых зажимов. Плата поставляется вместе с обучающими материалами и примерами программ на языках С и Python.
На плате Gertboard, изображённой на рис. 7, имеются множество портов, восьмиразрядный микроконтроллер Atmel AVR (ATmega168 или ATmega328), контроллер электродвигателя, кнопки, светодиоды и пр. Зоны платы, занятые основными узлами, выделены на рис. 7 цветными рамками. Тестовые программы для Gertboard, написанные на языках С и Python, находятся в свободном доступе в Интернете. Совместно с Raspberry Pi получается идеальный инструмент для разработки домашней автоматики и создания робототехнических устройств.
Отладочная плата Embedded PI (рис. 8) позволяет соединять микрокомпьютер с платами расширения (шилдами) Arduino, имеет микроконтроллер STM32F103 и дополняется удобными в использовании примерами программ. Она может быть прекрасной оценочной платформой для этого микроконтроллера семейства Cortex-МЗ. Оснащена интерфейсом JTAG/SWD для программирования и отладки, совместима с бесплатной средой разработки СооСохIDE.
Предусмотрены три режима работы, переключаемых джамперами. В режиме Raspberry Pi плата служит соединительным мостом между этим микрокомпьютером и платами расширения Arduino. В автономном режиме управление берёт на себя микроконтроллер STM32, и (забота происходит без участия Raspberry Pi. В режиме адаптера микроконтроллер STM32 управляет платами расширения Arduino, а Raspberry Pi обеспечивает интерфейс с пользователем или служит консолью для подачи команд и приёма информации от Embedded Pi. В этом режиме возможности Raspberry Pi расширяются за счёт использования ресурсов STM32.
Программное обеспечение Raspberry Pi
Дистрибутивов различных ОС для Raspberry Pi существует много: Arch Linux, Debian, OpenELEC и др. Подробную информацию о них можно посмотреть на сайте [5].
Процесса установки дистрибутива как такового нет, обычно на SD-карту записывают рабочий образ ОС, а при первом запуске выполняют несколько простых команд. Что касается настройки системы под свои нужды, то Интернет просто изобилует как готовыми решениями, так и подробными объяснениями и инструкциями. Установка дополнительных программ и библиотек не вызывает затруднений, но необходимым условием является подключение Raspberry PI к Интернету. Все операции по установке, обновлению и удалению выполняются менеджером пакетов, который имеется во всех основных дистрибутивах.
Я выбрал для себя ОС Raspbian. Она оптимизирована под Raspberry Pi и широко описана в Интернете. По адресу http://downloads.raspberrypi.org/download.php?file=/images/raspbian/ 2012-07-15-wheezy-raspbian/2012- 07-15-wheezy-raspbian.zip можно скачать образ этой ОС. Он находится в ZIP-архиве, и его необходимо разархивировать. Также потребуется утилита Win32Disklmager [6}, запустить которую нужно с правами администратора.
Установите чистую SD-карту в кардридер, подключённый к компьютеру, работающему под ОС Windows, посмотрите в «Проводнике», какую букву она получила в системе, чтобы случайно не затереть информацию, хранящуюся на другом носителе.
В программе Win32Disklmager выберите файл со скачанным и разархивированным ранее образом ОС Raspbian, укажите нужную букву носителя и нажмите на экранную кнопку Write. На выведенное на экран предупреждение дайте ответ Yes». Начнётся процесс разбиения карты на разделы и загрузки на неё ОС (рис. 9) Он должен завершиться сообщением об успехе (рис. 10).
Теперь необходимо отредактировать файл config.txt в корневом директории карты памяти это конфигурационный файл системы для Raspberry Pi. Обратите внимание, что приводимые далее настройки действительны для ЖК-мониторов с разрешением экрана 1920×1080 пкс.
Если не предполагается использовать видеовыход на разъём RCA, параметр disable_overscan=1 следует раскомментировать. Советую также установить фиксированное разрешение, раскомментировав строки hdmijjroup и hdmimode. Значение параметра hdmi_mode следует изменить в соответствии с таблицей, которая имеется в [7]. Например, для монитора с разрешением 1920×1080 пкс необходимо написать hdmi_mode=16. Там же приведены значения и других параметров, которые, возможно, будут полезны.
Не забыв сохранить изменения, извлеките SD-карту из кардридера и вставьте её в Raspberry Pi. Подав на плату питание, увидите на мониторе отчёт о процессе загрузки, а на плате Raspberry Pi — мигание светодиодов.
При первой загрузке будет автоматически запущена программа настройки системы raspi config (рис. 11). В ней выполните следующие действия:
- командой expand rootfs расширьте корневой раздел root на всю SD-карту;
- войдя в раздел configure keyboard, выберите наиболее подходящий тип клавиатуры, я выбрал Logitech Cordless Desktop;
- войдя в раздел change_pass, установите новый пароль для пользователя pi (обратите внимание, что вводимые символы не отображаются вообще, даже в виде звёздочек!);
- в пункте change locale установите дополнительные локали (я не стал этого делать и оставил единственную локаль по умолчанию — en GB UTF8);
- установите часовой пояс (set timezone). Например, чтобы установить московское время, необходимо выбрать пункт Europe, а в нём — Moscow;
- установите Memory split. Если предполагается пользоваться графическим интерфейсом, рекомендую отвести под video 32 Мбайт;
- обязательно активируйте SSH;
- если необходимо, чтобы при загрузке Raspbian автоматически запускалась графическая среда, активируйте boot behaviour;
В завершение нажмите комбинацию клавиш Ctrl+F и выберите пункт Finish, соглашаясь на перезагрузку устройства. По её завершении на экране проявится приглашение ввести имя пользователя и пароль. Имя пользователя — pi, пароль был задан при настройке системы Raspbian. На этом установка и первичная настройка системы завершены.
Рассмотрим ещё один популярный дистрибутив Fedora Remix Linux. Он состоит в основном из пакетов проекта Fedora ARM, а также небольшого числа адаптированных пакетов обычной ОС Fedora и библиотек, которые не могут быть включены в обычную Fedora в силу лицензионных ограничений. В частности. это библиотеки для доступа к возможностям GPU Raspberry Pi.
Образ системы для записи на SD-кар- ту включает в себя более 640 пакетов программного обеспечения: консоль, графические оболочки LXDE и XFCE с набором языков программирования, приложения, системные инструменты и службы для обеих оболочек. В репозиториях Fedora ARM доступны более 16000 пакетов программ, которые могут быть легко установлены через Интернет для настройки системы под конкретные нужды.
Дистрибутив включает в себя следующие приложения:
- языки программирования python, perl, ruby, bash;
- систему контроля версий git;
- системные приложения для настройки различных параметров системы (дата/время и прочее), управления пользователями, принтерами и другим оборудованием;
- инструменты для установки, удаления и обновления программного обеспечения;
- SSH и службы принтера;
- текстовый процессор ApiWord, электронные таблицы Gnumeric, графический редактор GIMP, web-браузер Fi refox;
- текстовые редакторы для программистов vim, gedit с плагинами для управления файлами, Python-консоль.
Самый простой способ установить Raspberry Pi Fedora Remix Linux — воспользоваться установщиком, который написал Jon Chiappetta. Установщик сам скачивает образ Fedora Remix из Интернета и записывает его на SD-карту. Размер образа — 1,6 Гбайт. Он доступен в трёх вариантах:
- RPM-пакет для Fedora Linux <http://files.velocix.com/c1410/fedora/installer/fedora/fedora-arm-installer-1.0.0.zip>.
- Пакет для пользователей Windows <http://files.velocix.com/c1410/fedora/installer/windows/fedora-arm-installer—1.0.0.zip>. Для доступа к SD-карте может потребоваться запуск установщика с правами администратора, возможны также проблемы, если в пути к образу дистрибутива будут содержаться пробелы. Недостатки планируется устранить в будущих версиях установщика. Работает он в Windows 7 и Windows Vista.
Специальный Python-скрипт установщика для пользователей прочих операционных систем <http://files.velocix.com/c1410/fedora/installer/source/faii-1.O.O.tar.gz>
Для первой загрузки рекомендуется, чтобы к HDMI-выходу Raspberry Pi был подключён HDMI- или DVI-D-монитор. Необходимо наличие USB-клавиатуры и подключение к сети IPv4 с динамическим распределением IP-адресов.
Во время первой загрузки размер образа будет скорректирован, чтобы полностью заполнить SD-карту. Далее необходимо задать корневой пароль, создать аккаунт первого пользователя для входа в систему, выбрать часовой пояс и вариант загрузки системы — консольный или графический. В случае отсутствия клавиатуры эти шаги будут пропущены, автоматически запустятся консольный интерфейс и SSH-сервер, чтобы к устройству можно было подключиться по сети (корневой пароль по умолчанию — fedoraarm).
Используется ядро версии 3.1.9. Закрытые библиотеки Raspberry Pi, заголовочные файлы и утилиты расположены в стандартных директориях /usr/lib, /usr/include, /usr/bin, /usr/sbin/, а не в /opt/vc (как в Debian для Raspberry Pi).
Исходные тексты программ для демонстрации мультимедийных возможностей находятся в директории /usr/ share/vc-demo-source. Информация об их компиляции и использовании имеется на официальной Wiki-странице Fedora Remix <http://zenit.senecac.on.ca/wiki/index.php/Raspberry_Pi_ Fedora_Remix>.
Все библиотеки, скрипты загрузки, прошивка GPU, ядро доступны в виде RPM-пакетов, а значит, могут устанавливаться и обновляться из онлайн- репозиториев с помощью менеджера пакетов yum <http://files.velocix.com/c1410/fedora/installer/windows/fedora-arm-installer-1.0.O.zip> Более подробную информацию можно найти в [8].
Настройка и запуск удалённогорабочего стола
Для чего нужен удалённый рабочий стол? Чтобы иметь возможность работать со своим Raspberry Pi откуда угодно. При наличии IP-адреса, даже временного, можно подключиться к Raspberry Pi из любой точки мира. Если выделенного IP-адреса нет, можно подключиться с любого компьютера домашней сети.
Удалённый рабочий стол даёт возможность дистанционно управлять устройством, запускать приложения, писать и отлаживать программы, находясь далеко от Raspberry Pi А подключив к Raspberry Pi видеокамеру, можно по Интернету наблюдать за помещением, в котором она установлена, находясь даже в другой стране. Для организации удалённого рабочего стола потребуются две программы: PuTTY и Xming. Первую можно взять по адресу <http://putty.org.ru/ download. html>, а вторую — по адресу <http://sourceforge.net/projects/xming/>. PuTTY — универсальный SSH-клиент типа Телнета, но с шифрованием. Xming — это локальный Х-сервер для Wndows.
Именно он будет отображать рабочий стол Raspberry Pi на компьютере.
На Raspberry Pi ничего устанавливать не требуется. Единственное, нужно включить SSH-сервер, если это не было сделано раньше. Для этого командой
$ sudo raspi-config
запустите конфигуратор, включите в пункте меню SSH опцию enable и перезапустите Raspberry Pi. Теперь он готов к удалённой работе.
Далее необходимо установить на компьютере, с которого требуется доступ к Raspberry Pi, скачанные из Интернета PuTTY и Xming.
PuTTY достаточно просто разархивировать. Настройка клиента очень проста. На вкладке «Сеанс» введите IP-адрес Raspberry Pi, номер порта оставьте 22 и выберите тип соединения SSH. В строке «Сохранённые сеансы» введите любое имя организуемого соединения и нажмите «Сохранить». Теперь сделанные настройки сохранены в созданном профиле.
Далее перейдите в пункт «Соедине- ние-»Данные» и введите имя и пароль для входа в Raspberry Pi. Если их не меняли, то имя — pi, а пароль — raspberry. Это делается для того, чтобы не вводить имя и пароль при каждом входе.
Перейдя в пункт «SSH-»X11», отметьте пункт «Включить переадресацию Х11». В строке «Отображение дисплея X» напишите «localhost:0» Возвратившись на вкладку «Сеанс», сохраните все установленные режимы под именем созданного профиля. На этом настройка завершена. Если захотите поэкспериментировать с другими режимами, это можно сделать позже.
Теперь щёлкните мышью по созданному профилю и нажмите на экранную кнопку «Соединение». Если всё сделано правильно, на экране компьютера будет отображён знакомый терминальный режим Raspberry Pi С ним можно полноценно работать. Все введённые команды будут исполняться точно так же, как если бы их ввели непосредственно с клавиатуры, подключённой к Raspberry Pi.
Если хочется иметь полноценный рабочий стол, пришло время вспомнить о программе Xming. Устанавливая её, давайте утвердительные ответы на все вопросы, которые будут заданы в процессе установки. При первом запуске на этапе «Select display settings” выберите пункт «One window», a «Display number» установите равным нулю. В окне «Select how to start Xming» выберите «Start no client». Изменить настройки или исправить допущенную ошибку можно с помощью XLanch. Запустите Xming. В трее должен появиться его значок, свидетельствующий о том, что Х-сервер работает. Чтобы появился рабочий стол, введите в терминале PuTTY команду startlxde. На экране раскроется рабочий стол Raspberry Pi. Кстати, независимо от него можно продолжать работать и в терминале, например, запускать из командной строки любые графические приложения. Xming можно научить запускать PuTTY в автоматическом режиме. Тогда рабочий стол будет открываться одним нажатием кнопки. Подробности ищите на сайтах, посвящённых этим программам, например [9].
Разработка прикладных программ для Raspberry Pi
Писать прикладные программы можно на языках C++ и Python. В составе дистрибутивов есть и популярный язык программирования Scratch. Можно также создавать приложения, использующие GUI (Graphical User Interface — графический интерфейс пользователя), на языке Qt.
Ниже рассмотрим, как работать с Raspberry Pi на примере управления логическими уровнями на линиях порта GPIO.
Работа с портом ввода—вывода общего назначения
Анализируя логические уровни, установленные внешними устройствами на линиях порта GPIO, настроенных как входы, и изменяя уровни на других линиях, настроенных как выходы, Raspberry Pi может управлять этими устройствами Любыми, от обычной сигнальной лампы до беспилотного летательного аппарата. Область применения ограничена лишь вашей фантазией и знаниями.
Чтобы в программе на языке Python работать с портом ввода—вывода GPIO, необходима специальная библиотека. Ее можно получить, зайдя по адресу http://code.google,com/p/raspberry-gpio-python/ в Интернет или выполнив консольную команду
$ wget http://pypi.python.org/pacicages/source/R/RPi .gpio/RPi.GPIO-O.l.O.tar.gz
Вводить ее следует единой строкой. Далее для установки библиотеки выполните следующие действия:
$ tar zxf RPi.GPIO-O.l.O.tar.gz
$ cd RPi.gpio-O.1.0
$ sudo python setup.py install
Рассмотрим простейший пример — управление светодиодом. Выбираем для его питания контакт 17 разъема GPIO, на который выведено напряжение 3,3 В. Такое же напряжение имеется и на контакте 1, можно использовать и его. Для управления светодиодом используем линию GPIO10 (контакт 19), но можно и любую другую. Схема подключения светодиода показана на рис. 12. Там же имеется кнопка SB 1, о которой будет рассказано позже, а пока её и резистор R1 подключать не обязательно. Назначение резистора R2 — ограничить потребляемый светодиодом HL1 ток, который без этого резистора может достичь очень большого значения, опасного не только для светодиода, но, что ещё хуже, и для самого порта, находящегося внутри установленной на плате микросхемы, повреждение которой приведёт к отказу компьютера.
Теперь можно написать и запустить программу, приведённую в табл. 1 При вводе текста обратите внимание на пробелы. В языке Python они имеют большое значение, пропускать их нельзя. Во время работы этой программы мигает с периодом 2 с светодиод HL1, подключённый, как было описано выше.
Пришло время подключить к разь- ёму GPIO кнопку SB 1. Когда она отпущена, на линии GPI011 благодаря резистору R1 будет установлен высокий логический уровень, а когда нажата — низкий. После запуска программы, приведённой в табл. 2, светодиод будет включён при отпущенной кнопке, а при нажатой — выключен.
Raspberry Pi можно программировать и на языке C/C++. Рассмотрим пример использования порта GPIO на этом языке. Но прежде выполним следующую команду, тоже условно разбитую на две строки
$ wget http://www.open.com.au/mikem/bcm2835/bcm2835-1.17.tar.gz
Скачанную по этой команде библиотеку необходимо установить, а для этого сначала разархивировать командой $ tar zxvf bcm2835-1.17.tar.gz Перейдём в директорий, в который помещена разархивированная библиотека, и установим её:
$ cd bcm2835-1.17
$ ./configure make
$ sudo make check
$ sudo make install
Компилятор языка С теперь может использовать установленную библиотеку. Но прежде чем начинать писать программу, возвратитесь в домашний директорий
$ cd ..
В нём нужно создать для будущей программы новый директорий под любым именем (например, myprog), перейти в него и вызвать текстовый редактор nano, указав ему имя создаваемого файла программы GPIO-test.c:
$ mkdir myprog
$ cd myprog
$ nano GPIO-test.c
Текст программы приведен в табл. 3. Более полную информацию можно найти в [10]. Там же есть подобный пример и его описание [11].
Заключение
Сегодня существуют множество проектов на основе микроконтроллера Raspberry Pi. Хочу кратко упомянуть один из них, которому посвящён сайт [12]. На мой взгляд, он заинтересует читателей, пытающихся создать «умный дом» своими руками. При этом следует учитывать не только ассортимент и стоимость датчиков и исполнительных устройств, но и возможности контроллера. Большинство продаваемых контроллеров сразу готовы к работе «из коробки», но предоставляют ограниченные возможности. Проект, о котором идёт речь, построен на базе микрокомпьютера Raspberry Pi и технологии Z-Wave с использованием платы расширения RaZberry. Она превращает микрокомпьютер в Z-Wave контроллер домашней автоматики.
Хочется отметить тот факт, что в Интернете очень много сайтов с различными статьями, блогами, форумами, посвящёнными Raspberry Pi. Это доказывает наличие интереса к нему и свидетельствует о его популярности.
ЛИТЕРАТУРА
- RPi Low-level peripherals. — <http://elinux.org/RPi_Low-level_peripherals#General_Purpose_lnput.2FOutput_.28GPIO. 29>
- RPi GPIO Interface Circuits — <http://elinux.org/RPi_GPIO_lnterface.Circuits>
- MIPt Alliance Standard for Display Serial Interface — <http://electronix.ru/forum/index. php?act=Attach&type=post&id=67363>
- MIPI Alliance Specification for Camera Serial Interface 2 (CSI-2). — <http://electronix.ru/forum/index.php?act=Attach&type-post&id=67362>
- RPi Distributions. — <http://elinux.org/RPI_Distrlbutions>
- Win32 Disk Imager 0.9. — <http://www.softpedia.com/get/CD-DVD-Tools/Oata-CD-DVD-Burning/Win3 2- Disk- Imager. shtml>
- Rpiconfig — <http://ellnux.org/RPi_config.txt#Video_mode_configuration>
- Fedora Remix Linux. — <http://raspberrypi.ru/doc/5/>
- Запускаем удалённый рабочий стол. — <http://raspberrypi.ru/readblog/42/>
- Русскоязычное сообщество пользователей Raspberry Pi. — <http://raspberrypi.ru>
- GPIO для чайников (часть 1). — <http://raspberrypi.ru/readblog/43/>
- Raspberry Pi и умный дом. — <http://raspberrypi.ru/readblog/215/>