Магда Ю. С. Raspberry Pi. Руководство по настройке и
применению
Москва, 2014
УДК 004. 42:004. 3'144:621. 3. 049. 774ARM
ББК 32. 973. 26-018. 2
М12
Магда Ю. С. М12 Raspberry Pi. Руководство по настройке и применению – М. :
ДМК Пресс, 2014. – 188 с. ISBN 978-5-94074-964-6
Быстрый прогресс современной электроники в последние годы существен-
но повлиял на все сферы человеческой деятельности, включая применение
компьютерных технологий. Существенным прорывом стало создание полно-
функциональных компьютерных систем на одном кристалле, так называемом
System-On-Chip (SoC). В SoC интегрируются все основные функциональные
блоки, присущие компьютерам (процессор, память, графический процессор и
др. ). На одном из таких SoC-кристаллов реализован один из наиболее попу-
лярных современных миниатюрных компьютеров, известный под названием
Raspberry Pi. Эта книга посвящена практическим аспектам применения Raspberry Pi,
начиная от программирования простых систем управления и измерения на
языке Python и заканчивая разработкой мультимедийных систем и созданием
игровых приложений на языке Scratch. Хотя Raspberry Pi помещается на ла-
дони, он способен выполнять многие функции, доступные мощным настоль-
ным системам. Многие популярные приложения, работающие на настольных
компьютерах, могут выполняться и на Raspberry Pi. Вдобавок Raspberry Pi
обладает мощными мультимедийными и графическими возможностями,
в частности, при работе с 3D графикой, поэтому этот миниатюрный ком-
пьютер можно использовать как платформу для разработки игровых прило-
жений, что может заинтересовать многих будущих программистов. Raspberry
Pi можно использовать и для создания своих собственных измерительных
и робототехнических систем с различными датчиками и исполнительными
устройствами. Создание таких систем возможно благодаря наличию циф-
рового порта ввода/вывода (GPIO) – подобная возможность отсутствует
в обычных настольных ПК. Материал книги будет полезен самой широкой аудитории, начиная от
школьников и студентов и заканчивая разработчиками приложений для муль-
тимедиа, Интернета и систем управления. УДК 004. 42:004. 3'144:621. 3. 049. 774ARM
ББК 32. 973. 26-018. 2
Все права защищены. Любая часть этой книги не может быть воспроиз-
ведена в какой бы то ни было форме и какими бы то ни было средствами без
письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но, по-
скольку вероятность технических ошибок все равно существует, издательство
не может гарантировать абсолютную точность и правильность приводимых
сведений. В связи с этим издательство не несет ответственности за возможные
ошибки, связанные с использованием книги. © Магда Ю. С. , 2014
ISBN 978-5-94074-964-6 © Оформление, ДМК Пресс, 2014
СОДЕРЖАНИЕ
Введение ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 5
1 Сборка и запуск Raspberry Pi... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 8
2 Установка и загрузка Raspbian OS ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 12
3 Linux и Raspberry Pi ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 18
Основы функционирования операционной системы Linux ... ... ... 21
Архитектура Linux ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 25
Учетные записи пользователей... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 38
Файловая система Linux ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 52
Подключение, отключение и восстановление файловых
систем ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 61
Контроль дискового пространства ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 64
Права доступа к файлам ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 72
Операции с файлами ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 82
Копирование файлов ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ... ... ... ... ... ... . . 82
Удаление файлов ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 83
Перемещение файлов ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 84
Создание каталогов ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 85
Удаление каталогов ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 86
Поиск файлов и каталогов ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 87
Архивирование данных в Linux... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 93
4 Особенности функционирования Raspbian OS
в Raspberry Pi ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 101
Установка и обновление программ ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 103
Программирование в Raspbian OS ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 103
5 Сетевые настройки Raspbian OS ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 106
Настройка беспроводной сети в Raspberry Pi ... ... ... ... ... ... ... ... ... ... . . 110
Доступ к сетевым ресурсам из Raspbian OS... ... ... ... ... ... ... ... ... ... ... ... 120
6 Программирование на языке Scratch в Raspberry Pi ... ... ... ... ... . 126
4 СОДЕРЖАНИЕ
7 Программирование приложений на языке Python
в Raspbian OS ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . . 140
8 Порт GPIO в измерительных системах ... ... ... ... ... ... ... ... ... ... ... ... ... ... 161
Практические примеры простых систем управления... ... ... ... ... ... 167
Расширение порта GPIO с помощью интерфейса I2C ... ... ... ... ... . . 171
Применение расширителя ввода-вывода PCF8574 ... ... ... ... ... ... ... 176
Использование расширителя ввода-вывода MCP23008 ... ... ... ... 180
Система измерения температуры на базе интерфейса I2C ... ... . . 183
ВВЕДЕНИЕ
Материал этой книги посвящен практическим аспектам применения
миниатюрного компьютера Raspberry Pi, начиная от программиро-
вания простых систем управления и измерения на языке Python
и заканчивая разработкой мультимедийных систем или созданием
игровых приложений на языке Scratch.