Raspberry Pi:Введение. Raspberry Pi — подключение (установка ОС, настройка)

30.07.2019
Я давно следил на ХабраХабр за проектом Raspberry Pi и твердо решил заполучить свой мини-компьютер. Когда начался предзаказ, я воспользовался им практически сразу, однако только 17 июня 2012 года мне на Email пришло сообщение от RSComponents.Com о возможности заказа моего экземпляра Raspberry Pi. Итого прошло около месяца с момента предзаказа.

В этот же день я создал заказ (кстати, в то время уже можно было заказать «официально» в Российскую Федерацию) и стал ждать свою «малину». Информационное письмо обещало отгрузку в течение максимум 6 недель, но в этот срок я так и не получил свою плату. Во время звонка в московское представительство RS, менеджер фирма дал понять, что поставки скоро будут, но когда - неизвестно.

17 августа мне на email пришло сообщение от сотрудницы Московского RS, что моя плата доставлена в офис и ее можно забирать (т.к. заказать из RS с доставкой на дом нельзя, потому что DHL не доставляет посылки частным лицам). Собственно говоря, в этот же день я и получил свой компьютер Raspberry Pi!


Весь необходимый набор комплектующих был куплен мною заранее (собственно говоря, все позаимствовал от других устройств). Я использовал:

  • 4Gb Class6 SD-карту от Transcend
  • NoName usb-зарядник на 1А с MicroUSB кабелем
  • HDMI кабель Hama
  • Ethernet-кабель
В качестве клавиатуры и мыши я использовал свой рабочий USB-Reciever Unifying от Logitech. Подключил Raspberry к монитору с помощью HDMI-DVI кабеля.

Действо первое. Установка ОС.

В качестве ОС для Raspberry была выбрана Raspbian (как я понял из форумов, практически все сборки сделаны на основе Debian, поэтому выбор, на мой неискушенный взгляд, не особо богат). Данная ОС широко описана в интернете, а также оптимизирована специально для RPi.
Образ ОС можно скачать с официального сайта: 2012-07-15-wheezy-raspbian.zip . Образ заархивирован в ZIP, сам имеет расширение IMG. Его необходимо разархивировать.
Также, потребуется утилита Win32DiskImager , запустить которую необходимо с правами администратора.

Устанавливаем вашу SD карту в кард-ридер, смотрим в Проводнике, какую букву она получила в системе (чтобы ненароком не затереть данные на другом носителе).
В программе Win32DiskImager выбираем скачанный ранее образ Raspbian, выбираем нужную букву носителя и жмем Write. На предложенное предостережение отвечаем “Yes”.
Пойдет процесс заливки ОС на карту и разбиения ее на разделы:

Процесс закончится сообщением об успехе:

Теперь необходимо немного подредактировать файл config.txt в корне карты памяти – это конфигурационный файл системы для Raspberry Pi. Обратите внимание, что приведенные мною настройки актуальны для ЖК мониторов с разрешением экрана 1920*1080.

Следует раскомментировать параметр disable_overscan=1 (если Вы не планируете использовать RCA выход).
Советую также установить фиксированное разрешение, для этого раскомметруйте строки hdmi_group и hdmi_mode . Значение параметра hdmi_mode следует изменить в соответствии с таблицей, которая приведена (также, по этой ссылке приведены другие параметры, которые, возможно, будут Вам полезны). Например, для монитора с разрешением 1920*1080 следует написать hdmi_mode=16 .

Не забываем сохранить изменения, отсоединяем SD-карту и вставляем ее в Raspberry Pi.
Подключаем к плате питание и видим на мониторе процесс загрузки, который нас (во всяком случае - пока) мало интересует. Наблюдаем радостное мигание лампочек Raspberry Pi:

При первой загрузке автоматически будет запущена программа настройки системы raspi_config :

  1. Выполняем команду expand_rootfs , которая расширит root раздел на всю SD-карту.
  2. Входим в раздел configure_keyboard и устанавливаем наиболее подходящий тип клавиатуры. Я выбрал Logitech Cordless Desktop
  3. Затем, входим в раздел change_pass устанавливаем новый пароль для пользователя pi (обратите внимание, что вводимые символы не отображаются вообще, даже в виде звездочек!).
  4. Устанавливаем дополнительные локали с помощью пункта change_locale (я не стал этого делать и оставил единственную локаль по умолчанию - en_GB UTF8).
  5. Устанавливаем часовой пояс (set_timezone ). Например, если Вы живете в Москве, необходимо найти пункт Europe, а в нем - Moscow
  6. Memory_split устанавливаем в соотвествии с собственным желанием, рекомендую отвести под video – 32Mb, если планируете пользоваться графическим интерфейсом.
  7. Обязательно активируем ssh !
  8. Если хотим, чтобы при загрузке Raspbian автоматически запускалась графическая среда – активируем опцию boot_behaviour .
В конце нажимаем +[F] и выбираем пункт Finish , соглашаясь на перезагрузку устройства.

На этом установка и первичная настройка системы завершена!

Следующая часть будет интересна тем, кто особо не знаком с Linux (как был и я).

Действо второе. Установка вебсервера и настройка Samba.

Не забывайте, что если Ваш Raspberry подключен в сеть, то можно использовать SSH доступ, что во много раз удобнее.

Перед началом работы обновим apt-get :
sudo apt-get update

Установка Web-сервера:
Устанавливаем MySQL:
sudo apt-get install mysql-server mysql-client
Когда запросит установить пароль для root – укажите любой пароль, который Вы запомните.

Устанавливаем Lighttpd:
sudo apt-get install lighttpd
С этого момента Rpi будет откликаться тестовой страницей, если набрать ее IP адрес в браузере любого компьютера в сети!

Устанавливаем PHP5:
sudo apt-get install php5-cgi

Теперь необходимо активировать PHP в настройках сервера. Открываем файл в редакторе nano:
sudo nano /etc/lighttpd/lighttpd.conf
Пункт server_modules должен выглядеть вот так:
server.modules = ("mod_access", "mod_fastcgi", "mod_alias", "mod_compress", "mod_redirect", "mod_rewrite",)
А в самый конец файла добавьте вот это:
fastcgi.server = (".php" => (("bin-path" => "/usr/bin/php5-cgi", "socket" => "/tmp/php.socket")))
Сохраняем, нажав +[X], [Y] и .

Осталось отредактировать файл конфигурации PHP5:
sudo nano /etc/php5/cgi/php.ini
Находим и раскоментируем (удаляем символ ";") строку cgi.fix_pathinfo = 1 . Сохраняем файл.

После всего проделанного, перезапускаем Lighttpd, выполнив команду:
sudo /etc/init.d/lighttpd restart

Установка и настройка Samba
Установим Samba:
sudo apt-get install samba samba-common-bin
Так как моя Rpi находится в домашней сети, я решил не устанавливать пароль на доступ к папкам, а просто настроил публичный шаринг для всей сети.
Для этого открываем файл smb.conf:
sudo nano /etc/samba/smb.conf
Вместо всего имеющегося содержимого пишем:
workgroup = WORKGROUP guest ok = yes netbios name = Raspberry security = share browseable = yes path = /var/www writeable = yes browseable = yes
Сохраняем. Перезапускаем Samba:
sudo /etc/init.d/samba restart
С этого момента в вашей сети появилось новое устройство RASPBERRY, которое имеет папку www.
В ней Вы можете создать любые файлы, которые будут доступны для просмотра во всей сети с помощью браузера.

Кстати! Гораздо удобнее управлять шарингом файлов и папок с помощь программы SWAT, которая предоставляет веб-интерфейс.
Установить ее очень просто:
sudo apt-get install swat
Панель управления SWAT будет расположена по адресу: http://:901
Логин и пароль соответствуют Вашей учетной записи (той, которой Вы пользуетесь для SSH)

Действо третье. Монтирование носителя файлов.

В качестве носителя я решил использовать обычную флэшку, которую подключил в один из USB портов Raspberry Pi. При желании можно подключить к Rpi и внешний жесткий диск, однако надо будет организовать для него отдельное питание, так как USB порты платы на такие нагрузки не рассчитаны и, в лучшем случае, жесткий диск просто не «заведется». Мне же объема флэшки (16Гб) должно вполне хватить.

Подключаем носитель и выполняем команду:
sudo fdisk -l
Команда покажет все устройства, которые подключены к нашему устройству. Ищем в списке нужное устройство по его объему. Например, у меня нужная строка выглядит вот так:
Disk /dev/sda: 16.0 GB, 16013852672 bytes
Искомый путь к устройству - /dev/sda , запомните его!

Запускаем fdisk для форматирования носителя:
sudo fdisk /dev/sda
Вначале удаляем существующие разделы командой d (выбираем нужные разделы цифрами), затем создаем новый с помощью команды n (все значения принимаем по умолчанию), сохраняем проделанную работу с помощью команды w .

Создаем файловую систему ext2 на носителе:
sudo mkfs -t ext2 /dev/sda1

Монтируем:
sudo mount -t ext2 /dev/sda1

Теперь необходимо обеспечить автоматическое монтирование носителя при каждой загрузке Raspbian. Для этого создаем папку:
sudo mkdir /mnt/flash
Отрываем файл настроек:
sudo nano /etc/fstab
и добавляем в него строку:
/dev/sda1 /mnt/flash ext2 defaults 0 0
Сохраняем и перезагружаем устройство. При загрузке носитель должен автоматически примонтироваться, что можно проверить командой:
df
Она выведет список примонтированных устройств с указанием точек их монтирования.

Кстати! Рекомендую установить также файловый менеджер Midnight Commander для работы с файлами через консоль:
sudo apt-get install mc
Если Вы пользуетесь Putty для работы с SSH, то для корректной работы MC Вам необходимо сделать настройку. В настройках Putty установите значение Remote character set в разделе Translation на «UTF-8»:

Действо четвертое. Установка Transmission и настройка закачек

Мы подобрались к цели данного топика - установке и настройке Torrent-клиента на нашем устройстве. Я остановил свой выбор на Transmission.

Устанавливаем Transmission:
sudo apt-get install transmission-daemon
Создаем директорию для закачек, для неоконченных закачек и для торрентов на подключенном носителе и даем права на запись:
sudo mkdir /mnt/flash/torrent sudo mkdir /mnt/flash/torrentfiles sudo mkdir /mnt/flash/incomplete sudo chmod 777 /mnt/flash/torrent sudo chmod 777 /mnt/flash/torrentfiles sudo chmod 777 /mnt/flash/incomplete
Редактируем настройки:
sudo nano /etc/transmission-daemon/settings.json
Здесь необходимо поменять на указанные значения следующие параметры:
"cache-size-mb": 2; "download-dir": "/mnt/flash/torrent", "incomplete-dir": "/mnt/flash/incomplete", "preallocation": 2, "rpc-password": "любой удобный вам пароль (при перезапуске демона будет зашифрован)", "rpc-username": "pi", "rpc-whitelist-enabled": false, "speed-limit-down": 3000, "speed-limit-up": 1000,
К сожалению на высоких скоростях скачивания и отдачи Raspberry начинает очень сильно тормозить, поэтому экспериментальным путем были выявлены те ограничения, которые Вы видите в настройках выше.

Перезапускаем Transmission командой:
sudo /etc/init.d/transmission-daemon restart
С этого момента у Вас установлен рабочий Torrent-клиент, веб-панель управления которым доступна по адресу: http://:9091, логин pi, пароль Вы установили в конфигурационном файле.

Не забудьте также добавить папку /mnt/flash/torrent в сетевую шару через Samba, чтобы скачанные файлы можно было смотреть на других устройствах, например, на Вашем медиаплеере:


Название фильма намеренно изменено, такого фильма не существует

Стоит отметить, что с отдачей файлов по сети Raspberry Pi, на мой взгляд, справляется отлично - при копировании файла с Raspberry Pi на компьютер, максимальная скорость достигла 7Мб/сек, что практически соответствует максимальной скорости чтения для использованной флэшки.

Эпилог

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

Буду рад замечаниям об ошибках от более опытных пользователей!

Наконец до меня добралась очередная посылка из с одноплатным компьютером Raspberry Pi 3 Model B, базовыми аксессуарами для него и еще кое-какой мелочевкой.

А в этой статье будет описан процесс знакомства с микрокомпьютером – от распаковки до первого запуска операционной системы и выполнения первоначальных настроек.

Для начала работы понадобится обязательно:

  • Карта памяти microSD объемом от 8Гб

Это то, из чего будет состоять микрокомпьютер в сборе.

Кроме того, нужно иметь следующую периферию:

  • Монитор или телевизор с HDMI-входом
  • Проводная клавиатура
  • Проводная мышь
  • Картридер для microSD-карт или устройство, способное выполнять его функцию

Экран для вывода информации, устройства ввода, картридер для записи образа операционной системы.

А для большего удобства не лишним будет иметь:

  • Bluetooth-клавиатура
  • Bluetooth-мышь

Управлять “малинкой” беспроводными мышью и клавиатурой удобнее, чем их проводными собратьями.

Небольшой обзор Raspberry Pi 3 Model B

Микрокомпьютер Raspberry Pi 3 Model B поставляется в картонной коробке красно-белой расцветки с фирменным логотипом в виде малины.

Комплект поставки – сама плата Raspberry Pi 3 в антистатическом пакете и небольшая брошюра-памятка по технике безопасности (не накрывать “малинку” во включенном виде, не разгонять, избегать перегрева, не использовать в сырых и влажных местах, избегать механического повреждения печатной платы и т.д.).

Стандартное средство для форматирования Windows почему-то не подходит: при попытке запуска Raspbian с отформатированной через него карты памяти будет выдаваться ошибка “error resizing existing FAT partition”.

Шаг 2. Запись дистрибутива Raspbian

После подготовки microSD-карты необходимо скачать дистрибутив Raspbian с официального сайта.

Скачанный образ дистрибутива заархивирован, так что после скачивания архив нужно распаковать в любую папку.

Распакованный образ Raspbian нужно записать на подготовленную microSD-карту, для чего можно воспользоваться бесплатной утилитой Rufus .

Шаг 3. Первый запуск Raspbian на Raspberry Pi

На этом процедура установки завершена.

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

Теперь можно подключить Raspberry Pi к беспроводной Wi-Fi сети, а если есть Bluetooth мышь и клавиатура, то провести их сопряжение с микрокомпьютером для большего удобства использования.

Ставим обновления

После установки Raspbian и подключения к интернету посредством Ethernet или Wi-Fi соединения нужно на всякий случай обновить все пакеты до актуальной версии.

Делается это через терминал посредством ввода двух команд:

Sudo apt-get update sudo apt-get upgrade

Первая команда загружает сведения о доступных обновлениях пакетов, вторая загружает непосредственно сами обновления.

На всякий случай обновим еще прошивку Raspberry Pi:

Sudo rpi-update

По завершению установки обновлений Rapsberry Pi нужно перезагрузить:

И если все сделано правильно, то после перезагрузки система уведомит нас о том, что она была обновлена до актуальной версии.

Многие команды в *nix-системах начинаются с sudo: это означает, что исполнение команды запускается с правами суперпользователя, что является аналогом “Запуска от имени администратора” в Windows.

Убираем черные поля по краям экрана

В некоторых случаях после загрузки Raspbian пользователь обнаруживает черные поля по краям экрана.

Это значит, что неверно выставлена развертка.

Исправляется буквально в два клика мышкой путем правки файла конфигурации через текстовый редактор:

Sudo leafpad

Открываем файл /boot/config.txt и ищем в нем строку:

#disable_overscan=1

И убираем символ #, превращая ее из комментария в исполняемую команду:

Disable_overscan=1

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

Настройки локализации

По умолчанию Raspbian настроен под британского пользователя.

Изменить настройки локализации можно в настройках, как через графический интерфейс (Menu -> Parameters -> Raspberry Pi Configuration ), так и через консоль:

Sudo raspi-config

Мне показалось, что менять настройки через графический интерфейс удобнее, поэтому в этом тексте я буду рассматривать его.

Итак, запускаем “Raspberry Pi Configuration” .

На вкладке System нажимаем “Change Password…” и задаем root-пароль. По умолчанию он отсутствует, что в дальнейшем может помешать выполнению некоторых команд.

Переключаемся на вкладку Localisation .

“Set Locale…” – выбираем Country: RU (Russia), Character Set: UTF-8. Язык системы (пункт Language) можно поменять на “ru (Russian)”, а можно оставить как есть. Локализация Raspbian выполнена не на 100%, и при выборе русского языка придется довольствоваться мешаниной из русского и английского текстов в интерфейсе.

“Set Timezone…” – здесь нужно выбрать подходящий часовой пояс. Поскольку территория России захватывает и Европу и Азию, то в зависимости от географического положения в “Area” выбирается либо “Asia”, либо “Europe”, а в “Location” – один из городов, часовой пояс в котором соответствует часовому поясу вашей местности.

Например, на Урале часовой пояс UTC/GMT+5, что принято называть “Екатеринбургским часовым поясом”. В графе “Location” в Raspbian нет населенного пункта Ekaterinburg (Yekaterinburg), но есть населенный пункт Ashkhabat, живущий по тому же часовому поясу. Поэтому я выставляю его, и на системных часах начинает отображаться мое местное время.

“Set Keyboard…” – не трогаем, о раскладках клавиатуры речь пойдет дальше.

“Set WiFi Country” – тут выставляем “RU Russia”, хотя большой необходимости в этом нет, встроенный адаптер работает и на локальных настройках по умолчанию. Скорее всего, эта настройка важна для некоторых стран третьего мира, где стандарты Wi-Fi жестко ограничиваются в милитаристских целях.

Раскладка клавиатуры

Нужные раскладки клавиатуры и возможность переключения между ними добавляются вводом консольной команды:

Setxkbmap us,ru -option grp:alt_shift_toggle

В данном случае добавляются русская и английская раскладка. Английская стоит как основная, а переключение между ними происходит по сочетанию клавиш Alt+Shift.

Можно изменить сочетание на Ctrl+Shift, если так привычнее, внеся соответствующую правку в эту команду.

Проблема в том, что Raspbian не запоминает эту команду, и после каждой перезагрузки Raspberry Pi ее придется вводить заново. А это неудобно.

Поэтому открываем текстовый редактор:

Sudo leafpad

И правим через него системные настройки клавиатуры, хранящиеся в файле /etc/default/keyboard.

Нужно заменить строки:

XKBLAYOUT="gb" XKBOPTIONS=""

XKBLAYOUT="us,ru" XKBOPTIONS="grp:alt_shift_toggle,grp_led:scroll"

Теперь добавим в систему графический индикатор раскладки клавиатуры:

Sudo apt-get install gxkb

И поместим его в автозагрузку. Это тоже делается через редактирование текстовых файлов:

Sudo leafpad

Открываем файл /home/pi/.config/lxsession/LXDE-pi/autostart и дописываем в его конец строку:

Теперь осталось только перезагрузить Raspberry Pi для применения изменений:

Впечатления от использования Raspberry Pi 3

Первое, на что обращаешь внимание при использовании Raspberry Pi – полная бесшумность его работы.

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

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

Теперь что касается производительности.

Мощности Raspberry Pi 3 Model B хватает на выполнение простых офисных и мультимедийных задач: комфортную работу в офисном пакете, просмотр видео и серфинг не очень тяжелых сайтов в интернете.

А вот просмотр онлайн-видео дается “малинке” уже тяжеловато, а при одновременном открытии 4-5 вкладок ютуба Raspbian начинает немного подвисать.

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

Ну а дистрибутив Raspbian предназначен для обучения программированию (недаром в нем “из коробки” уже предустановлены IDE для программирования на Java и Python, и такая забавная штука как Scratch – среда программирования, позволяющая составлять алгоритмы в визуально-графической форме) и для управления подключенной по GPIO периферией. Это тоже интересная тема, и к использованию GPIO-интерфейса Raspberry Pi я еще вернусь в будущем.

Заключение

Вот так прошло мое знакомство с микрокомпьютером Raspberry Pi 3.

В следующих статьях цикла будут рассмотрены такие темы как:

  • совместное использование Raspberry Pi и Arduino
  • сравнение Raspberry Pi с другими присутствующими на рынке одноплатными компьютерами

А для тех, кто заинтересовался перспективой покупки Raspberry Pi 3 хочу напомнить, что адекватная цена на этот микрокомпьютер колеблется в пределах $35-$40.

Именно по такой цене Raspberry Pi можно приобрести в Китае, в то время как у наших “серых” дилеров розничная стоимость этого микрокомпьютера начинается от 3000 рублей и может достигать 4500 рублей.

Не кормите кучу посредников – заказывайте Raspberry Pi по честной цене в Китае!

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

Raspberry Pi является торговой маркой Фонда Raspberry Pi.

Какие бывают Raspberry Pi

Компьютеры Raspberry Pi продаются с 2012 года, и за это время было выпущено немало разновидностей. Ниже мы подробно рассмотрим современные образцы, а более старые модели перечислим бегло.

Raspberry Pi 3 model B

Эта разновидность была выпущена в феврале 2016 года. Вот ее основные технические характеристики:

  • оперативная память (RAM): 1 Гбайт;
  • размер: 85,6х56,5х17 мм.

Возможности для взаимодействия с внешним миром у этого компьютера очень впечатляющие:

  • полноразмерный HDMI-видеовыход;
  • 4 полноразмерных разъема USB;
  • аудиовыход;
  • Ethernet-разъем для проводного подключения к локальной сети;
  • Wi-Fi для беспроводного подключения к локальной сети;
  • Bluetooth;
  • разъем ввода-вывода общего назначения (т.н. GPIO);
  • разъем для подключения камеры (CSI);
  • разъем для подключения дисплея (DSI), в т.ч. поддерживаются экраны, чувствительные к касанию, т.н. тачскрины.

Обратите внимание: на плате Raspberry Pi 3 model B отсутствует встроенная флеш-память. Чтобы запустить этот одноплатный компьютер, нужно взять карту памяти microSD, записать на нее образ операционной системы и вставить в разъем на плате.

Также особенностью Raspberry Pi 3 model B является использование для подключения источника питания разъема micro-USB, как в современных сотовых телефонах. Однако нужно учитывать, что не каждая зарядка от телефона подойдет для питания «малинки». Например, для питания Raspberry Pi 3 model B изготовитель советует использовать источник питания от надежного производителя, рассчитанный на ток до 2,5А.

Raspberry Pi 3 Zero и Zero W

Это особые разновидности Raspberry Pi уменьшенного размера и, соответственно, мощности. Модель Zero 3 была выпущена в мае 2016 года, а Zero W - в феврале 2017. Они предназначены для тех применений, где не требуется высокая производительность старшего образца, но зато большое значение имеет малый размер и малое потребление электроэнергии.

Вот основные технические характеристики этих образцов:

  • процессор (CPU): 32-разрядный 1-ядерный ARM частотой 1 ГГц;
  • оперативная память (RAM): 512 Мбайт;
  • размер: 65х30х5 мм.

Возможности для подключения внешних устройств здесь более скромные:

  • видеовыход мини-HDMI;
  • 1 разъем micro-USB;
  • разъем для карты памяти microSD;
  • разъем ввода-вывода общего назначения (GPIO);
  • разъем для подключения камеры (CSI).

Zero W отличается от просто Zero тем, что имеет Wi-Fi и Bluetooth. Обе платы получают питание через разъем micro-USB. Таким образом, здесь имеется по 2 разъема micro-USB, один из которых служит только для подключения питания, а второй - для подключения внешних устройств.

Обратите внимание: как и у старшего брата, Raspberry Pi 3 model B, в этих разновидностях отсутствует встроенная флеш-память. Чтобы запустить этот одноплатный компьютер, нужно взять карту памяти microSD, записать на нее образ операционной системы и вставить в разъем на плате.

Raspberry Pi 3 Compute Module

Это т.н. вычислительный узел - разновидность Raspberry Pi, прямо предназначенная для использования как части какого-либо промышленного изделия. Мощность этого встраиваемого компьютера такая же, как и у Raspberry Pi 3 model B, а размеры близки к разновидности Zero:

  • процессор (CPU): 64-разрядный 4-ядерный ARM частотой 1,2 ГГц;
  • оперативная память (RAM): 1 ГБайт;
  • размер: 67,6х31 мм.

Основные отличия от рассмотренных ранее разновидностей следующие:

  • все разъемы собраны в один большой 200-выводный разъем вида SO-DIMM, расположенный по краю платы;
  • нет Wi-Fi, Bluetooth и Ethernet;
  • имеет встроенную флеш-память объемом 4 ГБайт.

Чтобы использовать этот узел, он должен быть вставлен в особую материнскую плату с разъемом SO-DIMM. Через этот разъем узел получает электропитание и взаимодействует с изделием, частью которого он является, например, автомобилем, станком с ЧПУ, беспилотником и т.п.

Может возникнуть вопрос: зачем нужен вычислительный узел, если уже есть Raspberry Pi 3 model B и Zero? Ответ прост: во-первых, Zero все-таки относительно слабый по мощности компьютер; а Raspberry Pi 3 model B нацелен в основном на рукастых умельцев, для которых некоторая избыточность размеров и разъемов вполне допустима. В случае же с профессиональным использованием Raspberry Pi неиспользуемые разъемы неприемлемы, даже если они будут скрыты под обшивкой. Согласитесь, будет очень странно, если кто-то обнаружит внутри, скажем, домашней развлекательной системы разъем для подключения камеры или пару скрытых USB-портов.

Существует также облегченная разновидность вычислительного узла: она отличается от полной отсутствием встроенной флеш-памяти.

Предыдущие образцы Raspberry Pi

Из разновидностей «малинового пирога» прошлых лет разработки, самое, пожалуй, широкое распространение получил Raspberry Pi 2 model B:

Он лишь немного уступает по производительности своему старшему брату 3-го поколения, а размеры, разъемы и возможности беспроводного подключения у него такие же.

Первая разновидность Raspberry Pi Zero, выпущенная в ноябре 2015 года, отличается от современных отсутствием разъема для подключения камеры.

Особенностью самых первых образцов Raspberry Pi model B, выпускавшихся в 2012 и 2013-м годах, было наличие аналогового видеовыхода RCA, т.н. «тюльпана», и меньшее количество USB-разъемов:

Также у тех образцов Raspberry Pi разъем GPIO был короче и состоял только из 26 выводов. Впрочем, обратная совместимость сохранена: платы расширения, выпущенные для тех Raspberry Pi, можно без каких-либо переделок подключать к первым 26-ти выводам разъема GPIO современных «малинок», у которых этот разъем имеет 40 выводов. Более того, многие современные платы расширения, подключаемые к Raspberry Pi GPIO, могут успешно работать и при подключении к разъему ввода-вывода тех, самых первых образцов встраиваемого компьютера.

Существовала еще разновидность Raspberry Pi 1 model A, которая была младшим братом model B: она имела только 1 USB-разъем, а Ethernet-разъем отсутствовал.

Все образцы Raspberry Pi 1-го поколения не имели встроенных возможностей для беспроводных подключений, таких как Wi-Fi и Bluetooth. Впрочем, к ним можно было подключить соответствующие устройства через USB-разъем.

Что можно сделать на основе Raspberry Pi

Можно сказать просто: если какая-то задача решается с помощью компьютера или микроконтроллера, ее можно успешно и, как правило, дешево решить при помощи Raspberry Pi!

Как и с любым компьютером, возможности Raspberry Pi определяются не только «железом», т.е. возможностями устройств, распаянных на плате одноплатника и подключенных к ней, но и «софтом», т.е. программным обеспечением. Основа ПО любого компьютера - операционная система. Raspberry Pi может работать под управлением большого количества различных ОС, но основной операционной системой для него является Raspbian. Именно ее мы советуем использовать в подавляющем большинстве случаев, т.к. она создана специально для Raspberry Pi.

Итак, что можно сделать на основе этого одноплатного компьютера? Начнем с простых, лежащих на поверхности примеров:

  • Raspberry Pi 3 model B успешно заменит рабочий компьютер: вставьте в него SD-карту с записанным образом операционной системы Raspbian, подключите к нему через USB-разъемы или Bluetooth клавиатуру и мышь, а по HDMI - монитор - и вот вам готовый компьютер! ОС Raspbian вполне современная. После ее запуска пользователь попадает на привычный графический рабочий стол. В ОС есть интернет-обозреватель Chromium, набор офисных приложений LibreOffice и приложение для работы с почтой. Подключить компьютер к локальной сети на работе или дома можно как проводом через Ethernet-разъем, так и по радиоканалу при помощи Wi-Fi.
  • Raspberry Pi 3 model B отлично подойдет в качестве личного компьютера школьника. Кроме уже упомянутых интернет-обозревателя и офисных приложений, в нем есть возможности для обучения программированию на языках Scratch, Python, Perl, C/С++, JavaScript. Можно делать математические расчеты при помощи приложения Wolfram Mathematica, а еще писать электронную музыку в Sonic Pi.

Для установки по требованию доступно огромное количество других приложений на все случаи жизни.

Менее очевидные, но тоже очень распространенные примеры использования Raspberry Pi:

  • мультимедийный развлекательный центр, например, Kodi;
  • «цифровая вывеска»: проигрыватель видео для монитора, расположенного в каком-либо общественном месте: магазине, школе, ВУЗе, поликлинике, витрине и т.д.;
  • фотокиоск.
  • ноутбук;
  • веб-камеру;
  • камеру для покадровой съемки видеороликов;
  • Wi-Fi роутер;
  • голосовой помощник наподобие Яндекс.Станции;
  • автоматическую телефонную станцию (АТС);
  • отображатель сведений о погоде;
  • электронную приборную панель для автомобиля;
  • дверцу для кошки, узнающую вашего питомца и пускающую только его;
  • дешевые очки ночного видения;
  • и многое, многое другое.

Если вас привлекают роботы, можете собрать своего робота на основе Raspberry Pi:

    простая 2-колесная машинка;

    та же машинка, умеющая ездить вдоль нарисованной линии;

    машинка с дистанционным управлением;

    L3-37 из «Звездных войн»;

Подключение устройств к Raspberry Pi

Бытовые разъемы и беспроводные подключения

К видеовыходу HDMI вы можете подключить телевизор, монитор или видеопроектор. Также есть аналоговый видеовыход. Чтобы получить сигнал с него, необходимо использовать особый провод, подключаемый в 3,5-мм звуковой выход.

К USB-разъему Raspberry Pi можно подключить любое USB-устройство при условии, что драйвер для него загружен в операционной системе, под управлением которой работает одноплатный компьютер. Как правило, такие распространенные устройства, как клавиатура, мышь, флешки и внешние жесткие диски, работают «из коробки». А вот подключение 3G/4G-модема или ТВ-приемника может потребовать ручной установки драйверов. Неполный список устройств, которые работают с Raspberry Pi, можно посмотреть на сетевом узле eLinux.org.

Звуковой выход - обычный 3,5-мм разъем, к нему можно подключить наушники или проводные колонки c усилителем.

Bluetooth: можно подключать гарнитуры, беспроводные колонки и множество других устройств; можно подключить смартфон и управлять с него вашим одноплатным компьютером.

Wi-Fi: Raspberry Pi может работать как в качестве подчиненного устройства, т.н. клиента сети Wi-Fi, так и в качестве ведущего, т.н. точка доступа Wi-Fi.

Камера и экран

Raspberry Pi 3 model B и Zero имеют особый разъем для подключения камеры. Доступны камеры разрешением 5 и 8 мегапикселей, с инфракрасными фильтром и без него, с постоянным или изменяемым фокусным расстоянием, для дневной или ночной съемки - выбор огромен, и удовлетворит запросы большинства пользователей.

Так же хорошо обстоит дело с экранами: доступны жидкокристаллические экраны различных размеров и всевозможных разрешений, в том числе поддерживающие 10-точечное касание, цветные, одноцветные и черно-белые. Есть также экраны типа «электронная бумага» - они хороши для приложений, где изображение обновляется нечасто. Любопытно, что экраны для Raspberry Pi подключаются не только через разъем DSI, но и через разъемы GPIO, HDMI и USB.

Платы расширения

Изюминкой Raspberry Pi является GPIO - 40-контактный разъем ввода-вывода общего назначения:

К нему можно подключать платы расширения (HAT, англ. hardware on top), добавляющие к встраиваемому компьютеру новые возможности. Удобство использования такой платы в том, что не требуется паять или внимательно соединять по одному перемычками выводы GPIO и подключаемой платы. Все выводы разъема имеют определенное назначение; достаточно совместить разъем на Raspberry Pi с ответной частью на подключаемой плате, нажать - и готово! Нужно, однако, заметить, что назначение некоторых выводов GPIO можно менять. В этом случае изучите руководство к подключаемой плате, чтобы понять, будет ли она работать с переназначенными выводами.

Так, например, выглядит Raspberry Pi 3 model B с подключенной платой Sense HAT:

Выбор плат расширения поистине огромен. Вот далеко не полный список их видов:

  • светодиоды и их сетки;
  • светодиодные (OLED), ЖК (TFT), сегментные экраны;
  • небольшие громкоговорители, жужжатели (зуммеры);
  • микрофоны;
  • звуковые карты, усилители звука;
  • кнопки, клавиши, джойстики;
  • приемники и излучатели ИК-излучения;
  • приемники сигнала GPS/ГЛОНАСС;
  • приемопередатчики NFC/RFID, LPWAN, XBee, Z-wave;
  • GSM 2G/3G/4G модемы;
  • замыкатели (реле);
  • цифро-аналоговые и аналого-цифровые преобразователи;
  • источники бесперебойного питания;
  • платы управления электромоторами и сервоприводами;
  • и т.д.

Также большим удобством является то, что к Raspberry Pi GPIO можно подключать несколько плат расширения одновременно. Получается что-то вроде этажерки или слоеного пирога. Конечно, при подключении к разъему ввода-вывода общего назначения Raspberry Pi нескольких плат расширения нужно учитывать, какие выводы GPIO каждая плата использует и каким образом, чтобы платы не мешали друг другу.

Датчики

К Raspberry Pi можно подключить датчики, наверное, для всего, что только можно себе представить:

  • нагрева воздуха, жидкости, почвы;
  • влажности воздуха, почвы;
  • освещенности;
  • инфракрасного, ультрафиолетового излучения;
  • давления воздуха;
  • движения;
  • удара, трясения;
  • ускорения;
  • касания;
  • скорости и направления ветра;
  • наклона;
  • расстояния;
  • направления по сторонам света (компас);
  • дыма;
  • газов: кислорода, углекислого, угарного, NO2, водорода, метана, бытового, паров спирта и т.д.;
  • сердцебиения;
  • датчик Холла;
  • магнитного поля;
  • силы тока;
  • расхода жидкости;
  • и др.

Датчики могут быть как цифровыми, так и аналоговыми. Способ подключения у каждого датчика различный. Одни подключаются непосредственно к разъему ввода-вывода общего назначения (GPIO), другие - к особой плате расширения или к USB-разъему. Для подключения некоторых датчиков могут потребоваться простые радиодетали, такие как сопротивления. В зависимости от способа подключения имеется возможность подключить к одному Raspberry Pi только один датчик или сразу множество, как одного вида, так и разных.

Особенности покупки Raspberry Pi

Если вы собираетесь купить этот одноплатный компьютер, учтите следующие особенности:

Карта памяти microSD

Raspberry Pi, кроме разновидности Compute Module, не имеет встроенной постоянной (флеш) памяти. В этой памяти будет размещен образ операционной системы, прикладное программное обеспечение, а также данные, необходимые для их работы. Поэтому необходимо будет купить также карту памяти microSD. Емкости 4 ГБайт достаточно для простейших применений, но мы советуем использовать карту размером от 8 ГБайт.

Источник питания

Raspberry Pi продается без источника питания. Источник питания должен быть оснащен разъемом micro-USB, как у источников питания современных сотовых телефонов. Однако нужно учитывать, что не каждая зарядка для телефона подойдет для питания Raspberry Pi. Например, для питания Raspberry Pi 3 model B изготовитель советует использовать источник питания от надежного производителя, рассчитанный на ток до 2,5А. Для разновидности Zero можно использовать более слабый источник. Учитывайте, что многое зависит от количества и мощности подключенных USB-устройств и плат расширения, а также от того, используется ли беспроводная передача данных по Wi-Fi или Bluetooth.

Корпус

Raspberry Pi продается без корпуса. В ряде случаев корпус вам не нужен, если вы собираетесь встроить этот одноплатный компьютер в какое-либо изделие, имеющее собственный корпус. Можно также сделать корпус самостоятельно из подручных предметов, или даже напечатать его на 3D-принтере - в Сети вы найдете множество готовых 3D-моделей корпусов для «малинки».
Если же ваш случай не относится к перечисленным выше, то купите вместе с Raspberry Pi корпус. Учтите, что корпус для разновидности Zero не подойдет для Raspberry Pi 3 model B. Обратное может быть как верным, так и нет - читайте внимательно описания. Также при выборе корпуса учитывайте:

  • будете ли вы подключать платы расширения: это влияет на высоту корпуса;
  • будете ли вы подключать камеру: есть корпуса, где уже предусмотрено место для установки камеры;
  • будете ли вы подключать экран: есть корпуса, где уже предусмотрено место для установки экрана;
  • будете ли вы подключать к разъему ввода-вывода общего назначения (GPIO) Raspberry Pi какие-либо устройства, расположенные вне корпуса, например, датчики, светодиоды, кнопки, экраны и т.п.: есть корпуса с прорезями для проводов, идущих к разъему GPIO.

Часы реального времени

Raspberry Pi не имеет встроенных часов реального времени. Это означает, что после каждого выключения питания часы останавливаются. Для некоторых применений Raspberry Pi это не имеет значения. В случае, если для вашего случая точное время на компьютере является необходимым, рассмотрите следующие возможности:

  • каждый раз после включения устанавливать время вручную. Это самый неудобный способ;
  • настроить постоянное подключение Raspberry Pi к сети интернет по Wi-Fi, Ethernet, 2G/3G/4G GSM-модему или Bluetooth. В этом случае через несколько минут после запуска Raspberry Pi и установления соединения с сетью интернет произойдет автоматическая установка часов в правильное значение;
  • купить и установить особую плату расширения, например, RasClock, на которой расположены часы реального времени и батарейка;
  • купить и установить особую плату расширения, например, UPS Pico, которая будет работать как источник бесперебойного питания для вашего Raspberry Pi. К такой плате подключается аккумуляторная батарея, которая будет питать ваш встраиваемый компьютер в то время, пока будет недоступно электричество от сетевого источника питания.

Raspberry Pi как домашний или рабочий компьютер

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

  • клавиатура с подключением через USB или Bluetooth;
  • мышь с подключением через USB или Bluetooth;
  • монитор или телевизор с подключением по HDMI или DVI, в последнем случае вам потребуется также переходник с HDMI на DVI.

Дополнительные принадлежности

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

Установка операционной системы на Raspberry Pi 3

Выбор операционных систем для Raspberry Pi 3

Полный список операционных систем, которые можно установить на Raspberry Pi 3, а в большинстве случаев и на более старые разновидности «малины», насчитывает несколько десятков штук. Как правило, это ОС, основанные на ядре Linux, такие как Raspbian, Ubuntu, LibreELEC и OSMC. Также можно установить особое издание Windows 10 - IoT Core. Конечно, рассмотреть в одной статье установку всех поддерживаемых операционок невозможно. Мы ограничимся описанием установки основной ОС, предназначенной для Raspberry Pi - ОС Raspbian, затем расскажем про установку Windows 10 IoT Core и, наконец, про установку медиацентра Kodi.

Вам понадобится

  • Raspberry Pi 3 model B, Zero или другая разновидность этого микрокомпьютера;
  • microSD-карта размером 8 Гбайт или больше;
  • источник питания для «малины»;
  • USB-клавиатура;
  • USB-мышь;
  • монитор с подключением через HDMI-разъем;
  • другой компьютер, оснащенный устройством для чтения и записи microSD-карт.

Это волшебное слово NOOBS

NOOBS расшифровывается как New Out Of Box Software, что можно перевести на русский язык как «установочное программное обеспечение». Это то же самое, что, например, установочный DVD-диск или установочная флешка с операционной системой Windows 10 или Linux для персонального компьютера. Обычно установка ОС с DVD-диска или флешки выполняется на жесткий диск компьютера, и сам носитель установочного ПО не изменяется. В случае с NOOBS для Raspberry Pi 3 сделано иначе: вы записываете на карту памяти установочное ПО NOOBS, вставляете ее в «малину», включаете и попадаете в установщик. После окончания его работы вместо NOOBS на флеш-карте будет установлена выбранная вами операционная система.

Отметим, что это не единственный способ установки ОС на Raspberry Pi 3. Однако для начинающих пользователей советуем использовать именно его: он самый простой.

С помощью NOOBS на микрокомпьютер можно установить следующие операционные системы:

  • Raspbian,
  • Windows 10 IoT Core,
  • LibreELEC и OSMC - операционки для медиацентра Kodi.

Есть возможность установить при помощи NOOBS и несколько других ОС, но их рассмотрение выходит за границы данной статьи.

Установка Raspbian на Raspberry Pi 3

Чтобы установить операционную систему Raspbian на Raspberry Pi при помощи NOOBS, действуйте по приведенным ниже шагам:

  1. скачайте приложение SD Memory Card Formatter с сетевого узла SD Association;
  2. отформатируйте с ее помощью карту памяти;
  3. зайдите в подраздел NOOBS раздела Downloads («Загрузки») сетевого узла Фонда Raspberry Pi и скачайте установочное ПО NOOBS в виде.zip-архива. Примерный размер файла составляет 1,2 Гбайт;
  4. скопируйте содержимое.zip-архива на флеш-карту. Обратите внимание: содержимое.zip-файла необходимо положить в корень карты;
  5. выполните безопасное извлечение карты памяти;
  6. вставьте microSD-карту в «малину», подключите к USB-разъемам клавиатуру и мышь, подключите монитор через HDMI-разъем и источник питания;
  7. вставьте источник питания микрокомпьютера в розетку и дождитесь, когда установочное ПО NOOBS загрузится;
  8. в появившемся списке выберите операционную систему Raspbian;
  9. запустите установку и дождитесь ее завершения. После перезагрузки Raspberry Pi 3 будет загружена ОС Raspbian.

Обратите внимание: если вы используете карту памяти размером 64 Гбайт или более, после выполнения шага 3 карта будет содержать, как и должно быть, единственный раздел, но он окажется отформатированным в файловой системе exFAT, которую загрузчик микрокомпьютера не понимает. В этом случае после шага 3 вам нужно использовать другое приложение, чтобы отформатировать единственный раздел на флеш-карте в файловую систему FAT32. Если компьютер, на котором вы готовите карту памяти для «малинки», работает под управлением ОС Linux или MacOS, используйте штатные средства. В Windows встроенная утилита форматирования не подойдет, поэтому придется использовать стороннее приложение, например, FAT32 format GUI от RidgeCrop Consultants.

Вы также можете установить Raspbian на Raspberry Pi при помощи прямой заливки на microSD-карту. Берется образ карты памяти, на которой уже установлена Raspbian, и непосредственно посекторно записывается на новую карту. При этом нет необходимости в ее предварительном форматировании: нужный набор разделов и файловая система уже находятся в исходном образе.

Такой способ подойдет более опытным пользователям. Особенно это удобно, если нужно подготовить сразу несколько Raspberry Pi 3 с одной и той же операционной системой и одним и тем же набором прикладного ПО.

  1. зайдите в подраздел Raspbian раздела Downloads («Загрузки») сетевого узла Фонда Raspberry Pi и скачайте Raspbian Stretch with desktop или Raspbian Stretch Lite в виде.zip-архива. Примерный размер файла составляет 1300 Мбайт в первом случае и 350 Мбайт в последнем;
  2. извлеките из скачанного.zip-архива в произвольную папку на диске файл с образом ОС. Обычно этот файл имеет расширение.img;
  3. скачайте и установите приложение Etcher, предназначенное для низкоуровневой записи образов операционных систем на флеш-карту;
  4. вставьте карту памяти, на которую нужно записать образ Raspbian, в устройство для чтения и записи microSD-карт;
  5. запустите Etcher, укажите букву диска, соответствующую вашей карте памяти, укажите путь к.img-файлу с образом операционной системы Raspbian и запустите запись;
  6. по окончании записи вставьте карту памяти в Raspberry Pi 3, подключите к USB-разъемам клавиатуру и мышь, подключите монитор через HDMI-разъем и источник питания;
  7. вставьте источник питания микрокомпьютера в розетку и дождитесь, когда загрузится операционная система Raspbian.

Большим удобством является то, что приложение Etcher поддерживается на всех основных операционках: Windows, Linux и MacOS.

Установка Windows 10 на Raspberry Pi 3

Чтобы выполнить установку Windows 10 IoT Core на «малину» при помощи NOOBS, нужно действовать образом, похожим на установку Raspbian при помощи NOOBS. Единственное отличие заключается в том, что на шаге 9, когда появится выбор операционных систем для установки, вам необходимо выбрать Windows 10 IoT Core.

Вы также можете установить Windows 10 при помощи прямой заливки на microSD-карту. Этот способ удобен тем,что выполняется быстрее, чем установка через NOOBS. К тому же, можно быстро подготовить несколько одинаковых карт памяти, например, если вы собираетесь провести практическое занятие по Windows 10 IoT Core или если вам нужно отгрузить заказчику сразу много встраиваемых компьютеров с предустановленной ОС и единым набором прикладных приложений.

Microsoft позаботилась об удобстве пользователей и выпустила особое приложение, которое облегчает дело. Действуйте следующим образом:

  1. скачайте с сетевого узла Microsoft приложение Windows 10 IoT Core Dashboard, установите его и запустите;
  2. вставьте карту памяти, на которую нужно записать образ операционки, в устройство для чтения и записи microSD-карт;
  3. в окне IoT Core Dashboard укажите значения для полей Device type («Вид устройства», например, “Raspberry Pi 2 & 3”), OS Build (номер сборки Windows 10), Drive (буква диска, соответствующего карте памяти), Device name (сетевое имя микрокомпьютера под управлением Windows 10), New Administrator password (пароль администратора), Confirm Administrator password (еще раз пароль администратора);
  4. если вы хотите, чтобы подготовленный Raspberry Pi под управлением Windows 10 после запуска самостоятельно подключился к Wi-Fi сети, известной вашему компьютеру, поставьте галочку Wi-Fi Network Connection и выберите сеть Wi-Fi из списка;
  5. поставьте галочку I accept the software license terms и нажмите Download and install («Загрузить и установить»). IoT Core Dashboard сама загрузит нужный образ Windows 10 и запишет его на microSD-карту.

Нужно, однако, заметить, что приложение IoT Core Dashboard работает только в операционной системе Windows, поэтому пользователям MacOS и Linux оно не подойдет.

Установка медиацентра Kodi на Raspberry Pi 3

Kodi - это продвинутый бесплатный медиапроигрыватель с удобной пользовательской оболочкой. Именно за высокое качество и распространенность создатели Raspberry Pi включили его в состав установочного приложения NOOBS. Вообще говоря, Kodi можно установить на Raspberry Pi 3 как приложение для Raspbian. Однако это не самое удобное и надежное решение. Лучше использовать операционную систему LibreELEC или OSMC, которые содержат в себе только Kodi и библиотеки, необходимые для его работы.

Чтобы установить Kodi, действуйте так же, как и при установке ОС Raspbian при помощи NOOBS. Единственное отличие заключается в том, что на шаге 9, когда появится выбор операционных систем для установки, вам необходимо выбрать LibreELEC или OSMC.

Установка ОС на Raspberry Pi 3 для ленивых

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

Raspberry Pi 3 model B+: новинка 2018 года

Raspberry Pi развивается довольно быстро, и каждый год разработчики выпускают что-нибудь новое. Самым значимым на сегодня новшеством 2018 года стал, конечно же, выпуск новой разновидности этого одноплатного компьютера - Raspberry Pi 3 model B+:

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

По ходу дела, мне впервые в жизни пришлось познакомиться с альтернативной "Wintel" аппаратной платформой (Raspberry Pi 3 на базе ARM-процессора), освоить работу в незнакомой операционной системе (Rasbian OS на базе Debian Linux), подружиться с новым языком программирования (Python), вспомнить азы радиоэлектроники .

В итоге, всего за 3,5 т.р. и месяц ожидания у моего ребенка появился достаточно мощный, уникальный по своим образовательным возможностям инструмент, сочетающий в себе бесшумный 4-ядерный компьютер размером с кредитную карту, вебсервер, медиацентр, центр управления датчиками "умного дома", лабораторию для освоения основ программирования, робототехники и радиоэлектроники - почти идеальное решение для школьного кружка информатики.
При этом, все программы на нем изначально бесплатны и в широком разнообразии доступны из онлайн-репозиториев, а вирусов не бывает в принципе.

Экскурс в историю обучения информатике в школе и ВУЗе

С конца 90-х тем или иным образом принимаю участие в развитии процесса информатизации образования в школах и ВУЗах.
В конце 80-х будучи старшеклассником "зацепил" начало внедрения компьютеров в школьное образование. Тогда это были компьютерные классы на основе микроЭВМ БК 0010 и учительского компьютера ДВК-2. С увлеченим осваивал программирование Basic. Книг тогда по нему практически не было. Вместе с преподавателем приходилось все изучать по брошюркам и "методом научного тыка". Перед окончанием школы в Чувашию приехал проект IBM "Пилотные школы". К счастью, в одну из школ Новочебоксарска (№14) был поставлен компьютерный класса на основе IBM PS/2. Тогда это было подобно чуду - настоящий компьютер "IBM PS" с "мышкой", флоппи-дисководом и шикарным 256-цветным экраном! Учительский компьютер имел 286-й процессор, 1 мегабайт оперативной памяти и 40Мб жесткий диск (который казался настолько большым по сравнению с флоппи-диском, что мы не знали, можно ли его вообще чем-то заполнить "под завязку"). Ко всему прилагался матричный принтер - "чудо враждебной техники".
Затем были 5 "перестроечных" лет учебы в университете, где в ходе учебного процесса я познакомился с кубинскими СМ ЭВМ (те самые, с катушками для записи данных и с тяжелыми металлическими клавиатурами). Но как раз в те самые годы ВУЗы по западным гратнам стали получать современные компьютеры IBM PC-XT 286 и IBM PC/AT 386. Снова я испытал потрясение, изучая Pascal, работая в Norton Commander и осваивая среду гипертекстовой верстки документов LaTex.
Работая несколько лет в школе после окончания ВУЗа имел счастье наблюдать, как в кабинетах информатики БК 0010 постепенно сменяются новыми, на порядки более мощными комьютерами Pentium с графической ОС Windows и офисными программами "на борту". Но дети продолжают изучать на них Basic и Pascal...
По роду деятельности одним из первых в родном городе зашел в Internet и тут же понял, что за ним будущее. Стал заниматься созданием вебсайтов разработкой интернет-проектов, познакомился с Linux- основной ОС Интернета и Perl - тогда самым популярным языком программирования интернет-приложений.
На какой то период времени отошел от школьного образования. Примерно через 10 лет нашел время и желание организовать кружок по компьютерной астрономии в родной школе (ныне гимназии). Практически на моих глазах старые Pentium-ы и Celesron-ы в компьютерном классе благодаря президентскому гранту сменились на мощные двухядерные ноутбуки. В учебной программе уже присутствовали офисные пакеты и графичекские редакторы, основы работы в интернет и знакомство с HTML. Но старые Basic и Pascal также остались...
И вот на дворе уже второе десятилетие нового тысячилетия. Дочка доросла до уроков информатики. От нее я узнал, что в школах все-так же изучают основы работы в Windows и... программирование на Borland Pascal...
А тем временем, во всем мире дети младшего школьного возраста уже пишут программы под Андроид, создают интернет-сервисы на сверхпопулярном языке Python и управляют со смартфонов умными домами на базе Linux-devboard"s с SoC-процессорами...
Задавал вопросы представителям системы образования, в чем проблема застоя с внедрением обучения современным технологиям в школе? Односложного ответа на этот вопрос не услышал. Понял лишь одно, что из-за непопулярности среди продвинутой молодежи профессии учителя информатики, длительности процесса написания учебных программ и пособий, переобучения учительсого состава и переоборудования компьютерных классов, в ближайшем времени моему ребенку в школе ничего не светит, если... Если внедрением новых технологий хотя бы в качестве внеурочной, или олимпиадной работы не займутся энтузиасты. К моему счастью, я сам энтузиаст, и мой первый учитель информатики тоже из их числа. Только нужно помочь с чего-то начать...

Arduino vs Raspberry Pi


Погуглив немного, выяснил, что самым современным в последние пару лет направлением информационного образования во всем мире становитя физический компьютинг - основа технологии IoT (Интернет вещей). Эта тема стала бурно развиваться благодаря появлению недорогой, но достаточно мощной аппаратной платформы Raspberry Pi и связанной с ней инфраструктуры - огромного сообщества преподавателей и этнузиастов, бесчисленнного множества стартовых руководств и учебников, тысяч разработчиков различных библиотек, широкого ассортимента готовых расширений и датчиков. До Raspberry Pi в школьном образовании за рубежом активно продвигалась тема освоения основ кибернетики и физического компьютинга на базе микроконтроллеров Arduino. Благодаря этому для Arduino в настоящее время существует богатый выбор различных датчиков, позволяющим детям под присмотром взрослых, к примеру, конструировать роботизированные платформы, чтобы устраивать примитивные "гонки роботов". В принципе, тема Arduino актуальна и по сей день, но как начальная часть процесса обучения физическому компьютингу, программированию и кибернетике. Raspberry Pi - следующий, существенно более продвинутый, фактически, не ограниченный по возможностям уровень...

Понять, чем отличаются, по своему хороши Raspberry Pi и Arduino можно, сравнив их возможности.

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

Raspberry Pi (v3 Model B) - полноценный 4-ядерный одноплатный компьютер с 1Гб оперативной памяти и возможностью подключения через USB внешних накопителей, работающий под управлением современной Linux-системы, обладающий продвинутыми мультимедийными (Open GL, HD-Video) и коммуникационными (WiFi, Bluetooth, Ethernet) возможностями. За некоторыми оговорками, Raspberry Pi может с успехом использоваться в качестве полноценного ученического/студенческого компьютера, на котором можно, помимо основной задачи- физического компьютинга, слушать музыку, смотреть HD-видео, заниматься вебсерфингом, работать с документами в офисных редакторах, читать электронные книги и т.п... И при этом, не считая монитора (в качестве которого может выступать обычный ЖК-телевизор с VGA/HDMI-разьемом), USB-клавиатуры и мыши, стоимость одного учебного места на базе Raspberry Pi начинается с 2,5 т.р. На Raspberry Pi можно изучать основы программирования на любых языках. По умолчанию на него предустановлены Python, Scratch и Node-RED, но ничего не мешает через удобный интерфейс Debian-репозитория программ установить LAMP c PHP, Ruby, Java и другие популярные среды разработки. Также на Raspberry Pi, как полноценный Linux-компьютер, можно установить массу полезных бесплатных и полезных для освоения программ, в том числе, вебсервер Apache-основу современного Интернета, среду 3D-проектирования Blender, графический редактор The Gimp, векторные редакторы Xara-X и Inkscape, издательскую систему Scribus. И в добавок, Raspberry Pi располагает интерфейсом GPIO для управления датчиками, изначально предназначенными для Arduino. Более того, если требуется мгновенная реакция на события и АЦП-преобразования сигнала, к Raspberry Pi можно подключить Arduino и управлять датчиками через него!
В итоге, Raspberry Pi представляет собой самый доступный по цене персональный компьютер для учащихся и одновременено развитую аппаратно-программную платформу для «Интернета Вещей».

1. Покупка стартового комплекта Raspberry Pi

Итак, разобравшись, что минуя этап Arduino стоит сразу начинать с Raspberry Pi, я пришел к решению о покупке стартового комплекта для первоначального знакомства, освоения основ работы и азов физического компьютинга на Python, чтобы затем продемонстрировать все это в школе и заинтересовать энтузастов-преподавателей, а также продвинутых учащихся. Таким образом и началась моя эпопея с Raspberry Pi.

К счастью для россиян, все модели Raspberry Pi, включая самую совершенную v3 Model B, а также необходимые компоненты к ней можно заказать с доставкой на aliexpress.com.

По минимуму можно заказать только саму плату Raspberry Pi 3 Модель B с доставкой по цене 2200р. Для начала работы вам понадобится блок питания (зарядник для сотового/планшета) с miniUSB-разъемом, дающим на выходе ток 1А-1,5А, ЖК-монитор или телевизор с HDMI-разъемом, USB-клавиатура и мышь.

Я решил добавить 1,2 т.р. и купить необходимый набор компонент, с которым Raspberry Pi станет более удобным, производительным, совместимым и эффективным. Прежде всего, стоит купить комплект радиаторов для отвода тепла от SoC-процессора и памяти, чтобы они не перегревались на сложных задачах и не снижали производительность системы последовательным отключением ядер процессора и снижением тактовой частоты.
Также очень рекомендуется купить какой либо недорогой корпус, чтобы избежать неудобств и защитить детей от неприятностей. Я взял оригинальный корпус Модель R1 бело-малинового цвета.
Для начала освоения основ физического компьютинга вместе с Raspberry Pi сразу стоит заказать стартовый комплект датчиков и монтажную плату с шлейфом для интерфейса GPIO, которые не купишь в местных магазинах. На aliexpress.com существую готовые комплекты, состоящие из датчиков, монтажной платы со шлейфом и переходником, соединительных проводов, светодиодов, кнопок и резисторов. Но они показались мне немного дороговатыми... Поэтому, я взял почти все по отдельности, а светодиоды, кнопки и резисторы решил купить в ближайшем радиоларьке.

Мой список покупок через интернет:
1. Raspberry Pi 3 Модель B с блоком питания на 2,5А и двумя радиаторами для процессора и памяти - 2412р.
2. bredaboard с 40-жильным кабелем и переходником - 282р.
3. HDMI2VGA переходник - 233р.
4. Корпус, модель R1 - 280р.
5. Стартовый комплект из 16 датчиков - 510р.
6. Комплект соединительных проводов - 186р.
Итого : 3900р. (по ценам на февраль 2017г. при курсе рубля 57,70)

После примерно месяца ожидания все заказанные компоненты прибыли в целости и сохранности.

2. Подготовка Raspberry Pi к работе


До первого включения Raspberry Pi необходимо сделать несколько обязательных процедур. Внимание! Перед тем, как достать плату из антистатического пакета, обязательно снимите статическое электричество с рук, прикоснувшись к водопроводному крану или оголенному участку батареи отопления, иначем можете сжечь чувствительную электронику.
Сперва нужно наклеить радиаторы на процессор и микросхему памяти. Это не сложно: сначала отклеиваем защитную пленку с радиатора, затем аккуратно располагаем его над микросхемой, соответствующей ему по размеру и без усилия опускаем на нее радиатор. Сильно прижимать радиатор к микросхеме не надо, он и так будет хорошо держаться.
Затем нужно собрать из частей корпус и поместить в него плату. При сборке корпуса верхнюю крышку и сторону с вырезами под USB-разъемы устанавливаем после вставки (с некоторым усилием) в пазы платы Raspberry Pi.

3. Установка ОС Rasbian

Поскольку Raspberry Pi по умолчанию поставляется без предустановленной операционной системы и собственного носителя информации, его нужно будет купить, а систему скачать и самостоятельно установить.
В качестве системного диска Raspberry Pi на используется microSD-карта минимум 6 класса (скорость записи 6Мб/сек) объемом не менее 8Мб. В интернете советовали сразу покупать карту 10 класса, чтобы избежать возможных проблем с установкой ОС и работой Raspberry Pi.
В ближайшем компьютерном ларьке я купил microSD-карту 10 класса марки Sundisk объемом 8Гб.
Затем я скачал операционную систему Raspbian (на основе Debian Jessie) по адресу https://www.raspberrypi.org/downloads/raspbian/ . Выбирайте Raspbian Jessie with PIXEL - это дистрибутив с графическим интерфейсом и комплектом программ для начала продуктивной работы.
Как выяснилось, скачанный образ при распаковке из архива разворачивается до 4Гб и на диске с файловой системой FAT32 из-за ограничений на максимальный размер одиночных файлов записан быть не может.
Пришлось подключить внешний USB-диск с ФС NTFS и распаковать образ Raspbian ОС на него.
Для записи образа на SD-карту, потребовалось скачать программу Win32DiskImager по адресу и подключить microSD-карту к компьютеру через USB-кардридер.
Интерфейс программы до безобразия прост: в строке "Image File" надо указать на диске образ Raspbian ОС, в выпадающем списке "Device" выбрать microSD-карту и нажать кнопку "Write". Кстати, этой же программой время от времени стоит делать резервное копирование microSD-карты, вставив ее в кардридер, выбрав путь сохранения образа в поле "Image File", задав в выпадающем списке Device имя диска, под которым определиась microSD-картаи выбрав команду "Read".

4. Первый запуск


После успешного завершения процесса записи, вставляем microSD-карту в соответствующий разъем кардридера на Raspberry Pi, подключаем через HDMI-кабель, или HDMI2VGA переходник монитор, подключаем к нижним USB-разъемам клавиатуру и мышь, и только после этого подсоединяем блок питания. Поскольку Raspberry Pi не имее кнопки включения питания, подсоединение/отсоединение блока питания включает и выключает устройство. На всякий случай заранее напишу, что перед обесточиванием на Raspberry Pi желательно корректно завершить работу ОС, чтобы не возникали ошибки при последующем запуске.
К моему глубокому сожалению и ужасу, после подключения питания к Raspberry Pi на мониторе не загорелась заставка графической оболочки Pixel, а выскочила тирада из текстовых "ругательств", завершившаяся строкой "kernel panic" с номером ошибки.
Погуглив на смартфоне, я тут же выяснил, что, повидимому, Raspberry Pi не нравится моя microSD-карта (как позже выяснилось, скорости чтения/записи не достаточно для нормальной работы ОС Raspbian). Во время повторной записи образа ОС Raspbian на SD-карту я заметил, что скорость записи не привышает 4Мб/сек (соответствует 4-му классу SD-карты).
При повторном включении Raspberry Pi со злополучной картой я снова увидел "kernel panic". Пришлось сходить в ларек и поменять ее после некоторых объяснений на менее "брендовую" Prestigio microSDHC 8Гб 10 класса (U1). На "свежекупленную" microSD-карту образ ОС записался в два раза быстрее со скоростью примерно 9,5Мб/сек. При включении с ней Raspberry Pi тут же отобразила приветственное окно и через несколько секунд загрузки я с радостью увидел на дисплее интерфейс X-Windows с красивой заставкой в виде пустынной дороги, уходящей в сторону восходящего солнца.
По-видимому, карта Sundisk оказалась поддельной...

5. Знакомство с Debian Linux, первичная настройка Raspbian ОС, установка полезных программ


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

Прежде всего, стоит сказать несколько слов о консоли Debian Linux. Она доступна по кнопке LXTerminal на верхней панели интерфейса Raspbian ОС.
В Linux-консоли вводятся команды для управления ОС, установки, запуска и удаления программ, внесения ручных правок в настройки самой ОС и ее отдельных компонентов. Для успешного запуска большинства команд требуется уровень доступа администратора (root-доступ). Для этого нужно перед командой вводить "sudo ".
Некоторые операции в Raspbian ОС доступны только из консоли.
Прежде всего, это доступ к программе настройки системы raspi_config. Именно в ней производится первичная настройка Raspbian ОС.
Для запуска программы настройки системы надо открыть LXTerminal и ввести в консоли команду:
sudo raspi-config

Первым делом, надо выбрать команду "Expand Filesystem", чтобы расширить файловую систему ОС на все доступное пространство microSD-карты.
Затем обязательно стоит поменять пароль root по умолчанию на доступ к системе через консоль и по SSH командой "Change User Password". Из косоли это далается командой "sudo passwd root".
Затем стоит запустить SSH-сервер для того, чтобы иметь возможность заходить на Raspberry Pi по терминальному протоколу SSH с другого ПК командой "SSH" в окне "Advanced Options".

Очень важно сразу поменять локаль (язык интерфейса) на русский и добавить русскую раскладку клавиатуры.
Это осуществляется в окне "Internationalisation Options". Смена локали осуществляется по команде "Change locale".
Надо выбрать локаль ru_RU.UTF-8 UTF-8. Смена раскладки клавиатуры производится по команде "Change keyboard layout". Далее придется в новом окне выбрать нужную раскладку (ru_RU.UTF-8), в следующем окне задать горячие клавиши смены раскладки, каждый раз подтверждая выбранные действия переходом кнопкой "Tab" клавиатуры на кнопку "Enter" окна программ и нажатием "Enter" на клавиатуре.
Стоит также в окне "Advanced options" перейти на пункт меню "Audio" и выбрать в новом окне варинат вывода звука по умолчанию на внутренний разъем 3.5mm jack, чтобы слушать звук в наушниках, подключенных к стандартному звуковому разъему Raspberry Pi.
После завершения настроек выбираем кнопку "Finish" и соглашаемся на перезагрузку системы.

Следующим этапом настройки Raspbian ОС рекомендуется выполнить обновление ее базы программ и установленных компонент.
Для этого последовательно введем в консоли следующие команды, дожидаясь окончания выполнения каждой из них до появления зеленого приглашения ввода консоли.
Обновление базы программ:
apt-get update
Обновление установленных программ
sudo apt-get upgrade
Удаления оставшихся после удаления программ библиотек, сопутствующих программ и др.
sudo apt-get autoremove
Выполнение второй команды обычно занимает 10-15 минут.
Вспоминая прежний опыт работы в Linux, поспешил установить файловый менеджер Midnight Commander.
sudo apt-get install mc
Без него перемещаться по структуре папок системы командой "cd" получается медленно и не удобно.

На всякий случай, у новичка всегда должна быть под рукой шаргалка по базовым командам Unix...

Ctrl+C - выход из открытой консольной программы (если не предусмотрено других клавиш)
Shift+Ins - вставить текст в консоль
Ctrl+Ins - копировать выделенный текст из консоли
sudo - ставится перед командой и выполняет ее с правами пользователя root
- выключение
sudo shutdown -h now - немедленная остановка системы и запуск процесса выключения
sudo shutdown -h 21:55 - остановка системы и выключение в 21:55
sudo shutdown -h now — выключение Raspberry Pi
sudo su - открыть командную строку с правами root
sudo -i - открыть командную строку с правами root
sudo cp - копирование файла (с ключом -r рекурсивное копирование)
sudo mv - перемещение файла
cat - вывод содержимого файла/файлов
cd — Переход в нужную папку. Например cd /home/pi
chmod - изменения прав на использование файла; u (означает пользователя, который владеет этим файлом), g (группа файлов) и o (другие пользователи), а также r (считывание), w (запись) и x (выполнение)
chmod u+x - устанавливает разрешение владельцу файла на его исполнение
sudo chown pi:root - смена пользователя и/или группы пользователей, которые владеют этим файлом, например пользователя на pi, а группу на root.
dir - покажет содержимое текущей папки
pwd - покажет ваше текущее расположении
date - покажет время и дату
cal - покажет календарь на текущий месяц
cal -y - покажет календарь на текущий год
wget - скачать файл в текущую директорию. Например wget http://mysite.com/myfile.deb
sudo apt-get update - обновит список пакетов с репозитария
sudo apt-get upgrade - обновит установленные пакеты
sudo apt-get install <название> - установка программы <название> из Debian-репозитория
sudo apt-get remove <название> - удаление программы <название>
info <название> -вывод информации о программе
apt-cache search <запрос> - поиск по базе Debian-репозитория программы или утилиты с описанием <запрос>
apt-cache search screen capture - поиск программ для создания скриншотов
sudo apt-get install mc - установка файлменеджера Midnight Commander (Mc)
sudo apt-get install links - установка текстового браузера Links
udo apt-get install scrot - установка утилиты для скриншотов
scrot -d5 - создание скриншота черех 5 секунд
sudo apt-get install synaptic - установка менежера пакетов Synaptic
sudo apt-get install x11vnc - установка VNC-сервера
x11vnc -desktop:0 - запуск VNC-сервера для удаленного управления через VNC-клиент, например realVNC (http://www.realvnc.com/download/viewer/)
top - запуск диспетчера задач
sudo nano - редактирование файла
sudo nano /boot/config.txt - редактирование файла настроек запуска Raspberry Pi
ifconfig — утилита конфигурирования сетевых интерфейсов
iwconfig - просмотр информации о беспроводных устройствах
sudo iwlist wlan0 scan — сканирование Wi-Fi
cat /proc/cpuinfo — смотрим инфо о процессоре
cat /proc/meminfo — отображает подробную информацию о памяти Raspberry Pi
cat /proc/partitions — показывает размер и количество разделов на Вашей карте SD или HDD
cat /sys/devices/system/cpu/cpu0/cpufreq/sca ling_cur_freq — информация о частоте процессора
<имя_программы> --help — отбражение помощи по программе
vcgencmd measure_temp - покажет температуру процессора
free -o -h - покажет, сколько свободной системной памяти доступно
vcgencmd get_mem arm && vcgencmd get_mem gpu — покажет распределение памяти между процессором и GPU
lsusb - список подключенных устройствах
mkdir newDir - создание директории newDir
rmdir oldDir - удаление пустой директории oldDir
rm <имя_файла> - удаление файла/папки (с ключем -r рекурсивное удаление содержимого папки)
& - запускает команду в фоновом режиме
curl - загружает файл либо с сервера, либо на него
grep "паттерн" *.txt - поиск в файлах по маске и заданному паттерну
ping <имя_сервера> - провера доступности сервера
df -h - свободное и занятое дисковое пространство на подключенных устройствах
scp myfile.txt [email protected]: - копирование файла myfile.txt на устройство [email protected] по SSH в папку /home/pi/
scp [email protected]:myfile.txt . - копирование файла myfile.txt с устройства [email protected] в текущую папку по SSH
scp *.txt [email protected]: - копирование всех текстовых файлов с устройства [email protected] в текущую папку по SSH
dd if=/dev/sdd of=backup.img - создание бэкап-образа SD-карты или USB-носителя (/dev/sdd)
dd if=/dev/sda of=/dev/sdb bs=4096 - побайтное копирование данных с устройства на устройство (dd if=/dev/zero of=/dev/sda bs=4k - очистка диска sda)
dd if=myfile of=myfile conv=ucase - прообразование файла в верхний регистр
dd if=myfile of=myfile conv=lcase - прообразование файла в нижний регистр
ls -l | dd conv=ucase - преобразует вывод команды в верхний регистр
apt-mark showauto > autopackagelist.txt - создание списка предустановленных приложений
apt-mark showmanual > manualpackagelist.txt - создание списка установленных вручную приложений

6. Тестирование Raspberry Pi в качестве десктопа

Итак, через полчаса настроек и обновлений Raspberry Pi готов к работе. Что мы имеем "на борту" по умолчанию?
Помимо средств разработки программ, на Raspberry ОС установлен базовый комплект необходимых приложений.
Для работы с документами предустановлены пакет Libre Office и средство просмотра PDF. Для продуктивной работы в интернет с Raspberry ОС поставляется броузер Chromium и почтовый клиент Claws Mail. Для удаленного управления с десктопа и мобильных устройств на Raspberry Pi установлен VNC Connect.
К сожалению, по умолчанию система не содержит медиаплеера с графическим интерфейсом для воспроизведения видео и аудио, но с консоли воспроизведение мультимедийных файлов можно запустить через программу omxplayer, поддерживающую аппаратное ускорение видео в полноэкранном режиме.
В системе имеется графический файловый менеджер Xfce, позволяющий перемещаться по папкам при помощи мышки, осуществлять файловые операции, открывать документы двойным кликом мышки. Как показала практика, по удобству и принципам работы он практически ничем не отличается от привычного нам Проводника.
Открытие меню и переход по папкам в интерфейсе Raspbian ОС осуществляется на удивление быстро, поживее, чем на моем стареньком двухядерном Celeron-е.
После инвентаризации установленного ПО любопытство подтолкнуло проверить скорость работы на Raspberry Pi в Интернет. Открыл в Chromium и первым делом зашел на родной портал cheboksary.ru: страницы открываются быстро и без тормозов. Во второй вкладке открыл соцсеть ВК. Стал прокручивать свою ленту при помощи колесика мышки - неприятных задержек подгрузки не заметил. Лента соцсети скроллится в броузере плавно, без рывков. В третьей вкладке открыл Youtube, а в нем - популярный видеоклип. Видео воспроизводится без задержек и рывков с достаточно хорошим разрешением и достаточно качественным звуком. Развернул видео на полный экран - воспроизведение продолжилось без рывков. Заметил единственный момент - немного заторможенную реакцию на клики мышкой по интерфейсу воспроизведения видео. Можно сказать, что тест на производительность работы в интернет Raspberry Pi прошел.
Проверил скорость рендеринга страниц электронной книги во встроенном в систему PDF-просмотрщике Xpdf. Для этого решил воткнуть в USB-разъем "флешку" и... система сразу ее распознала, открыв через пару секунд окно файлменеджера на папке /media/pi/usb/ с содержимым моего сменного носителя! Приятный сюрприз - в Raspbian ОС реализовано автомонтирование USB-drive! Как выяснилось позже, для демонтирования "флешки" перед отсоединением надо нажать на стрелочку в правом верхнем углу экрана и выбрать ее из списка.
Быстро выбрав нужный PDF-файл, просто кликнул по нему и увидел содержимое в окне просмотрщика. При скроллинге страницы электронной книги рендерились с задержкой примерно в одну секунду, что можно считать вполне приемлемым результатом. Единственный неприятный момент - просмотрщик не смог отобразить русские буквы в оглавлении книги.
Чтобы проверить воспроизведение музыки и видео с "флешки", решил не пользоваться консолью и установил для этого графическую оболочку на Python для системного проигрывателя omxplayer. Конечно, tk-интерфейс оболочки не блещет красотой и дизайном, но все-таки позволяет при помощи мышки выбрать нужные файлы и создавать плей-листы. Хотя в сети писали, что в окне на Raspberry Pi видео с аппаратным ускорением не воспроизводится, как оказалось, через omxplayerGUI это вполне возможно! Видео выводилось на экране с исходным разрешением в окне без рамки, но позволяло перетаскивать окно, причем, без остановки воспроизведения.
Одним словом, интернет на Raspberry Pi работает без ограничений, музыка и видео воспроизводятся, флешки автомонтируются, офисные документы редактируются, фотографии показываются. Что еще нужно для продуктивной работы?

Я не особо большой знаток Linux (почти новичок), поэтому буду очень рад конструктивной критике в комментариях.

Все, кто хотел, давно купили себе Raspberry Pi 3, а я ждал непонятно чего 🙂 Однако недавно этот компьютер попал ко мне в руки, поэтому хочу поделится впечатлениями и полезными (для кого-то) советами по его настройке.

Аппаратная часть

Компьютер заказывался на AliExpress сразу с корпусом и блоком питания (Model B, 1 ГБ ОЗУ). Карта памяти, microSD SanDisk 16 GB class 10, уже валялась дома. С учётом её цены весь «системный блок» стоил примерно 3000 р.

В качестве экрана был подключён обычный телевизор Full HD (кабель HDMI в кладовке случайно завалялся). Из периферии изначально подключил только клавиатуру и мышь, подсоединив их к USB-портам.

Raspberry в определённых случаях ощутимо греется (показывая при этом иконку-градусник в правом верхнем углу экрана), поэтому в корпусе почти сразу были просверлены дополнительные вентиляционные отверстия. Эффективность комплектных радиаторов так себе, нужно искать что-то посерьёзнее, если собираетесь нагружать компьютер на 100%.

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

Выбор ОС для Raspberry Pi 3 - вопрос деликатный. Если кто-то не в курсе, то здесь ARM-процессор. Т. е. обычный дистрибутив Linux на устройство не встанет, нужна специально подготовленная сборка.

Собственно, из-за относительно специфичного железа в дальнейшем будет много других сложностей с программами и т. п.

Существует несколько официальных и неофициальных сборок Linux для этого мини-компьютера. Какую из них использовать - зависит от поставленной задачи. В моём случае Raspberry Pi 3 будет использоваться, как обычный домашний компьютер для работы и развлечений (звучит несколько амбициозно). Попробовав несколько ОС, я остановился на основном официальном дистрибутиве, Raspbian Stretch 9.1 (новейшем на тот момент). На мой взгляд, он быстрее, стабильнее и универсальнее остальных.

Установка ОС на «Малину» очень проста. Скачиваем образ, распаковываем файл.img и записываем его на карту памяти с помощью специальной программы (для Windows это, например, Win32 Disk Imager).

Более подробное описание процесса записи ОС легко найти в Интернете.

После окончания записи карту памяти нужно вставить в соответствующий слот Raspberry Pi. Затем включаем устройство в электрическую сеть и начинаем первоначальную настройку (вставка блока питания в розетку - штатный способ включения этого компьютера).

Если вы подумали, что Raspberry Pi 3 сможет на равных конкурировать с обычным домашним компьютером за 20 000 р., то это совсем не так. Работать Raspberry будет гораздо медленнее, а ряд задач для него вообще недоступен. Однако с определёнными функциями мини-компьютер справляется неплохо. Например, с ролью терминала для не слишком «тяжёлых» веб-приложений он справится отлично.

Настройка Raspberry Pi 3 (ОС Raspbian)

При первом запуске даже ничего не нужно выбирать и нажимать. Система уже практически готова к работе. После перезагрузки появляется рабочий стол.

Хотя радоваться здесь особо нечему - просто придётся больше вещей настраивать уже в установленной системе 😉

Сначала подключаемся к Интернету. При проводном соединении Интернет уже должен работать сам. В моём случае используется Wi-Fi, поэтому нужно нажать на красные кресты на панели задач (иконка сетевых подключений), выбрать беспроводную сеть и ввести пароль. Всё почти так же, как в других операционных системах.

Она позволит выполнять все дальнейшие действия в терминале с правами суперпользователя. В противном случае придётся добавлять sudo в начале каждой второй строки (а то и чаще).

Все остальные команды приведены в статье без sudo. Т. е. предполагается, что вышеописанная рекомендация была выполнена.

Сразу обновляем пакетную базу и прошивку устройства:

Apt update apt upgrade rpi-update

Затем заходим в настройки Raspberry Pi: «Пуск» (значок малины) > Preferences > Raspberry Pi Configuration. Нажимаем «Change Password…» и задаём новый пароль (одновременно для пользователя и суперпользователя). Это позволит избежать некоторых проблем в будущем.

По умолчанию в Raspbian создан пользователь pi с паролем raspberry.

Настраиваем дальше. Hostname (имя компьютера в сети) можно не менять. У меня изображение выводится не на весь экран (толстая чёрная рамка по периметру), поэтому параметр Underscan переключаю в положение «Disabled». На вкладке «Performance» изменяем значение GPU Memory на 128 (можно и 64 оставить, но некоторым приложениям может не хватить).

Переходим во вкладку «Localization». Нажимаем «Set Locale…». Выбираем Language: ru (это даст хоть какой-то перевод ОС на русский). Настраиваем время через «Set Timezone…». В моём случае Europe/Moscow. Выбираем основную раскладку клавиатуры через «Set Keyboard…». Советую United States/English (US), т. к. к ней все уже привыкли. На всяких случай заходим в «Set Wi-Fi Country…» и тоже выбираем RU.

После всего этого нажимаем «OK» внизу окна и соглашаемся на перезагрузку.

Для интереса посмотрим сколько ОЗУ занимает операционная система в новом состоянии (диспетчер задач вызывается через Ctrl + Alt + Del или из меню приложений). 92 МБ! Вот бы Windows столько занимала 🙂

Настройка внешнего вида

Для удобства приводим рабочий стол к более привычному виду (в данном случае к виду подобному Windows). Правый клик по панели, «Panel Settings». Edge переключаем в положение «Botton» - панель перемещается вниз. Переходим во вкладку «Panel Applets», удаляем лишнее, добавляем нужное. Удалил Ejecter и CPU Usage Monitor. Добавил Minimize All Windows и Keyboard Layout Handler (переключатель раскладки клавиатуры).

Через последний добавляем русскую раскладку. Правый клик по флагу, «Keyboard Layout Handler Setting». Снимаем флажок «Keep system layouts», нажимаем «Добавить», выбираем ru. Меняем сочетание клавиш для переключения раскладок кнопкой под надписью Change Layout Options.

Кнопка «Закрыть» в этом окне не работает, но работает крестик в углу. Это старый баг многих сборок Linux (странно, что его не убрали до сих пор).

На панели есть значок Bluetooth. Отключаем через него модуль Bluetooth, если не собираемся подключать какие-либо беспроводные устройства.

Меняем набор значков слева. Правый клик на одном из значков, «Application Launch Bar Settings». Вытаскиваем пару ярлыков из меню на рабочий стол. Меняем обои (предпочитаю что-то более однотонное):

Numlock

К этому времени не работающая цифровая клавиатура уже начала раздражать. При загрузке системы Numlock выключен (в других версиях Linux такое тоже бывает). Каждый раз включать его не хочется. Пора исправить ситуацию. Устанавливаем программу numlockx:

Apt install numlockx

Добавляем её в автозагрузку. Например, открываем файловый менеджер, переходим в папку /home/pi/.config , создаём там файл autostart (без расширения) с единственной строкой: @numlockx -on .

Можете использовать любой другой способ добавления в автозагрузку.

Проблема с USB-флешками и жёсткими дисками

На первый взгляд, со съёмными носителями всё в порядке. Они корректно определяются при подключении, все файлы отображаются и нормально открываются. Только вот записывать на флешки ничего нельзя, т. к. подключаются они в режиме «readonly» (за редким исключением).

Решается проблема просто, установкой дополнительного драйвера:

Apt install ntfs-3g

После установки требуется перезагрузить систему.

Проверялись все накопители, имеющиеся в распоряжении - запись, изменение и удаление стали работать (не только в NTFS, но и в FAT32).

На одном USB-накопителе небольшого объёма только что отформатированном в Windows проблемы почему-то не было изначально.

Программы в комплекте

Настало время посмотреть, что уже установлено в системе. Просто пробежимся по меню приложений (консольные утилиты в расчёт не берём).

В разделе «Программирование» находится больше десятка приложений собственно для программирования (оставим их без внимания).

Категория «Офис» содержит исключительно программы из пакета LibreOffice (знаменитого бесплатного аналога Microsoft Office). Полезные приложения для работы с документами. Создание и правка не очень сложных файлов в них на Raspberry Pi 3 происходит с минимальными притормаживаниями.

Раздел «Интернет» содержит, на мой взгляд, два полезных приложения. Первое - VNC Viewer. Неплохой вариант управления удалёнными устройствами. Скорость работы приемлемая. Второе - браузер Chromium. Практически тот же Chrome, только без излишеств. Сайты работают с разной скоростью. Некоторые прямо быстро, некоторые очень туго (зависит от типа сайта и его оптимизации). Например, ВКонтакте листается с небольшими рывками, а Одноклассники уже идут со скрипом (хотя в целом пользоваться можно и тем и другим). Даже YouTube в нём сносно работает (установлено специальное расширение). В полноэкранном режиме видео, конечно, дёргается, а вот в широкоэкранном смотрится нормально. Т. е. на этом компьютере более или менее доступна работа в Интернете (по крайней мере, она комфортнее, чем на среднем смартфоне).

При работе на Raspberry Pi 3 в большинстве приложений заметен небольшой разрыв кадра (нижняя часть изображения обновляется чуть позже верхней). Эта неприятность связана с отсутствием вертикальной синхронизации (tearing). На обычных компьютерах проблема легко решается, но для Raspbian решения я не нашёл. Опять же многое упирается в специфическое железо.

В «Стандартных» минимальный набор полезных приложений: калькулятор, терминал, просмотрщик файлов PDF, блокнот, архиватор (который почти ничего не умеет), диспетчер задач, программа для просмотра изображений, файловый менеджер и утилита для создания копии системы - SD Card Copier.

Всё необходимое есть, лишнего немного, остальное ставим по потребностям.

Skype

Со Skype в Linux почти всегда были какие-то заморочки. Нынешняя версия является просто оболочкой для веб-интерфейса. Вместо того, чтобы пытаться запустить её под Raspbian, просто воспользуемся веб-версией напрямую.

В Raspberry Pi 3 отсутствует разъём mini-jack для микрофона. Вариант 1 - найти микрофон с разъёмом USB. Вариант 2 - подключить дешёвую внешнюю USB-звуковую карту с привычными разъёмами. В моём случае всё было ещё проще (хотя не совсем) - веб-камера оказалась со встроенным микрофоном, т. е. два устройства заняли только одно гнездо.

Откроем Skype. Через Chromium заходим по адресу web.skype.com/ru и выполняем вход в свой аккаунт. Затем нажимаем на зелёный замок в адресной строке: разрешаем камеру, микрофон и Flash. Микрофон работать всё равно не хотел. Оказалось, что нужно было кликнуть по значку видеокамеры (в адресной строке справа), затем вместо по «По умолчанию» выбрать правильное аудиоустройство.

Сделал тестовый видеозвонок знакомым. Звук в обе стороны проходит нормально, видео тоже передаётся (немного притормаживает).

Расширение офисных приложений

Пакет LibreOffice, конечно, неплох, но сейчас он на английском, не проверяет правописание и не очень правильно отображает документы MS Office, т. к. в системе нет ни одного шрифта из Windows. Открываем терминал, устанавливаем русскую локализацию, орфографический словарь и шрифты:

Apt install libreoffice-l10n-ru hunspell hunspell-ru ttf-mscorefonts-installer

Вот так гораздо привычнее:

Наш штатный архиватор умеет работать только с типичными для Linux форматами, поэтому нужно помочь ему, добавив поддержку более ходовых типов архивов (7z, RAR и ещё парочки):

Apt install p7zip-full unrar-free

Установим более продвинутые программы для чтения электронных книг Evince и FBReader, чтобы открывать разные типы электронных книг:

Apt install evince fbreader

Evince у меня не появился в меню самостоятельно, поэтому пришлось зайти в «Параметры» > «Main Menu Editor» и отметить его флажком.

Настройка локальной сети

Если у вас есть локальная сеть, то Raspberry Pi 3 уже подключен к ней (в случае открытой и корректно настроенной сети). Чтобы иметь к ней удобный доступ, в стандартном файловом менеджере нужно открыть меню «Перейти», выбрать «Сеть», открыть меню «Закладки», нажать «Добавить в закладки», переключить вид «Дерево директорий» на «Точки входа». Теперь ссылка на сеть будет под рукой при каждом открытии файлового менеджера.

Также можно установить другой файловый менеджер, например, Thunar.

Вроде, всё неплохо: сетевые ресурсы доступны, файлы открываются, копируются и даже удаляются. Только при входе чуть ли не в каждую сетевую папку система запрашивает пароль (который мы меняли в самом начале работы с ОС). Другие компьютеры в моей сети (и на Windows, и на Linux) заходят на те же ресурсы без паролей. Убрать ввод этого пароля пока не удалось (ввожу каждый раз).

Для того, чтобы компьютеры, входящие в ЛВС, отображались на верхнем уровне, правим настройки Samba /etc/samba/smb.conf . Только файл нужно открыть с правами суперпользователя. Например, вводим в терминале следующую команду (предварительно выполнив sudo -i ):

Leafpad /etc/samba/smb.conf

Меняем значение параметра workgroup на название нашей рабочей группы, сохраняем изменения, делаем перезагрузку. Теперь при заходе в «Сеть» можно сразу переходить к нужному компьютеру (не открывая ещё две папки).

Настройки сети приведены для примера. В других случаях данный подход к работе с ЛВС может просто не сработать.

Подключение к сетевому принтеру

Раз уж у нас есть офисные программы, то и печать документов, скорее всего, потребуется. В рассмотренной выше сети установлен единственный принтер, подключённый к ПК на Windows 10. Принтер уже сетевой, но нужно как-то добавить его в Raspbian. Для этого установим программы CUPS и samba-client:

Apt install samba-client cups

CUPS не пустит нас в настройки просто так. Поэтому нужно добавить нашего текущего пользователя в группу lpadmin:

Usermod -aG lpadmin pi

Управление в CUPS происходит через веб-интерфейс. Вводим в браузер адрес 127.0.0.1:631 , затем переходим в раздел «Администрирование», нажимаем «Добавить принтер». Вводим имя пользователя pi и пароль, который задали при настройке системы (в начале статьи). Отмечаем «Windows Printer via SAMBA» и нажимаем «Продолжить».

Дальше важный момент. В поле «Подключение» нужно ввести адрес принтера в сети. В данном случае smb://192.168.1.6/hp1010 . Из чего он состоит: smb:// - протокол SAMBA, 192.168.1.6 - локальный адрес компьютера, к которому подключён принтер, hp1010 - сетевое имя принтера.

Адрес компьютера в ЛВС должен быть статическим, а имя принтера желательно задавать только латиницей (без пробелов).

Нажимаем «Продолжить». Вводим название принтера для нашей системы и на всякий случай ставим флажок «Разрешить совместный доступ к этому принтеру», нажимаем «Продолжить». Выбираем драйвер для принтера (список впечатляет), нажимаем «Добавить принтер». Сохраняем параметры. Печатаем для теста какой-нибудь документ и радуемся жизни.

Работа с графикой

На Raspberry Pi 3 можно установить классические графические редакторы GIMP и Inkscape:

Apt install gimp inkscape

Работают они в целом корректно, но медленно. Несложные манипуляции с не очень большими картинками мини-компьютер потянет (обрезать фотографию, цвета поправить, надпись добавить, логотип нарисовать). Серьёзные графические задачи, естественно, требуют серьёзной мощности.

Просмотр видео

Вот здесь всё опять упирается в нестандартное железо. Привычные плееры просто на нём не работают (либо работают с большими проблемами). Получилось найти только две программы, которые справляются с проигрыванием видео: OMXPlayer и Kodi. Использовать будем обе.

OMXPlayer уже установлен в системе, но он консольный, поэтому пользоваться им не слишком удобно. Чтобы видеофайлы открывались двойным кликом делаем следующее. Кликаем по файлу правой кнопкой, выбираем «Открыть с помощью…». Переходим на вкладку «Пользовательская команда». В верхней строке вводим omxplayer -b . Отмечаем флажками «Выполнить в эмуляторе терминала» и «Установить выбранное приложение по умолчанию для данного типа файла». В имени приложения пишем, например, omxplayer . Нажимаем «OK».

Эти действия нужно проделать для каждого расширения видеофайлов.

Переключатся между окнами OMXPlayer не даёт. Клавиши управления: «q» - выход, «-» и «+» - регулировка громкости, «←» и «→» - перемотка.

Kodi - это довольно серьёзный медиацентр. Понимает значительно больше кодеков, чем OMXPlayer, имеет встроенный DLNA-клиент и другие плюшки. Для начала его нужно установить:

Wi-Fi у Raspberry слабоват, поэтому видео приличного размера по сети смотреть через него не получится. Позаботьтесь о проводном подключении.

С Kodi на Raspberry Pi 3 можно смотреть весьма увесистые фильмы. Проверял на файле Full HD размером 40 ГБ с битрейтом 40 Мб/с (по DLNA). За 2 с лишним часа ни одного подтормаживания или других проблем. Некоторые Smart-телевизоры при проигрывании этого же файла с того же DLNA-сервера зависали на середине видео (приходилось выключать/включать).

Прослушивание музыки

С воспроизведением звука всё гораздо проще. Поддерживаются многие проигрыватели. Штатный OMXPlayer тоже умеет играть музыку, но в этом нет необходимости. Был установлен Audacious, который ничем особо не перегружен, но имеет привычный вид и нормальный функционал:

Apt install audacious

Торрент-клиент

Здесь тоже всё нормально. Установил Deluge:

Apt install deluge

Почему именно его? Потому что привык к нему. Deluge не лучше и не хуже других. Просто выполняет свою работу как полагается. Для теста скачал через него Raspbian Stretch Lite. Никаких проблем не заметил.

Игры

Конечно, сложно назвать Raspberry Pi игровой платформой, однако поиграть на нём вполне возможно. Речь по большей части идёт о запуске игр, выходивших на старых приставках. Долгие попытки собрать что-то вроде RetroPie в виде отдельного приложения (а не целой ОС) не увенчались успехом. Поиск отдельных приложений для каждой приставки тоже довольно нудное дело, поэтом остановился на Mednafen:

Apt install mednafen

Первым делом переходим в «Global Settings» и выбираем Video Driver sdl вместо opengl (ну нет у «Малины» нормальной поддержки OpenGL). После этого образы игр (ROMs) начнут нормально работать (не все, конечно).

С нормальной скоростью заработали только NES и Sega Mega Drive (хотя большинство платформ не проверялось, т. к. нет к ним интереса).

Можно добавлять игры в интерфейс Mednaffe и запускать их оттуда, а можно даже не запускать Mednaffe - просто открывать файл с образом игры, как любой другой, двойным кликом (не для всех платформ сработает).

Играть в приставочные игры на клавиатуре неудобно, а под рукой как раз есть геймпад от Xbox 360. Контроллер работает без дополнительных драйверов, остаётся только настроить кнопки. Для этого в Mednaffe открываем раздел «Systems», переходим к нужной приставке, открываем подраздел «Input», нажимаем «Controller Setup». Выбираем «Port 1» (первый контроллер), делаем двойной клик в столбце Key и нажимаем на геймпаде кнопку, соответствующую надписи в столбце Action/Button (для каждой строки).

Если настройки не применились, запускаем игру нужного формата из интерфейса (новые параметры должны вступить в силу), после чего настройки уже будут действовать и при запуске двойным кликом.

Несколько «родных» игр, заслуживающих внимания, тоже можно установить. Например, Битва за Веснот (напоминает HOMM III) и OpenTTD (напоминает SimCity 2000). Обе игры переведены на русский язык.

Apt install wesnoth openttd

Последний штрих

После установки многих программ остаётся всякий «мусор». Хорошо бы его удалить следующей командой (ещё и немного места освободится):

Apt autoremove

Дополнительные сведения

  • Снимок экрана делается клавишей Print Screen и автоматически сохраняется в домашнюю папку (/home/pi).
  • Если хотите немного повысить скорость работы Raspberry Pi 3, подключите его к экрану с низким разрешением (например, 1366×768).
  • Приложения можно поискать в штатной утилите «Add / Remove Software», которая чем-то похожа на Synaptic.
  • Для подключения к монитору без разъёма HDMI может использоваться дешёвый переходник с HDMI на DVI-D или такой же кабель.
  • Raspberry может показывать на экране три специальных значка-индикатора (независимо от установленной ОС и среды рабочего стола): молния - низкое напряжение, наполовину красный термометр - высокая температура чипа (80–85 градусов), полностью красный термометр - критическая температура (выше 85 градусов).

Заключение

В целом мини-компьютером я остался доволен. За свою стоимость он предоставляет очень даже широкий функционал (в статье рассмотрены только некоторые варианты его использования). Для опытных пользователей Linux настройка Raspberry Pi 3 покажется несложной. Остальные без проблем смогут использовать уже настроенную систему.

Кликать мышью по окнам можно хоть кота научить.

Помимо энтузиастов Raspberry может быть интересен и компаниям с большим парком машин. Например, покупка 20 классических системных блоков для колл-центра по 12 000 р. и покупка 20 «малиновых» компьютеров по 3000 р. - это совсем разные вещи (180 000 р. экономии).

Только мониторы нужно брать хотя бы с DVI-D - ещё 15 000 вычитаем.

При домашнем использовании Raspberry Pi 3 хорошо справится с ролью бесшумного медиасервера, ретро-приставки, вспомогательного компьютера для другой комнаты и т. д и т. п…