Raspberry Pi - это крошечный, но вполне полноценный компьютер. По внешним признакам его можно отнести к т.н. встраиваемым или одноплатным компьютерам, т.е. компьютерам, предназначенным для использования в качестве части каких-либо изделий: автомобилей, игровых приставок, промышленного и врачебного оборудования, «умного дома», устройств «интернета вещей» и т.п. В отличие от микроконтроллеров, например, Arduino, Raspberry Pi обладает полноценной операционной системой, поэтому он способен выполнять гораздо более сложные задачи.
Raspberry Pi является торговой маркой Фонда Raspberry Pi.
Компьютеры Raspberry Pi продаются с 2012 года, и за это время было выпущено немало разновидностей. Ниже мы подробно рассмотрим современные образцы, а более старые модели перечислим бегло.
Эта разновидность была выпущена в феврале 2016 года. Вот ее основные технические характеристики:
Возможности для взаимодействия с внешним миром у этого компьютера очень впечатляющие:
Обратите внимание: на плате Raspberry Pi 3 model B отсутствует встроенная флеш-память. Чтобы запустить этот одноплатный компьютер, нужно взять карту памяти microSD, записать на нее образ операционной системы и вставить в разъем на плате.
Также особенностью Raspberry Pi 3 model B является использование для подключения источника питания разъема micro-USB, как в современных сотовых телефонах. Однако нужно учитывать, что не каждая зарядка от телефона подойдет для питания «малинки». Например, для питания Raspberry Pi 3 model B изготовитель советует использовать источник питания от надежного производителя, рассчитанный на ток до 2,5А.
Это особые разновидности Raspberry Pi уменьшенного размера и, соответственно, мощности. Модель Zero 3 была выпущена в мае 2016 года, а Zero W - в феврале 2017. Они предназначены для тех применений, где не требуется высокая производительность старшего образца, но зато большое значение имеет малый размер и малое потребление электроэнергии.
Вот основные технические характеристики этих образцов:
Возможности для подключения внешних устройств здесь более скромные:
Zero W отличается от просто Zero тем, что имеет Wi-Fi и Bluetooth. Обе платы получают питание через разъем micro-USB. Таким образом, здесь имеется по 2 разъема micro-USB, один из которых служит только для подключения питания, а второй - для подключения внешних устройств.
Обратите внимание: как и у старшего брата, Raspberry Pi 3 model B, в этих разновидностях отсутствует встроенная флеш-память. Чтобы запустить этот одноплатный компьютер, нужно взять карту памяти microSD, записать на нее образ операционной системы и вставить в разъем на плате.
Это т.н. вычислительный узел - разновидность Raspberry Pi, прямо предназначенная для использования как части какого-либо промышленного изделия. Мощность этого встраиваемого компьютера такая же, как и у Raspberry Pi 3 model B, а размеры близки к разновидности Zero:
Основные отличия от рассмотренных ранее разновидностей следующие:
Чтобы использовать этот узел, он должен быть вставлен в особую материнскую плату с разъемом SO-DIMM. Через этот разъем узел получает электропитание и взаимодействует с изделием, частью которого он является, например, автомобилем, станком с ЧПУ, беспилотником и т.п.
Может возникнуть вопрос: зачем нужен вычислительный узел, если уже есть Raspberry Pi 3 model B и Zero? Ответ прост: во-первых, Zero все-таки относительно слабый по мощности компьютер; а Raspberry Pi 3 model B нацелен в основном на рукастых умельцев, для которых некоторая избыточность размеров и разъемов вполне допустима. В случае же с профессиональным использованием Raspberry Pi неиспользуемые разъемы неприемлемы, даже если они будут скрыты под обшивкой. Согласитесь, будет очень странно, если кто-то обнаружит внутри, скажем, домашней развлекательной системы разъем для подключения камеры или пару скрытых USB-портов.
Существует также облегченная разновидность вычислительного узла: она отличается от полной отсутствием встроенной флеш-памяти.
Из разновидностей «малинового пирога» прошлых лет разработки, самое, пожалуй, широкое распространение получил 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 может работать под управлением большого количества различных ОС, но основной операционной системой для него является Raspbian. Именно ее мы советуем использовать в подавляющем большинстве случаев, т.к. она создана специально для Raspberry Pi.
Итак, что можно сделать на основе этого одноплатного компьютера? Начнем с простых, лежащих на поверхности примеров:
Для установки по требованию доступно огромное количество других приложений на все случаи жизни.
Менее очевидные, но тоже очень распространенные примеры использования Raspberry Pi:
Если вас привлекают роботы, можете собрать своего робота на основе Raspberry Pi:
простая 2-колесная машинка;
та же машинка, умеющая ездить вдоль нарисованной линии;
машинка с дистанционным управлением;
L3-37 из «Звездных войн»;
К видеовыходу 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:
Выбор плат расширения поистине огромен. Вот далеко не полный список их видов:
Также большим удобством является то, что к Raspberry Pi GPIO можно подключать несколько плат расширения одновременно. Получается что-то вроде этажерки или слоеного пирога. Конечно, при подключении к разъему ввода-вывода общего назначения Raspberry Pi нескольких плат расширения нужно учитывать, какие выводы GPIO каждая плата использует и каким образом, чтобы платы не мешали друг другу.
К Raspberry Pi можно подключить датчики, наверное, для всего, что только можно себе представить:
Датчики могут быть как цифровыми, так и аналоговыми. Способ подключения у каждого датчика различный. Одни подключаются непосредственно к разъему ввода-вывода общего назначения (GPIO), другие - к особой плате расширения или к USB-разъему. Для подключения некоторых датчиков могут потребоваться простые радиодетали, такие как сопротивления. В зависимости от способа подключения имеется возможность подключить к одному Raspberry Pi только один датчик или сразу множество, как одного вида, так и разных.
Если вы собираетесь купить этот одноплатный компьютер, учтите следующие особенности:
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. Обратное может быть как верным, так и нет - читайте внимательно описания. Также при выборе корпуса учитывайте:
Raspberry Pi не имеет встроенных часов реального времени. Это означает, что после каждого выключения питания часы останавливаются. Для некоторых применений Raspberry Pi это не имеет значения. В случае, если для вашего случая точное время на компьютере является необходимым, рассмотрите следующие возможности:
Если вы хотите купить Raspberry Pi для использования в качестве рабочего или домашнего компьютера, вам также понадобятся:
Как правило, в магазинах, где можно купить Raspberry Pi, продаются также различные дополнительные устройства и принадлежности: платы расширения, датчики, камеры, экраны, соединительные провода, перемычки и т.п. Не забудьте купить эти принадлежности вместе с Raspberry Pi.
Полный список операционных систем, которые можно установить на Raspberry Pi 3, а в большинстве случаев и на более старые разновидности «малины», насчитывает несколько десятков штук. Как правило, это ОС, основанные на ядре Linux, такие как Raspbian, Ubuntu, LibreELEC и OSMC. Также можно установить особое издание Windows 10 - IoT Core. Конечно, рассмотреть в одной статье установку всех поддерживаемых операционок невозможно. Мы ограничимся описанием установки основной ОС, предназначенной для Raspberry Pi - ОС Raspbian, затем расскажем про установку Windows 10 IoT Core и, наконец, про установку медиацентра Kodi.
NOOBS расшифровывается как New Out Of Box Software, что можно перевести на русский язык как «установочное программное обеспечение». Это то же самое, что, например, установочный DVD-диск или установочная флешка с операционной системой Windows 10 или Linux для персонального компьютера. Обычно установка ОС с DVD-диска или флешки выполняется на жесткий диск компьютера, и сам носитель установочного ПО не изменяется. В случае с NOOBS для Raspberry Pi 3 сделано иначе: вы записываете на карту памяти установочное ПО NOOBS, вставляете ее в «малину», включаете и попадаете в установщик. После окончания его работы вместо NOOBS на флеш-карте будет установлена выбранная вами операционная система.
Отметим, что это не единственный способ установки ОС на Raspberry Pi 3. Однако для начинающих пользователей советуем использовать именно его: он самый простой.
С помощью NOOBS на микрокомпьютер можно установить следующие операционные системы:
Есть возможность установить при помощи NOOBS и несколько других ОС, но их рассмотрение выходит за границы данной статьи.
Чтобы установить операционную систему Raspbian на Raspberry Pi при помощи NOOBS, действуйте по приведенным ниже шагам:
Обратите внимание: если вы используете карту памяти размером 64 Гбайт или более, после выполнения шага 3 карта будет содержать, как и должно быть, единственный раздел, но он окажется отформатированным в файловой системе exFAT, которую загрузчик микрокомпьютера не понимает. В этом случае после шага 3 вам нужно использовать другое приложение, чтобы отформатировать единственный раздел на флеш-карте в файловую систему FAT32. Если компьютер, на котором вы готовите карту памяти для «малинки», работает под управлением ОС Linux или MacOS, используйте штатные средства. В Windows встроенная утилита форматирования не подойдет, поэтому придется использовать стороннее приложение, например, FAT32 format GUI от RidgeCrop Consultants.
Вы также можете установить Raspbian на Raspberry Pi при помощи прямой заливки на microSD-карту. Берется образ карты памяти, на которой уже установлена Raspbian, и непосредственно посекторно записывается на новую карту. При этом нет необходимости в ее предварительном форматировании: нужный набор разделов и файловая система уже находятся в исходном образе.
Такой способ подойдет более опытным пользователям. Особенно это удобно, если нужно подготовить сразу несколько Raspberry Pi 3 с одной и той же операционной системой и одним и тем же набором прикладного ПО.
Большим удобством является то, что приложение Etcher поддерживается на всех основных операционках: Windows, Linux и MacOS.
Чтобы выполнить установку Windows 10 IoT Core на «малину» при помощи NOOBS, нужно действовать образом, похожим на установку Raspbian при помощи NOOBS. Единственное отличие заключается в том, что на шаге 9, когда появится выбор операционных систем для установки, вам необходимо выбрать Windows 10 IoT Core.
Вы также можете установить Windows 10 при помощи прямой заливки на microSD-карту. Этот способ удобен тем,что выполняется быстрее, чем установка через NOOBS. К тому же, можно быстро подготовить несколько одинаковых карт памяти, например, если вы собираетесь провести практическое занятие по Windows 10 IoT Core или если вам нужно отгрузить заказчику сразу много встраиваемых компьютеров с предустановленной ОС и единым набором прикладных приложений.
Microsoft позаботилась об удобстве пользователей и выпустила особое приложение, которое облегчает дело. Действуйте следующим образом:
Нужно, однако, заметить, что приложение IoT Core Dashboard работает только в операционной системе Windows, поэтому пользователям MacOS и Linux оно не подойдет.
Kodi - это продвинутый бесплатный медиапроигрыватель с удобной пользовательской оболочкой. Именно за высокое качество и распространенность создатели Raspberry Pi включили его в состав установочного приложения NOOBS. Вообще говоря, Kodi можно установить на Raspberry Pi 3 как приложение для Raspbian. Однако это не самое удобное и надежное решение. Лучше использовать операционную систему LibreELEC или OSMC, которые содержат в себе только Kodi и библиотеки, необходимые для его работы.
Чтобы установить Kodi, действуйте так же, как и при установке ОС Raspbian при помощи NOOBS. Единственное отличие заключается в том, что на шаге 9, когда появится выбор операционных систем для установки, вам необходимо выбрать LibreELEC или OSMC.
Если вам лень или некогда самостоятельно записывать установочное ПО NOOBS на карту памяти, вы можете купить ее с уже записанным NOOBS. По цене она почти не отличается от пустой карты. Дополнительным преимуществом этого подхода будет то, что такая карта наверняка будет совместима с этим микрокомпьютером.
Raspberry Pi развивается довольно быстро, и каждый год разработчики выпускают что-нибудь новое. Самым значимым на сегодня новшеством 2018 года стал, конечно же, выпуск новой разновидности этого одноплатного компьютера - Raspberry Pi 3 model B+:
Наконец до меня добралась очередная посылка из с одноплатным компьютером Raspberry Pi 3 Model B, базовыми аксессуарами для него и еще кое-какой мелочевкой.
А в этой статье будет описан процесс знакомства с микрокомпьютером – от распаковки до первого запуска операционной системы и выполнения первоначальных настроек.
Для начала работы понадобится обязательно:
Это то, из чего будет состоять микрокомпьютер в сборе.
Кроме того, нужно иметь следующую периферию:
Экран для вывода информации, устройства ввода, картридер для записи образа операционной системы.
А для большего удобства не лишним будет иметь:
Управлять “малинкой” беспроводными мышью и клавиатурой удобнее, чем их проводными собратьями.
Микрокомпьютер Raspberry Pi 3 Model B поставляется в картонной коробке красно-белой расцветки с фирменным логотипом в виде малины.
Комплект поставки – сама плата Raspberry Pi 3 в антистатическом пакете и небольшая брошюра-памятка по технике безопасности (не накрывать “малинку” во включенном виде, не разгонять, избегать перегрева, не использовать в сырых и влажных местах, избегать механического повреждения печатной платы и т.д.).
Стандартное средство для форматирования Windows почему-то не подходит: при попытке запуска Raspbian с отформатированной через него карты памяти будет выдаваться ошибка “error resizing existing FAT partition”.
После подготовки microSD-карты необходимо скачать дистрибутив Raspbian с официального сайта.
Скачанный образ дистрибутива заархивирован, так что после скачивания архив нужно распаковать в любую папку.
Распакованный образ Raspbian нужно записать на подготовленную microSD-карту, для чего можно воспользоваться бесплатной утилитой Rufus .
На этом процедура установки завершена.
Карту памяти с записанным на нее 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 – полная бесшумность его работы.
Нет, понятно, что если используется полностью пассивное охлаждение и нет ни воздушных кулеров, ни даже обычного 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 3 хочу напомнить, что адекватная цена на этот микрокомпьютер колеблется в пределах $35-$40.
Именно по такой цене Raspberry Pi можно приобрести в Китае, в то время как у наших “серых” дилеров розничная стоимость этого микрокомпьютера начинается от 3000 рублей и может достигать 4500 рублей.
Не кормите кучу посредников – заказывайте Raspberry Pi по честной цене в Китае!
Я давно следил на ХабраХабр за проектом Raspberry Pi и твердо решил заполучить свой мини-компьютер. Когда начался предзаказ, я воспользовался им практически сразу, однако только 17 июня 2012 года мне на Email пришло сообщение от RSComponents.Com о возможности заказа моего экземпляра Raspberry Pi. Итого прошло около месяца с момента предзаказа.В этот же день я создал заказ (кстати, в то время уже можно было заказать «официально» в Российскую Федерацию) и стал ждать свою «малину». Информационное письмо обещало отгрузку в течение максимум 6 недель, но в этот срок я так и не получил свою плату. Во время звонка в московское представительство RS, менеджер фирма дал понять, что поставки скоро будут, но когда - неизвестно.
17 августа мне на email пришло сообщение от сотрудницы Московского RS, что моя плата доставлена в офис и ее можно забирать (т.к. заказать из RS с доставкой на дом нельзя, потому что DHL не доставляет посылки частным лицам). Собственно говоря, в этот же день я и получил свой компьютер Raspberry Pi!
Весь необходимый набор комплектующих был куплен мною заранее (собственно говоря, все позаимствовал от других устройств). Я использовал:
Устанавливаем вашу 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 :
На этом установка и первичная настройка системы завершена!
Следующая часть будет интересна тем, кто особо не знаком с Linux (как был и я).
Перед началом работы обновим apt-get
:
sudo apt-get update
Устанавливаем 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
Кстати!
Гораздо удобнее управлять шарингом файлов и папок с помощь программы SWAT, которая предоставляет веб-интерфейс.
Установить ее очень просто:
sudo apt-get install swat
Панель управления SWAT будет расположена по адресу: http://:901
Логин и пароль соответствуют Вашей учетной записи (той, которой Вы пользуетесь для SSH)
Подключаем носитель и выполняем команду:
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:
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 и твердо решил заполучить свой мини-компьютер. Когда начался предзаказ, я воспользовался им практически сразу, однако только 17 июня 2012 года мне на Email пришло сообщение от RSComponents.Com о возможности заказа моего экземпляра Raspberry Pi. Итого прошло около месяца с момента предзаказа.В этот же день я создал заказ (кстати, в то время уже можно было заказать «официально» в Российскую Федерацию) и стал ждать свою «малину». Информационное письмо обещало отгрузку в течение максимум 6 недель, но в этот срок я так и не получил свою плату. Во время звонка в московское представительство RS, менеджер фирма дал понять, что поставки скоро будут, но когда - неизвестно.
17 августа мне на email пришло сообщение от сотрудницы Московского RS, что моя плата доставлена в офис и ее можно забирать (т.к. заказать из RS с доставкой на дом нельзя, потому что DHL не доставляет посылки частным лицам). Собственно говоря, в этот же день я и получил свой компьютер Raspberry Pi!
Весь необходимый набор комплектующих был куплен мною заранее (собственно говоря, все позаимствовал от других устройств). Я использовал:
Устанавливаем вашу 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 :
На этом установка и первичная настройка системы завершена!
Следующая часть будет интересна тем, кто особо не знаком с Linux (как был и я).
Перед началом работы обновим apt-get
:
sudo apt-get update
Устанавливаем 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
Кстати!
Гораздо удобнее управлять шарингом файлов и папок с помощь программы SWAT, которая предоставляет веб-интерфейс.
Установить ее очень просто:
sudo apt-get install swat
Панель управления SWAT будет расположена по адресу: http://:901
Логин и пароль соответствуют Вашей учетной записи (той, которой Вы пользуетесь для SSH)
Подключаем носитель и выполняем команду:
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:
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 .
Если вы стали обладателям набора , можете начать работу с платой прямо из коробки. Для этого последовательно пройдите следующие шаги.
Подключите питание и сетевой кабель.
Подключите Raspberry Pi к монитору через HDMI-кабель.
На этом установка закончена и можете смело тестировать ваш новый микрокомпьютер.
Начиная с версии OS Raspbian Jessie with Pixel , SSH в целях безопасности по умолчанию отключён. Включить его можно в графическом режиме через HDMI-монитор. Если у вас нет возможности подключить RPI в графическом режиме, необходимо создать в корне microSD-карты пустой файл без расширения с именем ssh .
Raspberry Pi работает с мониторами и телевизорами, поддерживающими разрешения 800 на 480 пикселей и выше. Для комфортной работы со стационарными мониторами рекомендуем использовать разрешение не ниже 1280×720.
Если вы хотите получить максимальную автономность - превратит вашу в настоящий планшетный компьютер.
Для подключения к Raspberry Pi необходимо знать IP-адрес платы в локальной сети.
При динамической адресации (DHCP) маршрутизатор может менять IP-адрес при каждом включении платы. В таком случае вам каждый раз придётся повторять этот шаг.
Raspberry Pi запущена, IP-адрес известен - можно приступать к подключению по SSH.
У вас всё получилось. Теперь можно управлять Raspberry Pi консольными командами Raspbian .
Для стабильной и правильной работы ОС Raspbian обновляйте версии пакетов программного обеспечения.
Теперь на операционной системе Raspbian установлены самые свежие программные пакеты.
Шина I²C - самый простой способ обмена информацией. Каждое подключенное к линии I²C устройство имеет свой адрес, по которому к нему обращается Raspberry Pi.
Линии интерфейса имеют встроенную подтяжку к питанию резисторами. Соответственно их невозможно использовать в качестве общих портов ввода/вывода в случаях, требующих отключения подтяжки.
По умолчанию шина I²C
В ответ вы должны увидеть полотно файлов, среди которых: i2c-1 .
Теперь вы можете использовать интерфейс I²C
Список с адресами устройств, подключенных к линии I²C можно получить программой i2cdetect из пакета i2c-tools:
Установите пакет i2c-tools: sudo apt-get install i2c-tools
Выполните поиск устройств на шине: sudo i2cdetect -y 1
SPI - последовательный четырёх-проводной интерфейс передачи данных, предназначенный для обеспечения простого и недорогого высокоскоростного сопряжения микроконтроллеров и периферии.
Raspberry Pi имеет одну шину SPI - SPI0 . Но более новые версии одноплатника, например , обладают двумя шинами: SPI0 и SPI1
По умолчанию шина SPI0 отключена. Для включения выполните следующие действия.
В ответ вы должны увидеть полотно файлов, среди которых два: spidev0.0 и spidev0.1 .
SPI0
с возможностью подключения двух ведомых устройств.
Теперь вы можете использовать интерфейс SPI
для коммуникации с датчиками и модулями.
Для включения шины SPI1 , необходимо вручную отредактировать файл настроек загрузки системы config.txt .
В ответ вы должны увидеть полотно файлов, среди которых три отвечают за SPI1 : spidev1.0 , spidev1.1 и spidev1.2 .
Если у вас включена шина SPI0 , то будут ещё два файла: spidev0.0 и spidev0.1 .
Это значит что у вас включён SPI0 с возможностью подключения двух ведомых устройств и SPI1 с возможностью подключения трёх ведомых устройств.
UART (Serial) - асинхронный интерфейс передачи данных, последовательно передающий биты из байта данных. Асинхронная передача позволяет осуществлять передачу данных без использования тактирующего сигнала от передатчика к приёмнику. Вместо этого приёмник и передатчик заранее договариваются о временных параметрах и специальных «стартовых битах», которые добавляются к каждому слову данных для синхронизации приёмника и передатчика. Существует множество устройств, с которыми Raspberry Pi может обмениваться данными по UART протоколу.