Настроенный образ raspberry pi 2. Это волшебное слово NOOBS
Микрокомпьютер Raspberry Pi работает под управлением операционной системы. Так же, как и в обычных компьютерах, операционная система управляет всеми ресурсами компьютера и предоставляет пользователю определенный интерфейс для работы с программами. От того, какая выбрана система, зависит удобство использования устройства. Под Raspberry Pi написано множество разных операционок, в этой статье мы проведем краткий анализ их.
Практически все операционные системы для платы Raspberry Pi используют Linux в качестве базовой. Существует несколько официально поддерживаемых операционных систем:
- Raspbian – официальная ОС, которая обладает всем необходимым программным обеспечением. Рекомендуется использовать именно эту операционную систему для знакомства с Raspberry Pi.
- OpenELEC – медиапроигрыватель на основе Linux с открытым исходным кодом.
- OSMC (Raspbmc) – медиапроигрыватель с открытым исходным кодом на базе Kodi Media Center и Debian GNU/Linux.
- Поддержка Windows 10 в устройствах Raspberry Pi 2B.
Все ОС включены в NOOBS – это программа, в которой содержатся все перечисленные выше операционные системы и упрощающая их установку на Raspberry Pi. С помощью NOOBS возможна установка как одной ОС, так и нескольких, причем выбрать нужную систему можно при загрузке компьютера. Во время установки ОС создается специальный раздел RECOVERY, который позволяет вернуть систему к начальным настройкам.
Установка операционной системы на Raspberry Pi
Варианты установки
Существует 3 способа установки ОС на :
- покупка SD-карты с заранее установленной Raspbian или NOOBS;
- загрузка NOOBS на карту памяти и установка ОС Raspbian с нее;
- монтирование изображение Raspbian прямо на SD-карту.
Первый способ является наиболее простым – тут не требуется никаких дополнительных действий.
Во втором случае процедура установки выглядит следующим образом:
- В первую очередь карту памяти нужно отформатировать, указывая файловую систему FAT32.
- Скачивание архива с NOOBS, его распаковка на карту памяти так, чтобы файлы были в корневой директории.
- Вставка в Raspberry Pi необходимой периферии: клавиатуры, мыши и монитора через USB, подключение питания. В качестве монитора можно использовать телевизор, подключенный через RCA.
- Если экран подключен через RCA, нажать «3» на клавиатуре.
- В окне выбрать операционную систему Raspbian, русскую раскладку клавиатуры и язык. Русский язык нельзя установить. Нажать «Install», дождаться окончания процесса установки и включения.
- В появившемся меню «Configuration Tool» в третьем пункте выбрать второй вариант для установки графического интерфейса LXDE.
- Нажать «Done», дождаться перезагрузки.
- Если нужен вход с помощью логина и пароля, в графе логин ввести pi, пароль raspberry, после этого откроется рабочий стол.
Монтирование образа Raspbian на SD-карту.
- Скачивание архива с изображением с сайта https://www.raspberrypi.org/downloads/
- Распаковка, после чего получится файл.img.
- Вставка карты памяти в ПК.
- Монтирование установленного файла.
- Повтор 3 и 4 пунктов предыдущей инструкции.
- Повтор пунктов 6-8 предыдущей инструкции.
Сравнение операционных систем для Raspberry Pi
ОС | Последняя версия | Отличительные свойства |
Raspbian | Для установки последней версии нужно перезагрузить ОС и ввести код
sudo apt-get update sudo apt-get upgrade Произойдет обновление, затем нужно перезагрузить Raspberry Pi. |
Стандартная операционная система на базе Debian, которая специально создана под обеспечение этого миникомпьютера. Поставляется с набором стандартных программ и утилитами. В разделе «программирование» имеется более десятка различных приложений для программирования. В системе установлен браузер Chromium, пакет LibreOffice для работы с документами. |
OSMC | OSMC Kodi 16 | Медиацентр на базе Kodi. Является наиболее функциональным программным обеспечением для мультимедиа. ОС имеет чистый интерфейс, меню появляется в левой части экрана, в нем можно выбрать носители (аудио, видео, картинки), устанавливать настройки и проверять программы. |
8.0.4 | Операционная система, предназначенная для проигрывания медиафайлов. Интерфейс как у Kodi. Обладает высокой скоростью работы. По сравнению с OSMC более закрытая ОС, в ней нельзя изменять системный уровень, имеются ограничения на доступ к отдаленным сервисам. | |
Kano OS | Kano OS 3.13 | Операционная система, идеально подходящая для обучения. Яркий дружественный и удобный интерфейс, ничего лишнего. На сайте разработчика можно купить множество дополнительных комплектующих для RaspberryPi и собрать своими руками полноценный конструктор. |
DietPi | Diet Pi | Основанная на Debian операционная система, занимающая всего 400 Мб на карте памяти! Не требовательна к ресурсам, поддерживается быстрая установка всех популярных программ |
Windows 10 IoT Core | Windows 10 IoT | Специальная версия Windows для разработчиков, созданная для компьютера Raspberry Pi. Совместима только с ПК с установленной Windows 10. Для работы требуется установка на ПК Visual Studio, так как Windows 10 IoT Core не работает в одиночку. С помощью этой ОС можно создавать множество различных проектов. |
ОС RISC | 2009.06, последняя тестовая версия 2010.03 | Отдельная операционная система, которая не построена на Linux, не имеет ничего схожего с другими ОС. Работает как однопользовательская система. Все приложения являются каталогами с восклицательным знаком перед названием, система хорошо работает с перетаскиванием файлов в папки. Система не используется как основная ОС, работает совершенно по-другому. |
RetroPie | RetroPie 4.3.7 | Эмулятор, который позволяет играть на разнообразных консолях. Операционная система основана на Raspbian, но также имеется отдельно собранный образ RetroPie. |
Pidora | Pidora 18 | Операционная система, основанная на проекте Fedora. По сравнению с Debian формат пакетов имеет расширение RPM. ОС содержит несколько различных сред для разработки программного обеспечения. |
В этот же день я создал заказ (кстати, в то время уже можно было заказать «официально» в Российскую Федерацию) и стал ждать свою «малину». Информационное письмо обещало отгрузку в течение максимум 6 недель, но в этот срок я так и не получил свою плату. Во время звонка в московское представительство RS, менеджер фирма дал понять, что поставки скоро будут, но когда - неизвестно.
17 августа мне на email пришло сообщение от сотрудницы Московского RS, что моя плата доставлена в офис и ее можно забирать (т.к. заказать из RS с доставкой на дом нельзя, потому что DHL не доставляет посылки частным лицам). Собственно говоря, в этот же день я и получил свой компьютер Raspberry Pi!
Весь необходимый набор комплектующих был куплен мною заранее (собственно говоря, все позаимствовал от других устройств). Я использовал:
- 4Gb Class6 SD-карту от Transcend
- NoName usb-зарядник на 1А с MicroUSB кабелем
- HDMI кабель Hama
- Ethernet-кабель
Действо первое. Установка ОС.
В качестве ОС для 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 :
- Выполняем команду expand_rootfs , которая расширит root раздел на всю SD-карту.
- Входим в раздел configure_keyboard и устанавливаем наиболее подходящий тип клавиатуры. Я выбрал Logitech Cordless Desktop
- Затем, входим в раздел change_pass устанавливаем новый пароль для пользователя pi (обратите внимание, что вводимые символы не отображаются вообще, даже в виде звездочек!).
- Устанавливаем дополнительные локали с помощью пункта change_locale (я не стал этого делать и оставил единственную локаль по умолчанию - en_GB UTF8).
- Устанавливаем часовой пояс (set_timezone ). Например, если Вы живете в Москве, необходимо найти пункт Europe, а в нем - Moscow
- Memory_split устанавливаем в соотвествии с собственным желанием, рекомендую отвести под video – 32Mb, если планируете пользоваться графическим интерфейсом.
- Обязательно активируем ssh !
- Если хотим, чтобы при загрузке Raspbian автоматически запускалась графическая среда – активируем опцию boot_behaviour .
На этом установка и первичная настройка системы завершена!
Следующая часть будет интересна тем, кто особо не знаком с 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, которые я постараюсь реализовать и описать в моих дальнейших статьях.Буду рад замечаниям об ошибках от более опытных пользователей!
В этой достаточно длинной даже для блога статье описаны первые шаги уже немолодого "айтишника" на пути освоения новейшего подхода к информационному образованию в школах и ВУЗах развитых стран - физического компьютинга на 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 работает без ограничений, музыка и видео воспроизводятся, флешки автомонтируются, офисные документы редактируются, фотографии показываются. Что еще нужно для продуктивной работы?
В этот же день я создал заказ (кстати, в то время уже можно было заказать «официально» в Российскую Федерацию) и стал ждать свою «малину». Информационное письмо обещало отгрузку в течение максимум 6 недель, но в этот срок я так и не получил свою плату. Во время звонка в московское представительство RS, менеджер фирма дал понять, что поставки скоро будут, но когда - неизвестно.
17 августа мне на email пришло сообщение от сотрудницы Московского RS, что моя плата доставлена в офис и ее можно забирать (т.к. заказать из RS с доставкой на дом нельзя, потому что DHL не доставляет посылки частным лицам). Собственно говоря, в этот же день я и получил свой компьютер Raspberry Pi!
Весь необходимый набор комплектующих был куплен мною заранее (собственно говоря, все позаимствовал от других устройств). Я использовал:
- 4Gb Class6 SD-карту от Transcend
- NoName usb-зарядник на 1А с MicroUSB кабелем
- HDMI кабель Hama
- Ethernet-кабель
Действо первое. Установка ОС.
В качестве ОС для 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 :
- Выполняем команду expand_rootfs , которая расширит root раздел на всю SD-карту.
- Входим в раздел configure_keyboard и устанавливаем наиболее подходящий тип клавиатуры. Я выбрал Logitech Cordless Desktop
- Затем, входим в раздел change_pass устанавливаем новый пароль для пользователя pi (обратите внимание, что вводимые символы не отображаются вообще, даже в виде звездочек!).
- Устанавливаем дополнительные локали с помощью пункта change_locale (я не стал этого делать и оставил единственную локаль по умолчанию - en_GB UTF8).
- Устанавливаем часовой пояс (set_timezone ). Например, если Вы живете в Москве, необходимо найти пункт Europe, а в нем - Moscow
- Memory_split устанавливаем в соотвествии с собственным желанием, рекомендую отвести под video – 32Mb, если планируете пользоваться графическим интерфейсом.
- Обязательно активируем ssh !
- Если хотим, чтобы при загрузке Raspbian автоматически запускалась графическая среда – активируем опцию boot_behaviour .
На этом установка и первичная настройка системы завершена!
Следующая часть будет интересна тем, кто особо не знаком с 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 - это недорогой микрокомпьютер, который помещается на ладони и может сделать очень многое. На основе этого микрокомпьютера можно создавать как серьезные проекты, по управлению умным домом, так и использовать в качестве медиацентра или даже легковесного домашнего компьютера с Linux.
В одной из предыдущих статей мы подробно рассматривали начало работы с Raspberry Pi 3, как подключить устройство и что для этого необходимо, сейчас же остановимся более подробно на такой задаче, как установка операционной системы Raspberry Pi 3. Здесь используется процессор на архитектуре ARM, а значит вы можете установить любой поддерживаемый ARM дистрибутив, или же созданный специально для Raspberry дистрибутив Raspbian.
Установка системы Raspberry с помощью NOOBS
Это самый простой способ получить полноценный и работающий Linux на Raspberry Pi. Набор операционных систем по умолчанию NOOBS (New Out Of Box Software) для Raspberry Pi вышел в 2013 году и предоставляет простой интерфейс, с помощью которого вы можете установить несколько популярных систем в несколько кликов.
1. Подготовка SD карты
Первым делом нам нужно подготовить вашу SD карту. Нужна карта объемом, как минимум, 4 Гб. Выполните такую команду:
Теперь подключите карту к компьютеру с помощью картридера, и выполните команду еще раз, так вы сможете определить какое имя в системе было присвоено вашей карте. Например, это может быть mmcblk0. Если она уже разбита на разделы, то вы увидите в конце имени p1, например, mmcblk0p1. Если же карта еще не разбита, то нам нужно это сделать, для этого используйте fdisk:
sudo fdisk /dev/mmcblk0
Удалите все существующие разделы с помощью d , введите нужный номер раздела, если нужно, затем используйте n , для создания нового раздела и p для подтверждения создания. Нам нужен один раздел на всю флешку, если у вас уже так, то ничего делать не нужно.
После завершения нажмите t и установите тип раздела W95 FAT32, несмотря на то, что это Linux, для установщика нужно использовать файловую систему FAT. Для записи изменений нажмите w .
Осталось отформатировать раздел в файловую систему FAT32:
sudo mkfs.vfat /dev/mmcblk0p1
Вы можете скачать образ NOOBS с официального сайта . Нам нужен ZIP архив самой последней версии.
Вы можете выбрать две версии, полную, с офлайн установкой и минимальную, которая требует интернет подключение для развертывания на Raspberry Pi. Микрокомпьютер должен быть подключен с помощью кабеля Ethernet, беспроводная сеть доступна только в установленной операционной системе.
Установщик NOOBS включает такие операционные системы:
- Raspbian;
- Pidora;
- RISC OS;
- Arch Linux;
- OSMC.
Возможно, со временем туда будут добавлены и другие системы.
3. Запись на SD карту
Здесь все еще проще установка операционной системы Raspberry Pi 3 выполняется путем обычного копирования файлов. Для этого нужно чтобы ваша SD карта была примонтирована в системе. Проверяем куда ее подключил ваш файловый менеджер:
mount | grep -i mmcblk0p1
Если еще не подключил, то откройте ее в файловом менеджере и затем повторите еще раз. В Nautilus есть такая опция контекстного меню, как "Открыть в терминале" , вы можете здесь ее использовать. Или используйте команду cd для перехода в папку флешки:
cd /media/путь/к/папке/
Затем просто разархивируем в нее содержимое архива NOOBS:
unzip /home//Downloads/RaspberryPi/distros/NOOBS_v1_3_11.zip
Вот и вся установка, когда извлечение будет завершено, вы можете размонтировать карту памяти:
sudo umount /dev/mmcblk0p1
В Windows вы можете сделать все то же в графическом интерфейсе, просто распакуйте содержимое zip архива noobs на флешку.
4. Запуск системы
Дальше можете извлечь карту из компьютера и подключить ее к Raspberry, также вам понадобится подключить устройство по HDMI к экрану, затем подайте питание и подключите клавиатуру. В установщике нужно выбрать операционную систему, которую вы хотите установить:
Установка выполняется довольно быстро и представляет из себя копирование нужных файлов на ту же карту памяти. Если вы установите несколько систем, то вам будет доступно меню выбора, если же только одну - то она будет загружаться по умолчанию. Установка noobs raspberry pi 3 на видео:
Установка системы Raspberry из образа
Другой способ установить операционную систему Raspberry Pi 3 - использовать img образ. Например, вы можете скачать образ Raspbian Jessie и просто записать его на карту памяти.
Самый простой способ сделать это в Linux - использовать утилиту Ether. Она уже есть в большинстве дистрибутивов.
Другие операционные системы доступны на том же сайте, что и NOOBS. Например, вы можете скачать Raspbian, Ubuntu MATE 16.04 или даже Windows 10 IoT:
Но, кроме того, вы можете устанавливать этим способом и другие операционные системы, загруженные с других ресурсов.
Вам необходимо скачать образ операционной системы, который будет иметь расширение файла.img. Часто эти файлы еще дополнительно пакуются в zip архивы, чтобы занимали меньше места, поэтому если вам попал такой архив, распакуйте его.
2. Запись образа на карту
Когда у вас будет img файл, запустите утилиту Ether и выберите нужный образ в разделе "Select Image" :
Затем, убедитесь, что вы выбрали правильную карту памяти. Если устройство нужно изменить, нажмите кнопку "Change" :
Если все верно, для записи образа на флешку нажмите кнопку "Flash" . Когда процесс будет завершен, вы операционная система Raspberry будет готова к использованию. Извлеките карту из компьютера, подключите ее к Raspberry Pi и загрузитесь.
Выводы
Как видите, установка ос raspberry pi 3 очень проста если эта операционная система поддерживается официально. Кроме описанных в статье способов, можно использовать и другие методы записи, например, утилиту dd. Если вы новичок, то для вас идеальным вариантом станет NOOBS, для продвинутых пользователей есть образы. Но, в любом случае, установка Linux на Raspberry Pi 3 в разы проще установки WIndows или Mac на компьютер. А у вас есть Raspberry? Для решения каких задач вы его используете? Напишите в комментариях!