Raspberry Pi - ваш второй компьютер. Применение Raspberry Pi для домашней автоматизации

Скачать на Телефон 14.07.2019
Скачать на Телефон

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

Основную модель, Raspberry Pi 2 B, в Китае можно найти за 32 доллара (у официального поставщика - 50 долларов с учётом доставки). Вполне гуманный ценник для подобного многофункционального устройства.

Так что же представляет собой нашумевшая «Малинка»?

Внешне Raspberry Pi 2 представляет собой небольшую плату чуть больше банковской карты. Мозгом нашего одноплатника является четырёхъядерный ARM Cortex-A7 с частотой 900 МГц. При желании можно и разогнать немного при помощи встроенной утилиты. Кроме этого, на плате распаян гигабайт памяти, из которого до 128 МБ можно выделить для работы видеоядра.

Процессор: ARM Cortex-A7
Частота: 0,9 ГГц
Количество ядер: 4
Объём оперативной памяти: 1 ГБ
Графический чипсет: интегрированный VideoCore IV 3D
Звуковой контроллер: интегрированный
Внешние порты: 4 USB, 1 HDMI, 1 Audio Jack (Mic in/Headphone out), 1 LAN
Кардридер: microSD
Необходимое питание: 5 В, 1 А через microUSB/12 В, 2 А через дополнительный штекер
Дополнительно: Camera interface (CSI), Display interface (DSI), 40 GPIO pins

Видеовыход - HDMI. От аналогового RCA, имевшегося в прежних версиях, разработчики отказались (но не совсем: при помощи хитрого кабеля можно вывести аналоговый сигнал на старый телевизор через разъём 3,5 мм). Зато плата оборудована четырьмя слотами USB. Каждый порт способен выдавать ток силой до 1,2 А. Правда, для этого Raspberry нужно запитывать от блока питания 2 А. Если такая сила тока не нужна, можно включить «Малинку» даже в обычный USB-порт компьютера мощностью 2,5 Вт (5 В × 0,5 А).

На нижней стороне рассматриваемой нами модели, в отличие от первого поколения, расположен слот microSD (когда-то был SD). Именно флешка является основным загрузчиком системы и устройством для записи по умолчанию. К сожалению, Raspberry Pi 2 не обладает беспроводными интерфейсами, есть только Ethernet, хотя можно вставить Wi-Fi-донгл.

Главное, что отличает Raspberry от обычного компьютера, - наличие дополнительных выводов. Их много. Благодаря отдельным выводам с защёлками можно подключить камеру (CSI) и дисплей (DSI). Оба периферийных устройства будут работать напрямую с видеоядром и процессором. А ещё есть 40 выводов GPIO: интерфейса ввода-вывода общего назначения. С его помощью можно подключать всё и менять назначение входов-выходов на лету.

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




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

Главным отличием Raspberry от многих более продвинутых одноплатных компьютеров, например Cubietruck с SATA, стала отличная поддержка: причёсанные дистрибутивы, огромное количество готового кода для собственных разработок, унифицированные комплектующие и куча соратников, которые всегда рады помочь в любом, даже самом сложном или глупом проекте.

Официальной операционной системой для Raspberry является вариант Debian - Raspbian . Сейчас в нём есть даже встроенный маркет приложений, так что использование «Малинки» нельзя назвать сложным. На официальном сайте Raspberry Pi, помимо Raspbian, можно скачать и несколько других дистрибутивов Linux: Debian Wheezy, Ubuntu MATE, Fedora Remix.

Raspbian представляет собой набор лишь нескольких базовых приложений для работы. Прочие дистрибутивы более функциональны, но есть значительная оговорка: возможна работа только с ARM-версиями программ. Производительности и функциональности устройства достаточно для использования Raspberry Pi 2 в качестве обычного офисного компьютера. Благодаря отличному видеоядру Pi 2 можно превратить в домашний медиасервер: мощности чипа вполне хватает для декодирования видео 1 080p. Пользователям доступны две программы-медиацентра: OpenELEC и OSMC .

Хватит производительности ПК и для эмуляции PlayStation 1 с использованием RetroPie . Кстати, в родной Raspbian есть специальная версия Minecraft . А отчаянным гикам может пригодиться бесплатная версия Wolfram Mathematica .

Есть на Raspberry Pi 2 и свой дистрибутив Windows 10 . К сожалению, эта система не обладает графическим интерфейсом и позволяет управлять собой только удалённо, подключаясь через PowerShell (нет даже командной строки). При этом можно запускать 32-битные приложения.

Установка системы

Для использования Raspberry в качестве ПК необходимо подключить монитор, клавиатуру, мышку и питание от microUSB. В слот для карт памяти необходимо вставить microSD с установленной системой: образ скачивается с официального сайта и монтируется на карту специальной утилитой. Также можно использовать программу NOOBS : её нужно скачать с официального сайта, предварительно отформатировав карту (официальная инструкция).

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

Что делать потом

Назначений Raspberry Pi 2 и готовых проектов не перечесть. Микрокомпьютер можно заставить работать практически с любой периферией, выводить изображение куда угодно. В следующей статье попробуем подключить к 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, а так же на материалы, в которых описывается технология изготовления контроллеров, о которых рассказывалось выше. Хотелось бы отметить, что данный проект является полностью некоммерческим, с открытыми источниками по схемным и программным решениям и с техподдержкой на форуме.

2. Беспроводная точка доступа
Настройте доступ к сети с помощью Raspberry Pi. По желанию вы также сможете создать отдельную гостевую сеть. Для этого вам нужны SD-карта, сетевой USB-адаптер и немного навыков кодинга, чтобы всё правильно настроить.

3. Тачскрин для приборной панели авто

Если вы готовы потратить достаточное количество времени, попробуйте создать на базе Raspberry Pi сенсорную панель, которая сэкономит вам несколько сотен долларов. Благодаря открытому софту XBMC Media Center вы сможете проигрывать музыку, смотреть видео и фото, а также много чего ещё (только не забывайте следить за дорогой).

4. Робот
Если у вас есть лишний контроллер для Nintendo Wii, то можно использовать его для создания собственного робота - только его внешний облик полностью зависит от вашей фантазии и доступных материалов. Вам также понадобиться шасси и контроллер мотора, чтобы робот мог двигаться.

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

6. Стратостат

Благодаря прикреплённому к аэростату Raspberry Pi можно запечатлеть невероятной красоты кадры из стратосферы. Отслеживать за его перемещением можно с помощью GPS, а снимки получить удалённо, если устройство-таки затерялось.

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

8. Фотокамера

Есть несколько разных способов сделать простую фотокамеру на базе Raspberry Pi. И чем больше времени вы потратите на её создание, тем лучше результат. Если вы сможете перепаять элементы на плате, у вас может получиться тонкая камера с TFT-экраном в корпусе, распечатанном на 3D-принтере. Как это сделать? Смотри видео.

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

10. Передатчик азбуки Морзе

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

11. Метеостанция
Компактная, дешёвая, с малым расходом энергии - Raspberry Pi идеально подходит для создания собственной метеостанции. После этого вам больше не придётся полагаться на прогноз погоды по ТВ. Правда, понадобится немного «железа», но всё не так сложно, как может показаться на первый взгляд.

12. Скворечник

Коробка плюc Raspberry Pi - и у вас появится возможность наблюдать, как живут птицы. Можно даже настроить онлайн-стрим. Среди необходимых деталей - инфракрасные светодиоды и модуль камеры NoIR.

13. Wi-Fi-печь

Для создания этой буржуйки Джеймс Гао взял старую электропечь, Raspberry Pi и детали, распечатанные на 3D-принтере. С помощью системы обратной связи с замкнутым контуром осуществляется удалённое управление, а также автоматически регулируется уровень температуры (для этого нужны термопара и шаговый мотор).

14. Ретро игровая консоль
Raspberry Pi легко можно превратить в консоль, карманный компьютер или олдскульный игровой автомат. Самый простой способ - загрузить эмулятор на SD-карту и подключить USB-контроллеры. Можно уложиться за час, RetroPie вам в помощь.

15. Булава для жонглирования

Вдруг среди вас есть те, кто увлекается жонглированием, и вам хочется внести разнообразие в это хобби. Вы можете «оживить» булаву (или шар) с помощью светодиодов. Понадобятся SD-карта, плата Pibrella и кусок кода на Python. Выглядит необычно.

16. Цифровой сад

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

Перевод материала «16 Fun Projects for Your New Raspberry Pi » с fieldguide.gizmodo.com.

Рисунок 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 был основан в 2011 году и изначально был предназначен для использования в сфере образования. Предполагалось, что это будет малая партия низкобюджетных компьютеров для обучения основам информатики и программирования. Совершенно неожиданно для создателей проект стал чрезвычайно популярным, и энтузиасты находят широкое применение этим одноплатным малюткам.

Сердцем этого маленького компьютера являются процессоры архитектуры ARM , поэтому большинство используемых на нем операционных систем построены на базе Linux. Основной официальной ОС для Raspberry Pi является . Это дистрибутив Linux основанный на Debian и оптимизированный под используемые компоненты «железа». Набор приложений и утилит, собранный в этом дистрибутиве, является базовым и предназначен, в основном, для ознакомительного изучения способностей компьютера.

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

  • Ubuntu Mate;
  • Ubuntu Snappy;
  • OSMK;
  • LibreELEC;
  • Risk OS;
  • Windows 10 IoT Core.

Размеры и характеристики

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

Для версии Raspberry Pi два, они выглядят следующим образом:

  • габаритные размеры 8,56 на 5,65 сантиметров;
  • ARM процессор с четырьмя ядрами и рабочей частотой 900 мегагерц;
  • графическая подсистема Videocore 4;
  • размер оперативной памяти - один гигабайт;
  • питание по разъему micro-USB;
  • картридер формата SD;
  • видеовыход стандарта HDMI;
  • аудиоразъем 3,5 мм;
  • Ethernet RJ-45, стандартный кабельный разъем со скоростью передачи данных до 100 Мб/сек;
  • четыре порта USB версии 2,0.

Краткий обзор основных доступных OS

Основанная на пакетах Debian OS система. В качестве графической оболочки используется легкая среда Mate (Мята). Версия работает на Raspberry Pi версиях 2 и 3, в основе лежит стабильный релиз Ubuntu 16.04. Содержит полный набор программного обеспечения, включая свободный офисный пакет LibreOffice и браузер Firefox . Поддерживает Wi-Fi и аппаратное ускорение видео, используя в качестве медиапроигрывателя программу VLC .

Еще одна версия ОС, основанная на стабильной ветке Убунту. Представляет собой значительно уменьшенный вариант оригинальной системы. Включает необходимые инструменты разработки для интернета вещей (IoT) и предназначена, в том числе, для работы на Raspberry Pi. Максимально подходит для реализации проектов умного дома.

Open Source Media Center

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

LibreELEC

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

Risk OS

Разработанная еще в прошлом веке компанией Acron Computers ОС. Впоследствии именно она создала архитектуру процессора ARM, на которой и основан данный миникомпьютер. Поддерживает использование целого ряда инструментов разработки и имеет собственную базу программного обеспечения, несвязанную с Debian и другими направлениями Linux.

Дистрибутив, основанный на проекте Fedora, свободной версии коммерческого RedHat Linux. В отличии от Debian основной формат пакетов этой ОС имеет расширение RPM. Специально оптимизирован для использования на процессорах ARM и содержит несколько сред для разработки ПО.

Windows 10 IoT Core

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

Свежие разработки ОС

Raspberry все активнее позиционируется как устройство, которое обладает возможностью применения в «умном доме». Обладая малыми габаритами и широкими возможностями настройки, эта платформа представляет интерес для компаний, ведущих разработки в этой перспективной области. Вслед за Майкрософт свое внимание на нее обратил и вездесущий Google . В 2016 году было официально объявлено о начале разработки для Raspberry Pi приложений Android . Хотя стабильной версии пока не выпущено, существует несколько неофициальных сборок, позволяющих установить на Raspberry Pi 2 Android TV или ОС Андроид 6.0.

Параллельно ведутся разработки еще двух операционных систем - Chromium и Sailfish , которые также позволяют использовать андроид-приложения с расширениями apk. Последнюю, кстати, одно время активно поддерживали в России с целью разработки на ее основе конкурентоспособной мобильной операционной системы с отечественными корнями.

Особенности установки ОС

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

Для установки потребуется карта SD с NOOBS , специальной программой-инсталлятором, содержащей несколько рекомендованных разработчиком платы дистрибутивов. Такую карту можно приобрести, в этом случае на ней уже будет установлен NOOBS и OS Raspbian, а можно и изготовить самому. Для этого потребуется использовать обычный компьютер с подключенным картридером и, скачав NOOBS с официального сайта, подготовить ее самостоятельно.

Самостоятельная установка OS Raspbian

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




Рекомендуем почитать

Наверх