Андрей Смирнов
Время чтения: ~29 мин.
Просмотров: 17

Raspberry Pi — что можно сделать на основе «малинки»?

1. Настольный компьютер

newdesk_1552222912-e1552222926780-1024x512.jpg
www.raspberrypi.org

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

Помимо самого Raspberry Pi, вам понадобится корпус для него, карта microSD, блок питания, кабель HDMI и подходящий дисплей, а также клавиатура и мышь — беспроводные или подключаемые по USB. Наушники или колонки тоже не помешают. У устройства есть встроенные Wi-Fi, Bluetooth и Ethernet-порт, так что проблем с интернетом не возникнет.

Специально для Raspberry Pi разработан дистрибутив Linux Raspbian. Но если он вам не по душе, можете установить привычную Ubuntu MATE, консервативный, но стабильный Debian или постоянно обновляющийся Arch (с последним, скорее всего, справятся только гики). Вообще подойдёт любой дистрибутив — главное, убедитесь, что он поддерживает архитектуру процессора ARM.

При желании вы можете вкатить на Raspberry Pi даже Windows 10 — для этого вам понадобится установщик WOA Deployer.

Установите в систему медиапроигрыватель, офисный пакет, браузер и прочие необходимые вам штуки — и у вас появляется дешёвый, бесшумный и миниатюрный компьютер.

2. Медиацентр

Kodi-TV-Shows-Featured_1552223353-e1552223377268-1024x512.jpg
www.kodibox.lwhdesign.org

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

Поставьте на Raspberry Pi любой дистрибутив Linux на выбор. Затем загрузите и установите в него Kodi. Это великолепная программа для медиасервера, с удобным и стильным интерфейсом, кучей возможностей, плагинов и тем оформления. И к тому же бесплатная.

А если докупить ещё какой-нибудь пульт, подключающийся по Bluetooth, можно с удобством управлять программой прямо с дивана.

Kodi привносит на Raspberry Pi множество функций. С ним вы можете смотреть любые фильмы и сериалы, слушать музыку и любоваться фотографиями, подключаться практически к любым стриминговым сервисам, скачивать торренты, сёрфить по сети.

А если вам чего-то не хватает, загляните в репозиторий расширений Kodi — найдёте там ещё уйму всяких интересных штуковин.

3. Умный телевизор

OYsg7_1552224608-e1552224641740-1024x512.jpg
www.raspberrypi.org

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

Подключаем к старому телевизору Raspberry Pi с Linux и Kodi на борту, коннектим к одноплатнику пульт ДУ, и можно спокойно смотреть «Игру престолов» на даче. Не нужно везти за город огромную плазму — пользуемся тем, что есть на месте.

4. Музыкальный проигрыватель

www.pimusicbox.com

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

Для Raspberry Pi создан специальный дистрибутив под названием Pi MusicBox, который предоставляет множество интересных возможностей. С ним вы сможете стримить музыку из Spotify, SoundCloud, Google Music и слушать подкасты iTunes и gPodder. Воспроизводить локальные и сетевые музыкальные файлы в MP3, OGG, FLAC, AAC и наслаждаться тысячами радиостанций через TuneIn, Dirble, AudioAddict и SomaFM. А ещё скробблить на Last.fm.

Pi MusicBox поддерживает внешние звуковые карты USB — это важно для меломанов, поскольку встроенный звук у Raspberry Pi не лучшего качества.

5. Приставка для ретроигр

www.blog.hackster.io

Современные AAA-проекты Raspberry Pi, конечно, не потянет, а вот старые добрые хиты для NES, SNES, Sega Master System, Genesis и прочие взлетят на нём на ура. Для Linux существует огромное количество эмуляторов классических консолей, которые легко установить в любой дистрибутив.

Либо вы можете не париться и сразу выбрать один из дистрибутивов, которые целиком заточены под эмуляцию классических игр. К примеру, Recalbox или RetroPie. Они оптимизированы для Raspberry Pi и поддерживают как современные контроллеры от PlayStation 3/4 и XBox 360/One, так и реплики классических (например, такую).

Для пущего олдскула рекомендуется запускать всё это добро на старом выпуклом экране аналогового телевизора, и вы сами не заметите, как слёзы ностальгии увлажнят бороду.

6. Клиент Steam Link

www.techwiztime.com

Производительность Raspberry Pi не позволяет играть на нём в особо требовательные игры. Но это не значит, что одноплатник для геймера бесполезен. Вам наверняка известно, что в клиенте Steam есть функция «Домашняя трансляция».

Работает она так: вы запускаете игру на своём мощном ПК, а затем изображение начинает транслироваться в реальном времени на другое устройство, с которого вы и будете управлять игрой.

В качестве такого устройства вполне может выступать Raspberry Pi. Подключите его к монитору или телевизору, подсоедините геймпады (лучше всего родной Steam Controller) и дайте доступ через Ethernet к вашей домашней локальной сети.

Затем установите приложение Steam Link, которое официально доступно на Raspberry Pi для системы Raspbian. Включите игру на ПК, начните трансляцию. И Rasbperry Pi превратится в своего рода консоль.

7. Сервер беспроводной печати

reddit.com

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

Установите на ваш одноплатный компьютер любую систему по вашему вкусу (Raspbian или Debian отлично подойдут). Затем в системе установите пакеты Samba и CUPS. Подключите принтер к Raspberry Pi кабелем, и в настройках системы сделайте его сетевым.

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

А если доустановить в систему пакет avahi-discover, то у принтера появится поддержка функции Air Print. Через него можно будет печатать «по воздуху» с iPhone, iPad или Android.

8. Сетевой диск

www.cnet.com

NAS — это сетевое хранилище в компактном корпусе, которое позволяет легко создавать бэкапы и восстанавливать данные со всех ваших компьютеров в локальной сети. У него много преимуществ, но всё-таки это довольно дорогая штука. Raspberry Pi может всё то же дешевле.

Возьмите Raspberry Pi с установленным Linux на борту и подключите к нему несколько жёстких дисков. Можно использовать как интерфейс SATA, так и USB. Затем в настройках носителей сделайте их общедоступными для всех ваших компьютеров в локальной сети. Получится эдакий импровизированный NAS.

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

Встроенное средство архивации Windows 10 и другие программы для бэкапов умеют сохранять резервные копии на сетевые диски, так что процесс копирования можно полностью автоматизировать.

9. Собственное облако

www.stewright.me

Итак, у вас появилось собственное сетевое хранилище. Почему бы не пойти дальше и не создать своё личное облако? Зачем зависеть от Google и Dropbox, которые просят денег за каждый лишний мегабайт?

Чтобы развернуть на Raspberry Pi свой облачный сервер, вам понадобится дистрибутив вроде Raspbian или Debian и специальное приложение ownCloud либо его аналог Nextcloud. У них есть и десктопные клиенты для всех платформ, и мобильные приложения.

Создав на Raspberry Pi облако, вы получите огромный простор для действий. Автоматическая синхронизация файлов на всех платформах, точно настраиваемая и очень быстрая. Хранилище для контактов и почты (прощай, Gmail). Хранилище для заметок (прощай, жадный Evernote). Вы можете даже развернуть свой сервис для управления задачами и работать на Raspberry Pi командой, как в каком-нибудь Trello.

10. Загрузчик торрентов

www.kamilslab.com

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

Установите на Raspberry Pi систему и торрент-клиент. Например, лёгкий Transmission или функциональный qBittorrent. Управлять ими можно с любого компьютера в домашней сети через веб-интерфейс в браузере.

Либо можно настроить клиент так, чтобы он автоматически забирал torrent-файлы из папки какого-нибудь облачного хранилища вроде Dropbox. Скидываете torrent-файл с любого устройства в папку, и устройство автоматически начнёт загрузку.

Кроме того, Raspberry Pi можно научить следить за изменениями раздач по RSS. Так что, когда выйдет новая серия какой-нибудь «Игры престолов», устройство самостоятельно скачает её, не дожидаясь вашей команды.

11. Маршрутизатор

www.downey.io

Из Rasbperry Pi можно сделать нечто вроде роутера, который будет блокировать рекламу на всех устройствах в вашей домашней сети. Установите на одноплатный компьютер специальное приложение под названием Pi-Hole, настройте, затем переведите Raspberry Pi в режим раздачи Wi-Fi. Возможно, вам придётся докупить внешний модуль Wi-Fi для Pi, если качество сигнала покажется неудовлетворительным.

Когда все ваши гаджеты будут подключаться к интернету через Pi-Hole, на них перестанет отображаться реклама. Баннеры в браузерах, всплывающие окна в приложениях на смартфонах или умных телевизорах — всё это будет заботливо вырезано.

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

А если немного поковыряться с настройкой, то с Raspberry Pi можно пропускать весь ваш трафик через VPN или TOR. Тогда вы забудете о постоянных блокировках.

12. Веб-сервер

www.pimylifeup.com

У вас есть собственный сайт, блог или что-то в этом духе, и вам надоело постоянно платить за хостинг? Почему бы не разместить своё творение на Raspberry Pi? Конечно, одноплатник вряд ли потянет огромный ресурс с миллионами посетителей, но если сайт у вас небольшой, устройство с ним справится.

Можете установить на Raspberry Pi Apache, PHP, MySQL, WordPress — любые инструменты, которые вам понадобятся, и миниатюрный компьютер станет вполне неплохим веб-сервером. Остаётся только приобрести у интернет-провайдера статический IP. Или даже обойтись без этого, воспользовавшись сервисом No-IP.com.

Это далеко не всё, что можно сделать с Raspberry Pi. Умельцы в Сети делают из него собственные метеостанции, системы видеонаблюдения, автоматические раздатчики корма для собак и удобрений для цветов, и даже огромных боевых роботов. Наконец, ничто не мешает задействовать Raspberry Pi для нескольких задач сразу — всё зависит только от ваших потребностей и фантазии.

07 июля 2019, 08:22Несколько последних недель после представления нового одноплатного компьютера Raspberry Pi 4 B, весь интернет бурлит обсуждениями — как долго мы этого ждали, и какой это прорыв по сравнением с предыдущим поколением Raspberry Pi 3B+. Видеоблогеры, основная часть которых получила новый одноплатник до официальной даты выхода, сразу же выпустили обзоры, поющие дифирамбы новой «малинке». Нечего и говорить о глобальном комьюнити, которое видя, как далеко ушли конкуренты Raspberry в мощностях процессоров и объемах памяти, вздохнули с облегчением. Но так ли все хорошо на самом деле?

Заказывая новую «малинку», у меня не было определенного плана что с ней делать, но зная что «малинок много не бывает» и любой хоббист найдет ей за пару минут применений больше, чем пальцев на своих же руках и ногах, я не задумываясь заказал вот такой комплект:

  • Raspberry Pi 4 (4 Gb RAM),
  • официальный БП USB-C,
  • официальный бело-красный пластиковый корпус.

И тут же я столкнулся с первой проблемой — цена. Комплект c доставкой обошелся мне чуть больше ста! долларов (100 USD). И если прибавить сюда еще и microSD карту хорошего качества класса A2, как рекомендует, например, официальный сайт Home Assistant, то мы с легкостью подойдем к отметке в 150 долларов. Накинем Z-wave и Zigbee стики и вот уже и «колобок» (Athom Homey) не кажется такой уж и дорогой покупкой.  Не далеко с таким ценником и до Intel Nuc, а если рассматривать б/у варианты, то можно собрать намного более производительный центр умного дома на базе неттопа или barebone компьютера. Но все мы знаем, что огромное комьюнити пользователей и база знаний всегда идет бесплатно с покупкой любой Raspberry Pi, поэтому заострять внимание на цене не считаю нужным. «Малину» никогда не покупали за соотношение цена/производительность, плюс есть ведь и более дешевые версии четвертой raspberry с меньшим объемом памяти — 1 и 2 Гб соответственно, они все ещё находятся в бюджетной категории.

Итак, пришел мой заказ, я не претендую на полноценный обзор, но хотел бы отметить некоторые свои наблюдения, которые, надеюсь, будут полезны многим на этом портале. Все они будут через ту или иную призму касаться «умного дома».  Обзор затронет лишь часть того, о чем хотелось бы написать, поэтому подписывайтесь. Всё заслуживающее внимание широкой аудитории будет периодически появляться в моем блоге. Не забудьте поставить лайк или оставить комментарий, чтоб мотивировать автора на создание интересующего вас контента.

Близнецы или Двойняшки: Внешние различия с Raspberry Pi 3B+

На сайте уже есть полная спецификация продукта — с ней можно познакомиться здесь. Основными внешними различиями являются наличие двух microHDMI портов вместо одного полноразмерного HDMI порта, изменение в очередности расположения портов USB (два из них теперь USB 3.0) и Ethernet, а также расположения модуля RAM на верхней стороне платы — на Rpi 3B+ он был расположен снизу. Еще одно важное изменение — порт USB-C для питания. Все остальное, включая GPIO, разъёмы для SD карт, дисплея, камеры и PoE расположены в тех же местах и идентичны таким же на плате предыдущего поколения. Это дает нам возможность использовать аксессуары от предыдущих моделей Raspberry. К сожалению, использование корпусов от Rpi 3 не получиться без модификаций, из-за разного расположения разъёмов.

Новый источник питания выглядит неплохо, имеет разъём USB-C и выдает аж целых 3 (три) Ампера при 5.1 Вольтах, для питания нового мощного чипа. Надеюсь, что дополнительная мощность поможет и беспроблемно питать все стики для связи с устройствами умного дома. Использования старых 2.5А БП возможно, но не рекомендовано при наличии какой-либо периферии (мышь, клавиатура, монитор, USB), Raspberry даже выпустили официальный адаптер microUSB to USB-C.

Быстрее, выше, сильнее или коротко о производительности

Вы уже наверняка знаете, что основные изменения коснулись процессора и графического чипа, а также памяти — ее стало не только больше, но она еще и стала быстрее. Сравнительные таблицы пестрят на многих сайтах. Я тоже не удержался от того, чтоб не создать еще одну и подчерктнуть основные изменения в Rpi 4, по сравнению с предшественницей:

Raspberry Pi 4 B Raspberry Pi 3 B+
CPU
GPU
RAM
LAN
Wi-Fi
BLE
USB
Video Out

Но вот что действительно очень важно, так это новая высокоскоростная шина обмена данных, за счет нее удалось разделить потоки от USB и Ethernet, чтобы полностью использовать потенциал этих интерфейсов, а также увеличить скорость слота microSD.  Я решил сам сделать несколько тестов, вот их результаты:

Тест

Стоит сразу отметить, что в «малины» были вставлены разные типы microSD карт, но даже с погрешностью на это, разница в скорости чтения колоссальная. Что бросилось мне в глаза, так это скорость upload, думаю здесь проблема в настройках сети, а уж никак не в новой Raspberry. Я также протестировал скорость чтения и записи на внешний SSD, подключенный по USB 3.0 к Raspberry 4. Результаты 171 MB/s на запись и 631 MB/s на чтение. Я предполагал, что скорость чтения Raspberry Pi 4 с USB будет больше, чем с microSD карты, но оказалось что они сопоставимы — здесь, вероятно, влияет синтетика теста, а также возможное использования буфера «малиной».

Множество сайтов сделали сравнения скорости процессора, производительности, температуры и энергопотребления новой Raspberry Pi 4 B. Я не буду повторяться, а приведу ссылки на официальный benchmark от Raspberry, обзор и сравнение от Tom’s Hardware, а также сравнительную таблицу от Core Electronics.

Raspbian Buster и первый старт

Вместе с новой начинкой мы также получили и новую версию операционной системы — Raspbian Buster. Я не буду заострять внимание на различиях с предыдущей версией Stretch, о них подробно можно почитать здесь. Скажу лишь, что изменения коснулись в основном безопасности, а также чуть изменился интерфейс — его сделали более современным, а именно, убрали красивости. Основное же различие лежит в использовании нового open-source драйвера Open GL совместно с аппаратным ускорением для использования всех возможностей новой четвертой «малины», портировать его в старые версии Raspbian посчитали накладным, и поэтому они не поддерживают новую Raspberry Pi 4. Именно здесь и кроется корень многих проблем: любая новая система требует времени разработчиков на адаптацию их программных продуктов для работы с ней. Более того Raspbian Buster вышел даже раньше официального релиза своего прототипа Debian Buster, официальный релиз которого назначен на 6 июля 2019 года. Соответственно, не стоит ждать полной поддержки всего и вся с первых же дней. В этом я смог убедиться и сам, но об этом немного позже.

Я скачал образ Raspbian Buster Desktop c сайта Raspberry. Записал с помощью Balena Etcher на SD карту, вставил в малинку, подключил ее к монитору и питанию, и загрузка началась. Подводных камней и проблем не было, несмотря на пугающую надпись с официального сайта:

«If your Raspberry Pi 4 will not boot, it is possible that the SPI EEPROM has become corrupted.»

После загрузки система сразу предложила скачать обновления, что я сразу и подтвердил. Честно сказать, я никогда не использовал продукты Raspberry в режиме ПК, а в основном только удаленно в headless. 

Удивила быстрота работы и отзывчивость мыши, но только до тех пор, пока я не активировал 4k60p вывод на монитор, после этого все стало хоть немного, но притормаживать. Открыл YouTube в браузере Chromium и запустил видео 4k60p, к сожалению, даже выбрать 4K качество было невозможно, а при 1080p видео cильно лагало, лишь 720p было смотрибельным. Хоть и разочарование, но не сильное, все-таки я покупал Raspberry не для просмотра видео на YouTube. После непродолжительного знакомства с интерфейсом я активировал в настройках ssh и vnc, чтобы перейти к обычному способу общения с одноплатником — через терминал.

Если  у вас нет клавиатуры, мыши и монитора, для того чтобы сделать первую настройку и включит ssh, вы можете воспользоваться вот этой инструкцией с портала.

Несбывшиеся мечты, запуск с USB и новый EEPROM

Отсутствие m.2  или eMMC слота на Raspberry Pi 4 компенсируется наличием двух портов USB 3.0. Увеличение скорости в почти 10 раз позволяет нам наконец-то эффективно использовать внешние USB диски. И вот я уже подготовился установить всю систему на внешний SSD, но не тут было, оказывается пока загрузка с USB не поддерживается. Вот что пишут на официальном сайте самого Raspberry: 

» PXE and USB Boot. Support for these additional bootmodes will be added in the future via optional bootloader updates. The current schedule is to release PXE boot first, then USB boot. «

В данный момент (начало июля 2019 года) запуск с USB не поддерживается, эта функция будет доступна даже позже запуска по сети (PXE boot). К счастью, существует возможность перенести всю root область на USB диск, оставив только небольшую загрузочную часть на флэшке.  Инструкция о том, как это сделать, может с легкостью стать темой отдельной статьи, пока же вы можете воспользоваться инструкцией от Tom’s Hardware здесь.

Это приводит нас к еще одному серьезному изменению в архитектуре нового одноплатника, по сравнению с предыдущей моделью. У четвертой «малины» имеется SPI EEPROM (4MBits/512KB) — не что иное, как небольшой чип, содержащий код для загрузки системы. Он, по сути, заменяет bootcode.bin, который ранее находился в boot разделе SD карты. EEPROM является перезаписываемым, поэтому новые функции могут быть добавлены в следующих прошивках как, например, столь вожделенный нами USB Boot. Более подробно об этом можно прочитать здесь.

Deconz, Docker, Home Assistant в venv и другие ругательства

Переходим в терминал и начинаем проверять совместимость наших любимых программ для умного дома. Начнем с Deconz. Образ под Buster на сайте dresden elektronik пока не доступен, что и следовало ожидать. Что же, пробуем установить Deconz из командной строки, на сайте сразу видим, что ни Buster, ни Raspberry Pi 4 не поддерживаются. Попытка не пытка, следуем инструкции с сайта:

sudo gpasswd -a pi dialout wget -O - http://phoscon.de/apt/deconz.pub.key |             sudo apt-key add - sudo sh -c "echo 'deb [arch=amd64] http://phoscon.de/apt/deconz              $(lsb_release -cs) main' >              /etc/apt/sources.list.d/deconz.list" sudo apt update sudo apt install deconz  

Похожее на положительный исход, устанавливается deconz 2.05.65. Проверку стабильности релиза делать не стал, но на github открыта issue и есть информация, что официальная поддержка Buster-a появиться только в deconz 2.05.67. Так что, судя по всему, без багов не обойтись. Подождем.

Теперь переходим к Home Assistant. Образа Hass.io для Raspberry Pi 4 пока нет — ожидаемо. Зато новый образ Hassbian основан на Debian Buster, но Debian это вовсе не Raspbian, подводных камней не миновать. Вдобавок такой способ установки HA один из самых непопулярных, пробовать его не стал. Тем более на github открыт целый раздел, где собирают все issue этого релиза.

Остается любимый народом способ установки, в python virtual environment по статьям Охотника. Четко следуем инструкциям, но результат плачевен — установка прервана с ошибкой.На закуску Docker, но и здесь все не просто. Стандартная рекомендованная процедура установки не проходит, отсутствуют пакет в репозиториях. К счастью, есть уже способ обхода, благодаря всему тому-же огромному комьюнити пользователей. Команда прилагается:

sudo curl -sL get.docker.com | sed 's/9)/10)/' | sh

Docker установлен, а это спасение. Для теста я установил portainer, где уже из графического интерфейса можно будет продолжать установку. В контейнерах можно поднять все нужные нам программы, включая Home Assistant, Homebridge, Nore-Red, Deconz и т.д. При таком использовании «малины» как раз и начинает иметь смысл иметь дополнительную оперативную память. 

Заключение

Если подвести краткий итог, то однозначно можно сказать, что Raspberry Pi 4 — это серьезный upgrade, по сравнению с предшественником. Увелечение скорости USB, скоростной гигабитный Ethernet порт, а также новый мощный процессор и графический чип делают решение о покупке достаточно простым. 

При сравнении с предыдущей версией Raspberry Pi3 B+, у нас имеется огромный запас по ресурсам и мы можем нагрузить наш сервер умного дома дополнительными задачами, например, такими как распознование лиц.

К сожалению, в данный момент мы также видим и отсутствие полного спектра поддерживаемого программного обеспечения, нет поддержки загрузки с USB и SSD, а также всеобщий ажиотаж и отсутствие платы в продаже во многих магазинах. Из этого всего можно сделать очевидный выбор — с покупкой платы пока стоит повременить.

Если Вы все-таки решили приобрести Raspberry Pi 4 B, то сможете это сделать очень выгодно, достаточно перейти по ссылке.

Содержание

  • Обзор
  • Операционные системы
  • Установка Raspbian
  • Работа с GPIO
  • Программирование GPIO
  • Часто Задаваемые вопросы FAQ

Обзор плат Raspberry Pi

Raspberry Pi – это миниатюрный одноплатный компьютер, который с лёгкостью поместится на ладони взрослого человека. Несмотря на свои скромные размеры, плата имеет высокую производительность, что позволяет ей выйти на один уровень со стационарными ПК. Изначально Raspberry Pi была разработана, как учебное пособие по информатике. Но сама идея оказалась настолько удачной, что за несколько лет мини-компьютер стал популярен в очень широких кругах. С течением времени Raspberry Pi пережила несколько модификаций, каждая из которых отличалась от предшественника каким-либо параметром. Такой подход позволил регулировать стоимость изделия в зависимости от потребностей пользователя, что также положительно сказалось на популярности устройства. Вся линейка Raspberry Pi применяет процессоры с АРМ-архитектурой, которая зарекомендовала себя с лучшей стороны. На рисунке №1 показан внешний вид одной из популярных плат Raspberry Pi В+.

obzor_sostavnyh_elementov_Raspberry_Pi.jpg

Рисунок №1 – обзор составных элементов Raspberry Pi 

На сегодняшний день (период 2012-2019гг.) существует 11 разновидностей Raspberry Pi. Последние версии оснащены беспроводными WiFi и Bluetooth модулями, расширяющими границы применения мини-пк в области Ethernet-технологий. Ниже приведена сравнительная таблица, в которой отражены особенности каждой модификации с указанием некоторых технических данных.

Модификация

Процессор

Тактовая частота

Количество ядер

Объём ОЗУ

Количество GPIO

Количество USB

Поддержка Ethernet

Поддержка WiFi

Поддержка Bluetooth

Год выпуска

В

ARM1176JZ-F

700 МГц

1

512 МБ

26

2

2012

А

ARM1176JZ-F

700 МГц

1

256 МБ

26

1

2013

В+

ARM1176JZ-F

700 МГц

1

512 МБ

40

4

2014

А+

ARM1176JZ-F

700 МГц

1

256 МБ

40

1

2014

ARM Cortex-A7

900 МГц

4

1 ГБ

40

4

2015

Zero

ARM1176JZ-F

1 ГГц

1

512 МБ

40

1

2015

3B

Cortex-A53 (ARM v8)

1,2 ГГц

4

1 ГБ

40

4

802.11n

4.1

2016

Zero W

ARM1176JZ-F

1 ГГц

1

512 МБ

40

1

802.11n

4.0

2017

3B+

Cortex-A53 (ARM v8)

1,4 ГГц

4

1 ГБ

40

4

802.11n

4.2

2018

3A+

Cortex-A53 (ARM v8)

1,4 ГГц

4

512 МБ

40

1

802.11n

4.2

2018

4B

Cortex-A72 (ARM v8)

1,5 ГГц

4

1, 2, 4 ГБ

40

4

802.11n

5.0

2019

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

На рисунке №2 изображена последняя на момент написания статьи модификация Raspberry Pi 4В, запущенная в продажу в июне 2019г. Она оснащена дополнительным графическим процессором VideoCore VI (OpenGL ES 3.x), а также аппаратным декодером 4Kp60 для воспроизведения HEVC видео. Два порта microHDMI с возможностью пропускать сигнал до 4К, позволяют подключить одновременно два монитора. 

vneshnij_vid_Raspberry_Pi_4V.jpg

Рисунок №2 – внешний вид Raspberry Pi 4В

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

Где приобрести?

Купить Raspberry Pi вы можете в нашем магазине с доставкой по всей России.

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

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

Raspbian – данная операционная система в 2015 году была представлена как основная для Raspberry Pi. Она по максимуму оптимизирована для процессоров с АРМ-архитектурой и достаточно активно продолжает развиваться. Основой операционной системы является Debian GNU/Linux. Среда рабочего стола состоит из LXDE (среда для UNIX и других POSIX-совместимых систем типа Linux и BSD), а также менеджера окон Openbox (бесплатный менеджер для X Window System). В состав дистрибутива входят: программа компьютерной алгебры Mathematica; модифицированная версия Minecraft PI; урезанная версия Chrome.

Debian – операционная система с открытым исходным кодом. В состав Debian входит более 59000 пакетов уже скомпилированного ПО. Система использует ядро Linux или FreeBSD. В стандартный дистрибутив включены: среда рабочего стола GNOME с набором наиболее популярных программ, таких как Firefox, LibreOffice, Evolution, и прочий набор для работы с мультимедиа. Также есть возможность установки образов с используемыми средами рабочих столов KDE, Xfce, LXDE, MATE и Cinnamon.

Ubuntu – система основана на Debian GNU/Linux. По популярности Ubuntu занимает первое место среди дистрибутивов Linux, предназначенных для web-серверов. В состав дистрибутива входят: программа для просмотра Интернет; офисный пакет, программы для коммуникации и т.д.

Fedora – эта операционная система основана на дистрибутиве Linux от известной фирмы Red Hat. В состав дистрибутива входят LibreOffice, Mozilla Firefox, а также другое ПО, которое можно дополнительно установить через Цент Приложений GNOME.

Arch Linux – это свободно распространяемый дистрибутив GNU/Linux общего назначения. Особенностью данной системы является отсутствие графического установщика, что может изрядно потренировать навыки ярых исследователей Linux.

Gentoo Linux – один из популярных дистрибутивов GNU/Linux с гибкой технологией управления пакетами. В системе предусмотрена возможность максимальной оптимизации под конкретное аппаратное решение. Алгоритм управления пакетами даёт возможность легко реализовать как рабочую станцию, так и сервер.

RISC OS – операционная система специально разрабатывалась для процессоров с архитектурой АRМ. Особенности ядра RISC OS позволяют системе производить ускоренный запуск за счёт хранения данных в ПЗУ. Такой подход также помогает защитить данные при различного рода сбоях и влияния вредоносного ПО.

OpenELEC – это программный комплекс для организации домашнего кинотеатра под управлением GNU/Linux.

OSMC – ещё один комплекс для реализации домашнего кинотеатра.

В сети Интернет, помимо перечисленных операционных систем, можно найти ещё множество модификаций для самых различных предназначений. Но так как Raspbian является основной средой для Raspberry Pi, то в дальнейшем будем опираться именно на неё.

Установка Raspbian

Для установки операционной системы необходимо подключить к плате Raspberry Pi минимальный набор периферии, а именно: монитор, клавиатуру и мышь. Далее, необходима SD-карта с записанным образом Raspbian. Именно с неё и будет производится установка.

Для того, чтобы записать образ на карту памяти, её необходимо вставить в компьютер и отформатировать в системе FAT32. Сделать это можно как стандартными средствами Windows, так и сторонними программами, например – SD Memory Card Formatter. После чего, скачиваем дистрибутив операционной системы с официального сайта Raspberry. Для неопытных пользователей, доступна упрощённая версия установщика NOOBS. По окончании загрузки, архив необходимо распаковать в корень карты памяти. На этом подготовительный этап окончен.

Вставляем карту памяти в плату Raspberry Pi (клавиатура, мышь и монитор уже подключены) и подаём питание через разъём micro-USB. Начинается установка Raspbian, которая длиться порядка 10 минут. В это время от пользователя практически ничего не требуется кроме самых простых и интуитивно понятных действий, таких как выбор языка, ввод пароля и т.п. На завершающем этапе появиться меню, в котором можно выбрать тип пользовательского интерфейса (консольный или графический). Выбираем графический и завершаем установку нажатием кнопки Finish. Система попросит перезагрузиться и как следствие запуститься уже в более привлекательном виде.

Работа с GPIO

Как уже говорилось ранее, основной отличительной черной Raspberry Pi от обычного ПК, является наличие на плате портов общего назначения GPIO (General-purpose input/output). Пользователю доступна возможность управления этими выводами, а это значит, что к Raspberry Pi можно подключать дисплеи, кнопки, датчики, реле и прочие электронные модули, которыми можно манипулировать на своё усмотрение.

Внешне GPIO выполнен в виде двухрядной штыревой колодки с шагом 2,54мм, которая расположена на краю платы. Ранние модели, такие как В и А содержат 26 выводов, а более современные – 40. На рисунке №3 показан внешний вид портов общего назначения для платы Raspberry Pi 3В+ с указанием нумерации выводов.

vyvody_GPIO.jpg

Рисунок №3 – выводы GPIO

Но для того, чтобы полноценно использовать GPIO, знать их нумерацию недостаточно. Необходимо точно понимать где расположен тот или иной вывод, как он называется и за что он отвечает. На рисунке №4 приведена полная распиновка разъёмов GPIO для различных модификаций Raspberry Pi.

Рисунок №4 – распиновка GPIO в платах Raspberry Pi 

Как видно из вышеприведенного рисунка, на колодке помимо самих GPIO выведены штырьки с напряжениями 3,3V, 5V, а также выводы GND. Некоторые GPIO имеют альтернативные функции, назначение которых указано в синих блоках. К тому же нельзя нарушать нагрузочные способности порта, чтобы не вывести Raspberry Pi из строя. Следует помнить, что GPIO работает с напряжением 3,3V и максимальным током нагрузки 50mA на один вывод. Это означает, что любое превышение указанных параметров негативно скажется на работоспособности платы, поэтому лучше использовать гальваническую развязку между GPIO и внешним исполнительным устройством. То же самое относится и ко входным цепям, к которым применяются резистивные делители и всевозможные преобразователи уровней. На рисунке №5 показан пример правильного и неправильного подключения базовых элементов.

primery_pravilnogo_nepravilnogo_podklyucheniya.jpg

Рисунок №5 – примеры правильного и неправильного подключения 

В левой части рисунка прямое подключение светодиода приведёт к превышению максимально допустимого тока 50mA. Это, в свою очередь, выведет GPIO10 из строя. В правой части рисунка добавлен ограничительный резистор, который будет удерживать ток в допустимых рамках. Что касается кнопки, то может возникнуть ситуация, когда GPIO10 ошибочно будет сконфигурирован на выход, и её нажатие приведёт к прямому соединению 3,3V и GND. При добавлении резисторов R2 и R3 все выводы будут гарантировано защищены от перегрузок. Исходя из вышеизложенного можно сделать вывод, что мелочится в элементах защиты не стоит, так как работоспособность Raspberry Pi гораздо важнее кучки дешёвых резисторов.

Программирование GPIO

Операционная система Raspbian предлагает пользователям удобный модуль для программного управления GPIO. Называется он RPi.GPIO и является стандартным приложением. Перед его применением, модуль рекомендуется обновить. Сделать это можно набрав в консоли следующие строки:

sudo apt-get update

sudo apt-get install python-rpi.gpio

Чтобы иметь практическое представление о работе с GPIO, создадим небольшой проект, который заставит Raspberry Pi мигать светодиодом один раз в секунду, а при нажатии на кнопку увеличивать частоту мигания в 5 раз. Схема будущего проекта показана на рисунке №6.

skhema_upravleniya_svetodiodom.jpg

Рисунок №6 – схема управления светодиодом 

За управление светодиодом будет отвечать GPIO4, а за чтение состояния кнопки GPIO17.

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

nano /home/pi/led_key_test.py

Тем самым мы создаём файл «led_key_test.py» в директории «/home/pi». Как следствие откроется редактор, в который необходимо написать нижеследующий код.

#!/usr/bin/env python

# -*- coding: utf-8 -*-

# Подключение библиотек для работы с GPIO и организации задержек по времени

import time

import RPi.GPIO as GPIO

# Определение выводов GPIO, к которым подключены светодиод и кнопка

LED = 4

KEY = 17

# Сброс портов (все выводы настраиваются на вход — INPUT)

GPIO.cleanup()

# Режим нумерации пинов — по названию (не по порядковому номеру на колодке)

GPIO.setmode(GPIO.BCM)

# Настройка пина LED на выход (OUTPUT)

GPIO.setup(LED, GPIO.OUT)

# Установка логического (0) на выводе LED

GPIO.output(LED, GPIO.LOW)

# Настройка пина KEY на вход (INPUT)

GPIO.setup(KEY, GPIO.IN)

# Вывод приветствия на экран

print ‘Hello Raspberry Pi’

# Проверка на прерывание программы по нажатию (CTRL+C) на клавиатуре

try:

    # Бесконечный цикл

    while True:

        # Если кнопка нажата (на пине KEY логический 0)

        if GPIO.input(KEY) == False:

            # Выставляем задержку 0,1 сек. и выводим сообщение

            timeout = 0.1

            print ‘Key is pressed.’

        else:

            # иначе задержка — 0,5 сек.

            timeout = 0.5

        # Включаем светодиод

        GPIO.output(LED, GPIO.HIGH)

        # Задержка

        time.sleep(timeout)

        # Гасим светодиод

        GPIO.output(LED, GPIO.LOW)

        time.sleep(timeout)

# Если CTRL+C была нажата – сбрасываем порт и завершаем выполнение программы

except KeyboardInterrupt:

    GPIO.cleanup()

Ещё одной немаловажной особенностью программы Python является строгое соблюдение отступов (табуляций) при написании программ. Учитывайте это правило при создании своего кода.

Итак, переходим к последнему этапу. Чтобы выйти из редактора жмём CTRL+X и сохраняем программу нажатием «у» + ENTER. Осталось только сделать скрипт исполняемым. Для этого вводим в терминале следующие строки:

chmod +x /home/pi/led_key_test.py

/home/pi/led_key_test.py

Видим на экране приветствие и мигающий 1 раз в секунду светодиод. Теперь проверяем работоспособность кнопки, и если всё сделано правильно, то при её нажатии частота мигания возрастёт и возвратиться к прежней при её отпускании.

Часто задаваемые вопросы (FAQ)

Вопрос: Какие виды внешних устройств можно подключить к Raspberry Pi по Bluetooth-каналу?

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

Вопрос: Какой на Raspberry Pi установлен root-пароль по умолчанию?

Ответ: Всё зависит от операционной системы. К примеру, для Raspbian, паролем будет «raspberry».

Вопрос: Можно ли применить Raspberry Pi для управления 3D-принтером?

Ответ: По большому счёту, применить Raspberry Pi для управления 3D-принтером возможно, но не слишком удобно. Дело в том, что стандартные операционные системы, предназначенные для Raspberry Pi, не способны обеспечить RealTime-режим, необходимый для чёткой работы принтера. Другой преградой является недостаточное количество GPIO для подключения всей необходимой периферии без применения специальных плат расширения.

Вопрос: Как можно установить Apache, PHP, MySQL на Raspberry Pi?

Ответ: Этом можно сделать стандартными Linux-командами:

  • sudo apt-get install apache2 php5 libapache2-mod-php5

  • sudo apt-get install php5-mysqlnd

  • sudo apt-get install phpMyAdmin

Используемые источники:

  • https://lifehacker.ru/raspberry-pi/
  • https://sprut.ai/client/article/1536
  • https://3d-diy.ru/wiki/arduino-platy/obzor-plat-raspberry-pi/

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации