Raspberry Pi:Введение. Применение Raspberry Pi в быту и нестандартные применения

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Sudo apt-get update sudo apt-get upgrade

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

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

Sudo rpi-update

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

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

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

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

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

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

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

Sudo leafpad

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

#disable_overscan=1

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

Disable_overscan=1

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

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

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

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

Sudo raspi-config

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

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

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

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

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

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

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

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

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

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

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

Setxkbmap us,ru -option grp:alt_shift_toggle

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

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

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

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

Sudo leafpad

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

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

XKBLAYOUT="gb" XKBOPTIONS=""

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

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

Sudo apt-get install gxkb

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

Sudo leafpad

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

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

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

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

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

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

Компания Raspberry Pi Foundation представила новую версию мини-компьютера Raspberry Pi без особой шумихи, сообщив об этом только в своем блоге. Популярный гаджет, как и в предыдущей версии, предлагает улучшенное аппаратное обеспечение, при этом стоимость остается неизменной - всего около 2500 рублей ($35).

Самое значительное обновление в Raspberry Pi 3 - 64-битный процессор ARM Cortex-A53 с номинальной частотой 1,2 ГГц. По данным производителя компьютера, он должен работать в 10 раз быстрее установленного в первой версии Raspberry Pi чипа и в среднем на 50–60% быстрее процессора Raspberry Pi 2.

Проведенные нами измерения подтвердили увеличение быстродействия (см. график ниже). На практике превосходство нового Pi 3 над предшественниками колеблется от 2,5-кратного (однопоточные приложения) до 20-кратного (видеокодеки). Мощный процессор дополнен гигабайтом оперативной памяти.

Два других нововведения также порадуют потенциальных покупателей и любителей конструировать компьютерные системы своими руками. В модель Pi 3 впервые встроена поддержка беспроводных сетей 802.11n и Bluetooth 4.1. Кроме того, новая версия совместима с предыдущими, так как новый Broadcomm-SoC (BCM2837) базируется на той же архитектуре, что и процессоры моделей-пред­шественников.


Очень экономичный ПК

В остальном мало что изменилось: слоты, разъем питания Micro-USB на 5 В и 32-битная ОС Raspian Linux. В ближайшие месяцы компания Raspberry Pi Fo­un­dation рассмотрит вопрос перехода на 64-битную версию Linux.

Повышение производительности должно слегка компенсировать повышенный расход энергии мини-компьютера: потребление мощности Pi 3 под нагрузкой на 0,3 Вт выше, чем у предшественника. Однако даже с измеренным значением, составившим 2,9 Вт, устройство по-прежнему остается крайне экономичным в использовании. Для измерения потребляемой мощности мы в ходе тестирования воспроизводили фильм с разрешением Full HD (1920х1080 точек), используя медиацентр OpenElec/Kodi.

На веб-сайте www.raspberrypi.org вы найдете различные операционные системы, которые можно использовать в мини-компьютере Pi 3. Самым простым вариантом является ОС Image Noobs: в ней доступны все необходимые опции, которые можно выбрать через меню «Пуск».


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

Если Raspberry Pi 3 планируется использовать в гостиной, следует выбирать OpenElec. При этом речь идет об ОС на базе популярного медиацентра Kodi (ранее известного как XBMC) с шикарным пользовательским интерфейсом, множеством замечательных функций и бесчисленными плагинами, которые значительно расширяют возможности устройства.

В ходе тестирования система OpenElec работала без сбоев, «тормозящих» меню не наблюдались. Воспроизведение фильма с разрешением 1920х1080 точек с сетевого ресурса также происходило без проблем: фильм запускается относительно быстро и воспроизводится без рывков и пауз на загрузку. Впрочем, если ваша домашняя сеть не выдает высоких скоростей, лучше будет дождаться предварительной загрузки фильма.

Для работы с мини-компьютером Raspberry Pi 3 вам понадобится внешний блок питания Micro-USB. Мы рекомендуем использовать модель с силой тока не менее 2 А при напряжении 5 В. Кроме того, вам потребуется карта памяти microSD не менее 8 Гбайт, на которую устанавливается ОС. Если вы планируете работать с большим количеством файлов, лучше сразу установить 128 Гбайт памяти. А для максимальной скорости работы рекомендуется карта не ниже 10 класса.


Windows 10: Если вам привычнее работать в ОС от Microsoft, ничто не помешает установить ее и на Raspberry Pi 3.

Адаптированная Windows 10

Для запуска Raspberry Pi 3 компания Microsoft предлагает обновление в виде адаптированной под мини-ПК версии Windows 10: Windows 10 IoT Core Insider Preview. Версия Windows 10 IoT Core была разработана специально для «Интернета вещей» (Internet of Things, IoT), а также для малогабаритных устройств с дисплеем или без него. Компания Mi­crosoft разъясняет преимущества: данная версия ОС обеспечивает широкие функциональные возможности Windows, автоматическое обновление, мощные функ­ции безопасности и может управляться обычными инструментами администратора.

Raspberry Pi 3 - это существенный шаг вперед: теперь производительности компьютера достаточно, чтобы собрать компактный, функциональный и мощный мультимедийный плеер. Благодаря интегрированному модулю Wi-Fi и специально разработанной ОС OpenElec, маленький «компьютер для рукодельников» способен стать мощной домашней развлекательной машиной.

Однако пользователи, имеющие в своем распоряжении Raspberry Pi 2, не обязательно должны переходить на новую модель. Лишь тем, кто только-только обратил свое внимание на эту тему или до сих пор пользовался Raspberry Pi первого поколения, в любом случае стоит взять Raspberry Pi 3 Model B.

Рисунок 1. Блочная диаграмма аппаратной части системы

Описание процесса монтажа аппаратной части системы занимает много времени, но является достаточно простым. В первую очередь следует соединить блок питания с стенной розеткой с помощью удлинителя, отрезав розетку это удлинителя. Зачистите провода и закрепите их с помощью винтов в терминалах блока питания. Далее соедините Raspberry Pi с блоком питания, отрезав разъем типа A от кабеля USB и соединив провода с соответствующими выводами блока питания, и вставьте разъем micro USB в разъем питания RPi. После этого следует зачистить оба конца двух жил гибкого кабеля и соединить их с соответствующими терминалами с обозначениями GND и JDVcc блока питания и блока реле. Наконец, следует удалить джампер, соединяющий вывод с обозначением JDVcc с выводом с обозначением Vcc. В том случае, если вы не удалите этот дампер, на предназначенные для напряжения 3.3 В выводы RPi будет подано напряжение в 5 В, которое с высокой вероятностью выведет компьютер из строя.

Теперь, когда питание подведено ко всем терминалам, следует соединить линии IN1-IN8 модуля реле с соответствующими выводами разъема GPIO с помощью гибкого кабеля таким образом, как показано на Рисунке 2. Представленный в данной статье код был разработан для случая, когда выводы IN1-IN7 соединены с выводами GPIO1-GPIO7. В том случае, если вы решите соединить данные выводы по-другому, вам придется модифицировать соответствующим образом ваш код.

Схема расположения выводов разъема GPIO Raspberry Pi приведена на Рисунке 2. На порты ввода-вывода Raspberry Pi подается напряжение 3.3 В, а модуль реле работает с напряжением 5 В. Однако, реле изолированы от выводов GPIO Raspberry Pi при помощи оптопар. На оптопары может подаваться напряжение 3.3 В с вывода Vcc. На вывод Vcc модуля реле может быть подано напряжение 3.3 В с разъема GPIO Raspberry Pi. Убедитесь в том, что вы убрали джампер, замыкающий выводы Vcc и JDVcc модуля реле. На вывод JDVcc должно подаваться напряжение 5 В для корректной работы реле. Рассматриваемый модуль реле размыкает контакты в активном состоянии. Из этого следует, что вы должны заземлить терминалы IN1-IN8 для включения реле.

Рисунок 2. Схема расположения выводов разъема GPIO Raspberry Pi

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

Обрежьте остатки кабелей удлинителей с вилками и закрепите провода в соответствующих терминалах модуля реле. Также подключите провода кабеля, который впоследствии будет связывать систему со стенной розеткой, к соответствующим терминалам модуля реле. Вся аппаратная часть системы может быть размещена в пенале или аналогичном контейнере. Подумайте о корпусе заранее, чтобы по окончании работы над аппаратной частью системы избежать необходимости в отсоединении и повторном присоединении проводов к терминалам модуля реле. Кроме того, я вставил несколько закрепляемых с помощью винтов зажимов для кабелей в соответствующие отверстия корпуса для ограничения натяжения кабелей (Рисунок 3).

Рисунок 3. Монтаж аппаратной части системы

Программное окружение

Я начал создание своего программного окружения с установки образа операционной системы Raspbian. Перед началом установки образа операционной системы вам потребуется подготовить дисплей, поддерживающий передачу изображения по HDMI, клавиатуру и мышь с разъемами USB, а также сетевой кабель для соединения с системой по протоколу Ethernet. Также вы можете установить соединение с системой посредством адаптера Wi-Fi. Создайте загрузочную SD-карту для первой загрузки системы в соответствии с инструкциями, приведенными на ресурсе http://www.raspberrypi.org/documentation/installation/installing-image . В процессе первой загрузки системы установщик осуществит настройку операционной системы и разместит данные из ее образа на всем доступном пространстве карты памяти. После первой загрузки вы должны иметь возможность входа в систему с помощью стандартных данных учетной записи пользователя (имя пользователя "pi" и пароль "raspberry").

Обновление системы является разумным действием, которое должно выполняться сразу же после успешного входа в систему. Образ операционной системы Raspbian базируется на пакетах программного обеспечения дистрибутива Debian и использует приложение aptitude в качестве менеджера пакетов программного обеспечения. Кроме того, вам понадобятся пакеты программного обеспечения с именами python , pip и git . Я также мог бы порекомендовать установку Webmin для упрощения процесса администрирования системы. Инструкции по установке Webmin приведены на ресурсе http://www.webmin.com/deb.html (следуйте рекомендациям, приведенным в разделе "Using the Webmin APT repository"):

Sudo apt-get update && sudo apt-get dist-upgrade sudo apt-get install python python-pip git git-core

После этого вам придется настроить соединение с использованием адаптера Wi-Fi. Вы можете найти подробные инструкции на ресурсе http://www.raspberrypi.org/documentation/configuration/wireless . Я рекомендую использовать вариант wicd-curses . На данном этапе вы можете изменить параметры настройки Raspberry Pi с помощью команды sudo raspi-config . После ввода данной команды вы получите доступ к удобному графическому интерфейсу, который позволит вам установить значения таких параметров, как объем оперативной памяти, разделяемой с графическим процессором, параметры быстродействия центрального процессора, режим использования графического интерфейса в процессе загрузки и других.

Другим полезным инструментом является интегрированная среда разработки Cloud 9 IDE . Cloud 9 IDE позволит вам редактировать свой код на уровне Raspberry Pi посредством веб-браузера. Данная интегрированная среда разработки также предоставит вам доступ к интерфейсу командной строки в рамках веб-браузера. Вы можете разрабатывать и исполнять любой код, не покидая свой веб-браузер. Интегрированная среда разработки Colud 9 IDE требует наличия определенной версии фреймворка NodeJS. Использование неподдерживаемой версии фреймворка повлечет за собой постоянные аварийные завершения работы сервера Cloud 9, которые могут привести любого пользователя в уныние. Инструкции по установке фреймворка NodeJS на компьютер Raspberry Pi приведены на ресурсе http://weworkweplay.com/play/raspberry-pi-nodejs .

Программное обеспечение

Я решил создавать пользовательский интерфейс своей системы с использованием технологий HTML5, CSS3 и JavaScript. Комбинация трех упомянутых технологий является мощным инструментом для создания пользовательских интерфейсов. Язык программирования JavaScript позволяет использовать простой API для взаимодействия с серверами. Кроме того, существует множество библиотек для языка программирования JavaScript, таких, как JQuery, Bootstrap и других, из которых можно выбрать наиболее подходящую. HTML5 предоставляет API WebSocket, позволяющее веб-браузеру поддерживать соединение в рабочем состоянии и осуществлять обмен данными посредством этого соединения. Это обстоятельство делает API WebSocket особенно полезным для реализации динамических приложений и приложений для потоковой передачи данных, таких, как игры и чаты. Каскадные таблицы стилей CSS полезны для стилизации различных элементов страницы HTML. В случае корректного использования они позволяют создавать динамические пользовательские интерфейсы путем изменения стилей элементов страниц при наступлении тех или иных событий. Для данного проекта я выбрал фреймворк JQuery для обработки событий, Bootstrap CSS для размещения кнопок в форме сетки и язык программирования JavaScript для реализации механизмов обмена данными на основе API WebSocket.

Библиотеки

Серверное приложение, работающее на уровне Raspberry Pi, должно управлять состоянием выводов разъема GPIO платы Raspberry Pi. Оно также должно предоставлять интерфейс HTTP для передачи данных графического интерфейса и интерфейс WebSocket для передачи сообщений с командами и данными состояния. Готового к установке серверного приложения с такими специфическими функциями попросту не существует, поэтому я принял решение о создании своей собственной реализации сервера с использованием языка программирования Python. Для упрощения разработки описанного серверного приложения с использованием языка программирования Python доступны модули с реализациями методов для работы с интерфейсом GPIO Raspberry Pi, для создания сервера HTTP и для работы с интерфейсом WebSockets. Так как все перечисленные модули предназначены для выполнения поставленных задач, мне пришлось разработать минимальный объем кода.

Однако, упомянутые модули не включены в комплект поставки интерпретатора Python и должны устанавливаться отдельно. В первую очередь вам понадобится модуль для управления состоянием выводов разъема GPIO Raspberry Pi. Простейший способ изменения состояния выводов данного разъема заключается в использовании библиотеки RPi.GPIO, доступной по адресу https://pypi.python.org/pypi/RPi.GPIO . Вы можете установить соответствующий модуль с помощью следующей команды:

Sudo pip install RPi.GPIO

Работа с модулем RPi.GPIO не связана с какими-либо сложностями. Вы можете найти примеры использования данного модуля по адресу . На первом шаге работы с модулем необходимо осуществить импорт его кода в код проекта. После этого вам придется выбрать режим работы. В качестве идентификатора режима работы может использоваться либо константа GPIO.BOARD, либо константа GPIO.BCM. Выбор режима работы обуславливает использование чипа BCM или выводов разъема ввода-вывода при ссылках на номера выводов во всех последующих командах. Далее следует указать, используются ли выводы из рассматриваемого разъема для ввода или вывода. Теперь вы можете использовать выводы данного разъема по назначению. Наконец, вам придется осуществить вызов метода cleanup() для сброса состояния выводов разъема GPIO. В Листинге 1 показан простейший пример использования модуля RPi.GPIO.

Листинг 1. Использование модуля RPi.GPIO

Import RPi.GPIO as GPIO # импортирование кода модуля в код проекта GPIO.setmode(GPIO.BOARD) # указание на то, что нумерация используется для обозначения выводов разъема GPIO.setup(0, GPIO.IN) # указание на то, что канал 0 будет использоваться для ввода GPIO.setup(1, GPIO.OUT) # указание на то, что канал 1 будет использоваться для вывода var1=GPIO.input(0) # чтение состояния канала 0 GPIO.output(1, GPIO.HIGH) # установка логической единицы на канале 1 GPIO.cleanup() # сброс состояния выводов разъема GPIO.

Миникомпьютер Raspberry Pi продолжает становиться все лучше и лучше с каждым годом. Обычно коммерческие продукты получают обновления, потому что компания видит в этом свою прибыль.

Но с Paspberry Pi Fundation и Pi 3 ситуация совсем другая. Во-первых это благотворительная организация. Одноплатный компьютер Paspbery Pi дешевле даже чем новая игровая приставка PS4. Цель этой компании - образование и создание культуры, а не получение миллиардов.

Paspberry Pi 3 - почти идеальное обновление для Pi 2. Если выполнять сравнение raspberry pi 2 и pi 3, то мы получаем больше мощности, встроенный Wifi и Bluetooth. И что самое главное - без повышения цены. Здесь есть все компоненты, которые мы хотели и ничего лишнего. Давайте сделаем небольшой обзор Raspbery Pi 3.

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

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

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

Как обычно, вы можете использовать тот же кабель питания (MicroUSB) и те же карты памяти (MicroSD), что и для большинства смартфонов на базе Android. Для устройства, которое должно испугать всех технофобов, это вполне нормально.

Новые возможности

Одним из самых важных моментов Raspberry Pi 3 - есть его повышенная мощность, а также поддержка wifi и Bluetooth. Это те две вещи которые нам раньше приходилось подключать к USB, чтобы сделать небольшой домашний медиаплеер или небольшой медиа центр.

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

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

Как начать?

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

На веб сайте Raspberry Foundation все очень подробно расписано, так чтобы все смогли понять новички, студенты и преподаватели, желающие начать разрабатывать собственные проекты. Есть даже уже готовые карты памяти с записанными Openelec и OSMC, а также новыми версиями медиа центра XBMC. С минимальными усилиями вы можете превратить Raspberry Pi в ультрадешевый медиа центр за 30 минут.

Linux

Официальная ОС Raspberry PI - Raspbian, основана на Linux, а точнее Debian. Несмотря на присутствие графического интерфейса, здесь больше количество действий делается через терминал. Но если вы еще недостаточно разбираетесь в Linux, то на официальном сайте есть достаточно руководств на эту тему и вы можете все освоить.

Еще одна интересная вещь, это Noobs. Это несколько файлов, которые нужно записать на карту памяти, они позволяют автоматически установить Raspbian и почти все что вам еще понадобится, в том числе дополнительное программное обеспечение, офисный пакет и даже Minecraft.

В стандартной комплектации также поставляется браузер, под названием Epiphany, и хотя он работает не настолько быстро как на ноутбуке или планшете, уже заметно быстрее чем на Raspberry Pi 2. Вы можете использовать Raspberry Pi 3 как недорогой персональный компьютер. И он будет испытывать ваше терпение гораздо меньше чем любой другой Pi до этого времени. Если вы заметили замедление, значит вы пытаетесь сделать несколько вещей за один раз. Браузер работает достаточно быстро, белую страницу мы видим лишь мгновение, потом загружается контент. Его уже можно использовать.

В Raspberry Pi 3 есть все необходимые порты. Как и раньше есть четыре USB входа, а это больше чем в некоторых ноутбуках, порт Ethernet и разъем HDMI для подключения к телевизору или монитору. А теперь еще и появилась подключать по Wifi и Bluetooth дополнительные контроллеры, мышки и клавиатуры. Для истинных Pi гиков есть разъемы GPIO и камеры.

Основные улучшения

Пожалуй, самым важным улучшением есть мощность. Но когда вы просто смотрите на цифры, разница может быть не очень ощутима. Raspberry Pi 2 имеет четырехъядерный процессор Qualcomm 900GHz, 1 Гб оперативной памяти и GPU VideoCore IV. В новой версии тоже четырехъядерный процессор, но на этот раз уже 1,2 ГГц на чипе BCM2837 тоже 1 Гб ОЗУ и GPU VideoCore IV.

Но увеличение мощности не ограничивается цифрами частоты. Raspberry Pi 2 использует уже старый процессор Cortex-A7. Смартфоны с этим процессором самые медленные в мире. Для сравнения Pi 3 имеет Cortex-A53, а этот процессор используется в смартфонах начального и среднего уровня. Также Pi теперь поддерживает 64 бит.

Частота GPU также увеличена из 250 Мгц до 400 МГц, а ОЗУ от 450 МГц до 900 МГц. Поскольку вместо Android здесь используется Linux то производительность заметна еще больше.

Игры в Raspberry Pi

Лучший способ увидеть как улучшилась производительность Raspberry Pi 3 - это попытаться запустить некоторые игры. Для классических игр N64 из EmulationStation производительность значительно улучшилась, по сравнению с предыдущем поколением Paspberry Pi.

Наиболее значимые изменения, это то что игра The Legend of Zelda: Ocarina of Time, которая еле работала на Raspberry Pi, сейчас работает более-менее хорошо, с незначительным проседанием частоты кадров. Да, это в 2016 году мы пытаемся запустить игры 1996 года. Но не забывайте что для эмуляции необходимо в десять раз больше ресурсов чем для оригинальной машины.

Raspberry Pi 3 определенно улучшенная версия того предыдущей и это хорошо. Для многих, разочарованием стало что, что при использовании того же класса GPU до сих пор поддерживается видео только 1080р, а не 4k. Если вы хотите именно 4k, то вам нужно NVIDIA Shield, а не Raspberry Pi 3.

Raspberry Pi для кодинга

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

Выводы

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

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

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

Raspberry Pi был представлен в двух комплектациях: модель «A» и модель «B». Обе версии оснащены ARM11 процессором Broadcom BCM2835 с тактовой частотой 700 МГц и модулем оперативной памяти на 256 Мб / 512 Мб. Модель «A» оснащается одним USB 2.0 портом, модель «B» - двумя. У модели «B» присутствует порт Ethernet. Процессор BCM2835 включает в себя так же графическое ядро. Вывод видеосигнала производится через композитный разъём RCA или через цифровой HDMI-интерфейс.

Файловая система, образ ядра и пользовательские файлы размещаются на карте памяти SD, MMC или SDIO. Наибольшую привлекательность у Raspberry Pi вызывает низкое энергопотребление (5В / 700mA), наличие портов ввода/вывода GPIO с интерфейсами I2C, SPI, UART, а так же возможность удаленной работы через Ethernet.

В настоящее время выпускается только модель «В» с 512 Мб оперативной памяти и поддержкой Ethernet. Кроме того, в продаже появилась новая версия, которая отличается от предыдущей модели «В» более компактным размещением компонентов, наличием 4 портов USB, увеличением количества портов ввода/вывода GPIO и отсутствием композитного видеовыхода. Внешний вид модели «В» и новой модели компьютера Raspberry Pi показан на рис. 1

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

Raspberry Pi вполне подойдет для применения в качестве домашнего медиа-сервера, сервера хранения данных, «мозга» робота или станка, сервера домашней автоматизации (или ).

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

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

Умный дом - сложная «многоконтурная» система, которая помимо выполнения различных сценариев, заданных пользователем, может принимать различные решения в зависимости от той или иной нештатной ситуации. Другими словами - это «мыслящая» (разумеется, на машинном уровне) система. А в последнее время называю «умным домом» что угодно - например, датчик протечки воды, управление светом по датчикам движения и т.д. Да, это все отдельные компоненты умного дома, но никак не умный дом в целом.

Итак, рассмотрим структуру построения системы домашней автоматизации с применением Raspberry Pi (рис.2).

Рис. 2 Структура построения системы домашней автоматизации с применением Raspberry Pi (для увеличения нажмите на рисунок)

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

Преимущество такой сетевой архитектуры состоит в том, что нет необходимости тянуть провода от каждого устройства к серверу, а достаточно соединить контроллеры, к которым они подключены, одним кабелем UTP - одна пара проводов которого используется для интерфейса RS485, а остальные пары - для питания контроллеров и датчиков. Кроме того, логика работы задумывается так, что выход из строя любого контроллера или даже центрального сервера не должен повлиять на работоспособность остальной системы.

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

К последовательному порту UART Raspberry Pi через согласующее устройство по интерфейсу RS485 подключаются контроллеры, имеющие различный набор вводов/выводов. Кроме этого, к RS485 может подключается GSM модем для доступа к системе через сотовую или стационарную телефонную сеть на случай, если в точке, где находится пользователь, нет возможности получить выход в интернет. Доступ к системе в этом случае также выполняется через ввод пароля.

Еще одним устройством в сети RS485 является радиомодуль. Его назначение - привязка к общей системе автоматизации всех радиодатчиков и радиопультов дистанционного управления.

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

    Восьмиканальный контроллер температуры и влажности. Контроллер позволяет собирать показания температуры и влажности с одного датчика DHT22 и семи датчиков DHT11;

    Четырехканальный терморегулятор (термостат). Контроллер может управлять 4 нагрузками как в ручном режиме, так и по заданным параметрам температуры. Ввод значений температуры возможен как непосредственно на контроллере, так и удаленно через web-интерфейс. Режимы прямого и обратного типа управления каналами позволяют использовать контроллер как для управления нагревом, так и охлаждением;

    Радиомодуль используется для эмуляции радиобрелков и сбора информации с радиодатчиков. Позволяет эмулировать до 5 радиобрелков и принимать данные с 10 радиодатчиков;

    Универсальный контроллер. Имеет 4 независимых входа и выхода и два входа подключения датчиков температуры и влажности DHT11 и DHT22.

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




Top