Телевизоры

Лучшие аналоги Raspberry Pi. Введение и главные вопросы

Лучшие аналоги Raspberry Pi. Введение и главные вопросы

Платы для разработчиков, известные на рынке как микрокомпьютеры, с каждым днём становятся всё популярнее. Первая партия всеми любимого 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 был основан в 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 карте. Пошаговый процесс самостоятельной установки выглядит следующим образом:


В статье представлена информация о популярной линейке миникомпьютеров Raspberry pi. Описан принцип действия, области применения и дан развернутый обзор функциональных особенностей различных моделей Raspberry pi2, Raspberry pi3, Raspberry pi model B.

Raspberry и «умный» дом

В 2011 году компания Raspberry Pi Foundation выпустила первый в мире миниатюрный, но полноценный компьютер разработанный Девидом Брабеном. Размер этого устройства сопоставим с размерами банковской карты. В то же время его технические параметры соответствуют топовым компьютерам 2005-10 годов.

Одними из самых привлекательных черт данной техники является ее доступность. Стоимость базовых моделей (model А) находится в области 25 дол США, а более продвинутых (model В) около 35 дол США. Конечно, на отечественном рынке эта техника стоит несколько дороже, так как сказываются высокие ввозные пошлины и налоговые отчисления, но все равно стоимость Raspberry не сопоставима с аналогичной крупномасштабной техникой.


Вторым немаловажным преимуществом является его феноменальная экономность. Raspberry Pi 2 потребляет все 1 Вт электроэнергии в час, в то время как его стационарный аналог не менее 250 Вт.

Что может Raspberry и как он работает?

Операционная система Raspberry Pi – Debian Linux, на данный момент практически все модели выпускаются с предустановленной специальной системой под названием Raspbian. В довесок ко всему в качестве браузера используется Midori, офисный пакет (аналог незаменимого World и Exel) Koffice.

Как же Такое оборудование может использоваться в ?


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


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

Центральным сервером системы является Raspberry Pi на котором установлен WEB-интерфейс, связанный с внешними мобильными устройствами управления – смартфоном, планшетом, ноутбуком. Доступ к ресурсу предоставляется по логину и паролю с сети интернет, Wi-Fi, или локальной Ethernet. У большинства ПО есть возможность разграничения уровня доступа на администраторский и пользовательский.

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

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

Стандартная система «Умный дом» основанная на Raspberry Pi может включать следующие элементы:

  • Контроллер температуры и влажности на 8 каналов. Собирает показания о состоянии параметров через детектор DHT22 и 7 датчиков типа DHT11.
  • Четырехканальный термостат. Этот терморегулятор может контролировать параметры четырех отдельных линии нагрузки, как нагрева, так и охлаждения. Параметры могут задаваться непосредственно на контроллере или через WEB-интерфейс сервера.
  • Радиомодуль – используется для приема данных с 10 радиодатчиков и эмуляции 5 радиобрелоков;
  • Универсальный констроллер, может применяться для контроля и управления системой полива, отопления и т.д. имеет 2 входя для подключения детекторов влажности (DHT22) и температуры (DHT11).

Более подробно о функционировании описанной системы можно увидеть здесь:

Обзор моделей Raspberry Pi 2, Pi 3 model B

Процессор ARM Cortex-A7 с тактовой частотой 900МГц и 4 ядрами на борту. Объем оперативной памяти довольно солидный даже по современным меркам 1 ГБ. В плату интегрирован графический чипсет — VideoCore IV 3D и звуковой контроллер. Это дает возможность использовать устройство в качестве универсального мультимедийного сервера в .


Внешние интерфейсы:

HDMI – главное отличие от предыдущих разработок, заменил собой аналоговый RCA видеовыход. Однако возможность подключения телевизора через 3,5 мм разъем осталась. Необходимо дополнительно приобрести кабель переходник (стоимость около 5 дол).


Еще одним отличием от моделей предыдущего поколения является наличие системных файлов. Так же имеется Lan порт и 4 USB порта, которые могут выдать для питания внешних устройств ток силой 1,2 А каждый. Для этого сам Raspberry Pi должен быть подключен к специальному сетевому адаптеру, который обеспечит силу тока 2 А.

По сравнению с 1 и 2 версиями Raspberry Pi 3 не подверглась кардинальной модернизации. Однако эволюция развития основных технических показателей существенна. Основным отличием является высокопроизводительный четырехъядерный 1,2 ГГц процессор ARM Cortex-A53. По заверениям разработчиков создание такого процессора на базе однокристальной платформы Broadcom BCM2837 увеличило его производительность на 50%, и при этом он полностью совмести с предыдущими версиями.

Из основных интерфейсов связи можно отметить:

  • Bluetooth 4.1;
  • Wi-Fi 802.11n;
  • 4 USB;
  • HDMI;
  • 40ка пиновый GPIO.

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

Raspberry Pi незаменимое устройство для тех, кто самостоятельно занимается установкой и наладкой систем «Умный дом».

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

Как результат - интересные проекты стали появляться с завидной регулярностью, и часть таких проектов представлены в этой подборке. Здесь есть и вполне серьезные системы, и проекты, которые можно назвать развлекательными, из серии «а почему бы и нет?».

Суперкомпьютер на базе Raspberry Pi и Lego

Одним из наиболее интересных проектов на основе «малинки» является суперкомпьютер из 64 Raspberry Pi. В качестве элементов для создания «серверных шкафов» послужил обычный конструктор Lego.

В качестве ПЗУ для этой системы использовались карты памяти формата SD, объемом в 16 ГБ. Такие карты были установлены в каждую «малинку».

Как сделать нечто подобное? Подробнейшая инструкция от создателя, профессора университета Саутгемптона Саймона Кокса - по этой ссылке .

Метеозонд на основе Pi

Компьютерный энтузиаст Дейв Акерман решил использовать собственный мини-ПК для создания метеозонда, с возможностью получения фотографий из стратосферы. Подробный .

Через несколько месяцев работы Дейв действительно смог запустить свой зонд, который пролетел более 30 километров, работал при температурах -50С в очень разреженной атмосфере (1% от стандарта).

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

Интернет-телефон

На основе «малинки» был усовершенствован обычный стационарный телефон с дисковым номеронабирателем. Вместо обычной платы разработчик установил Raspberry Pi.

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

Вот, как это выглядит и работает:

Игровая станция

Это проект хабрапользователя . Интереснейшее устройство, которое позволяет играть в целый ряд старых игр для большого количества консолей, включая NES, SNES, Sega Genesis, PlayStation, а так же SCUMMVM, zxspectrum.

Автор писал, что «вся система базируется на порте RetroArch, основанной на библиотеке libretro, позволяющей использовать эмуляторы различных приставок». Что касается графической оболочки, то использовалась EmulationStation , также RetroPie .

Планшет на основе Raspberry

У этого планшета интересное название - PiPad, а в качестве материала для корпуса использовалось дерево. Выглядит все это вот так:

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

В качестве ОС используется Raspbian Linux с XBMC.

Настенный календарь-органайзер

Пользователь Instructables с ником Piney создал полезный гаджет для себя - настенный интерактивный календарь, с возможностью добавления задач и событий.

Программной платформой служит обычный Google Calendar, все данные из которого транслируются по WiFi на это настенное устройство.

Подробная инструкция о том, как создать нечто подобное - вот .

Собственная радиостанция

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

Правда, покрытие такой радиостанции относительно небольшое: площадь, равная площади стадиона.

DVD ченжер

Человеку, который создал эту штуку, просто надоело постоянно менять DVD-диски. В результате появился этот проект, который сделан просто потому, что его можно было сделать. Почему бы и нет?

Система освещения для Рождества

До Нового Года и Рождества осталось не так много времени, поэтому, если есть лишняя «малинка», можно создать систему освещения для собственного дома или квартиры. Как сделать такую систему, рассказано . А ниже - видео, где показано, как это работает.

В общем-то, сфера использования Raspberry Pi очень широка, гораздо шире, чем создание фоторамок и ноутбуков. Разработчики стараются совершенствовать свое устройство, выпуская новые, обновленные версии мини-ПК и дополнительные модули к нему. К примеру, летом вышел Raspberry Pi B+ , на днях компания представила . А через некоторое время (к сожалению, более определенно сказать нельзя) планируется и выпуск Raspberry Pi А+.

Рисунок 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.