Глава 1. Общие сведения 7
1.1. История создания 7
1.2. Технические характеристики и возможности 8
Глава 2. Установка ОС на Raspberry Pi 13
2.1. Дистрибутивы Raspberry Pi 13
2.2. Установка ОС с помощью NOOBS 15
2.3. Установка дистрибутива Raspbian с помощью загрузочной карты 18
Глава 3. Дополнительное оснащение мини-ПК Raspberry Pi 21
3.1. Корпус 21
3.2. Источник питания 22
3.3. Клавиатура и мышь 23
3.4. Монитор 24
3.5. Увеличение тактовой частоты (разгон) 27
3.6. Подключение USB-накопителя 29
3.7. Подключение жесткого диска 31
3.8. Подключение Wi-Fi 33
3.9. Подключение 3G-модема 36
3.10. Подключение веб-камеры USB 39
3.11. Подключение камеры Raspberry Camera Board 41
3.12. Неисправности Raspberry Pi и борьба с ними 43
3.12.1. Проблемы с питанием или в момент включения 44
Красный индикатор не горит, нет изображения на экране 44
Красный индикатор мигает 44
Красный индикатор горит, зеленый не мигает, нет изображения на экране 44
Зеленый индикатор мигает в определенном порядке 44
На экране появляется только разноцветный квадрат 44
Ошибка Kernel Panicпри загрузке 45
Raspberry Pi выключается или перезагружается сразу после загрузки 45
Компьютер иногда загружается, но не каждый раз 45
3.12.2. Клавиатура, мышь и другие устройства ввода 45
Компьютер не реагирует на клавиатуру, или нажатая клавиша
многократно повторяется 45Клавиатура и мышь не работают вместе с USB-адаптером Wi-Fi 46
Проблемы с беспроводной клавиатурой 46
Введенные символы не соответствуют клавиатуре 46
Долго загружаются настройки клавиатуры 46
3.12.3. Обновление прошивки Raspberry Pi 46
3.12.4. SD-карты 47
3.12.5. Звук 48
Нет звука на мониторе, подключенном по HDMI 48
Нет звука совсем или в отдельных приложениях 48
3.12.6. Изображение 49
Команда startxне выполняется 49
Неверные цвета на экране 49
Видео не воспроизводится или воспроизводится очень медленно 49
Большие черные поля вокруг небольшого изображения на мониторе
высокой четкости (HD) 49
Изображение выходит за границы экрана 50
Помехи или искажение цветов на мониторах HDMI или DVI 50
3.12.7. Проблемы с сетью 50
Соединение теряется при подключении устройства USB 50
Микросхемы сетевого адаптера и контроллера USB сильно греются 50
Сеть перестает работать при переносе SD-карты с одного Raspberry Pi
на другой 50
Происходят сбои при высокой нагрузке на сеть 51
Пропадает сетевое соединение при запуске графической среды 51
3.12.8. Проблемы с GPIO 51
Глава 4. Дистрибутив Raspbian — настройка и установка дополнительных пакетов 52
4.1. Поддержка русского языка 52
4.2. Файловый менеджер 52
4.3. Создание скриншотов 52
4.4. Доступ к Raspberry Pi по SSH в консольном и графическом режиме 53
4.5. Удаленный рабочий стол VNC 57
4.6. Установка пакета Samba 60
4.7. Подключение Яндекс.Диска 62
4.8. FTP-сервер 65
4.9. Веб-сервер 66
4.10. Торрент-клиент 69
4.11. Видеотрансляция с помощью веб-камеры 71
4.11.1. Сервер видеонаблюдения 74
4.11.2. Передача потокового видео с камеры Raspberry Pi Camera Board 78
4.12. Синтез речи на Raspberry Pi 79
4.12.1. Голосовой синтезатор Espeak 79
4.12.2. Голосовое оповещение о приходящих письмах на почту gmail.com 80
4.13. Raspberry Pi и голосовое управление 83
4.13.1. Движок распознавания речи Julius 84
4.13.2. Голосовое управление с использованием Google Speech API 89
4.14. Raspberry Pi и ROS 91
4.14.1. Установка ROS-дистрибутива Hydro на Raspberry Pi 92
4.14.2. Создание тестового проекта 95
4.15. Raspberry Pi и OpenCV 98
4.15.1. Получение в OpenCV изображения с камеры 100
4.16. Подключение платы Arduino 104
4.16.1. Отправка данных на сайт Народного мониторинга связкой Raspberry Pi + Arduino 105
4.17. Размещение изображения с камеры Raspberry Pi на сайте Народного мониторинга 111
Глава 5. Медиапроигрыватель Xbox Media Center (XBMC) 114
5.1. Установка дистрибутива Raspbmc 114
5.2. Установка начальных параметров 116
5.3. Новостная лента 118
5.4. Погода 121
5.5. Подключение репозитория русскоязычных дополнений 124
5.6. Фото 125
5.7. Музыка 129
5.8. Видео 132
5.9. Программы 134
5.10. Разгон системы 135
5.11. Управление Raspberry Pi на ОС Raspbmc с помощью планшета Android 136
5.12. Управление Raspbmc с помощью пульта 142
5.13. Написание плагина для Raspbmc 142
5.13.1. Немного теории, необходимой для написания простого плагина 142
5.13.2. Структура простого плагина 147
5.13.3. Проект создания плагина для получения погоды с сайта Народного мониторинга 147
Глава 6. Работа с интерфейсом GPIO 154
6.1. Особенности работы с GPIO 155
6.1.1. Управление GPIO из оболочки bash 156
6.1.2. Управление GPIO из языка Python 157
6.1.3. Управление GPIO из языка C 159
6.1.4. Подключение к Raspberry Pi жидкокристаллического дисплея 161
6.1.5. Схема подключения телевизионного пульта к Raspberry Pi на дистрибутиве Raspbmc 164
6.2. Доступ к портам GPIO через веб-интерфейс 168
6.2.1. Установка пользовательского пароля WebIOPi 170
6.2.2. Настройка WebIOPi 171
6.2.3. Библиотека Javascript 172
Функции библиотеки webiopi.js 172
Функция WebIOPi.ready 173
Функция WebIOPi.setFunction 173
Функция WebIOPi.digitalWrite 173
Функция WebIOPi.digitalRead 174
Функция WebIOPi.toggleValue 174
Функция WebIOPi.callMacro 174
Функция WebIOPi.outputSequence 174
Функция WebIOPi.pulse 175
Функция WebIOPi.pulseRatio 175
Функция WebIOPi.pulseAngle 175
6 Оглавление
Функция WebIOPi.createButton 176
Функция WebIOPi.createFunctionButton 176
Функция WebIOPi.createGPIOButton 176
Функция WebIOPi.createMacroButton 177
Функция WebIOPi.createSequenceButton 177
Функция WebIOPi.createRatioSlider 177
Функция WebIOPi.createAngleSlider 178
Функция WebIOPi.setLabel 178
6.2.4. Проект управления веб-камерой на сервоприводах 180
6.2.5. WebIOPi — подключение устройств 185
6.3. Плата расширения Gertboard 186
6.3.1. Включение платы Gertboard 188
6.3.2. Контакты портов GPIO 189
6.3.3. Тестовые программы для Gertboard 190
Буферизированные порты ввода/вывода 192
Светодиоды 192
Кнопки 193
Тестирование кнопок 194
Тестирование светодиодов 196
Драйвер с открытым коллектором 199
Контроллер двигателя 200
Аналого-цифровые и цифроаналоговые преобразователи 205
Тестирование D/A и A/D 206
6.3.4. Программирование ATmega 211
6.3.5. Проект для платы Gertboard: контроль входа 217
Программа для RFID-считывателя на ATmega 218
Создание базы данных с использованием Python и MySQL 221
Обработка данных из ATmega Gertboard 223
6.4. XMOS StartKIT для Raspberry Pi 226
6.4.1. Подсоединение StartKIT к Raspberry Pi по протоколу SPI 230
Протокол SPI 230
Установка поддержки SPI в Raspberry Pi 232
Модуль spidevдля Python 233
6.4.2. Создание программы для XMOS StartKIT 235
Заключение 238
Приложение. Описание электронного архива 239
В архиве находятся следующие папки:
\glava_04— исходники примеров и проектов главы 4;
\glava_05— исходники примеров и проектов главы 5;
\glava_06— исходники примеров и проектов главы 6;
\cxem— электрические схемы в формате spl7.
В детстве сам пропадал на радиокружке станции юных техников
Учу внука тому, чему не учат в «тестированных школах»!
Думать, создавать, вкалывать!