Мастерская

Raspberry Pi — как много в этом слове для уха гикова слилось

⇣ Содержание

Напоминаем, что попытки повторить действия автора могут привести к потере гарантии на оборудование и даже к выходу его из строя. Материал приведен исключительно в ознакомительных целях. Если же вы собираетесь воспроизводить действия, описанные ниже, настоятельно советуем внимательно прочитать статью до конца хотя бы один раз. Редакция 3DNews не несет никакой ответственности за любые возможные последствия.

Стыдно признаться, но Raspberry Pi мы заполучили больше года назад и да, не написали тогда про него ни строчки, хотя и трёхмесячное ожидание было томительным, и радость от получения посылки из Туманного Альбиона была искренней. Оно, наверное, и к лучшему. За год вокруг Raspberry Pi образовалось приличных размеров сообщество пользователей, разработчиков и компаний, которые явили миру немалое количество аксессуаров, проектов и программного обеспечения. Да и сам одноплатный компьютер успел претерпеть некоторые изменения в аппаратной части — в новых версиях убрали ряд недочётов и в два раза увеличили объём RAM у модели B.

#История Raspberry Pi

Вообще история развития и появления Raspberry Pi не так проста. Первый прототип этого устройства появился в 2006 году. Уже тогда он должен был стоить $25 и предназначался для обучения школьников азам компьютерных премудростей — тому, что в англоязычной литературе принято называть Computer Science (CS), а у нас не совсем корректно зовётся информатикой (о терминологии спорят до сих пор). Основателям проекта — сотрудникам и преподавателям Компьютерной лаборатории Кембриджского университета — не нравился тот факт, что с каждым годом уровень подготовки абитуриентов неуклонно снижался. Если в 90-е годы к ним, как правило, приходили учиться молодые люди, не понаслышке знакомые с программированием, то в 2000-х типичный абитуриент был разве что немного знаком с веб-дизайном.

Здесь и далее фото Raspberry Pi Model B (PCB 1.0, rev. 0002)

Сожаление разработчиков Raspberry Pi понятно, ведь их молодость пришлась как раз на время появления и расцвета первых по-настоящему домашних «персоналок» Amiga, BBC Micro, Spectrum ZX и Commodore 64. Пользователи этих ПК порой попросту вынуждены были заниматься программированием, если не находили подходящего софта для своих задач. Причём нередко надо было не просто уметь писать код, но и хорошо понимать принципы работы железной составляющей, умело обходить имеющиеся ограничения и различными ухищрениями добиваться максимальной производительности своего творения. Самые продвинутые брали в руки паяльник, ведь периферии поначалу тоже было немного. А для некоторых это и вовсе стало поводом открыть свой «свечной заводик».

Впрочем, все мы знаем, что в 90-х произошло с платформой Wintel, которая стала фактически монополистом на рынке ПК и в итоге избавила пользователей от необходимости осваивать программирование. В школах тоже решили переключиться на изучение основ работы с одним известным офисным пакетом и создание простеньких HTML-страничек. Потом лопнул пузырь доткомов, стали массово распространяться игровые приставки и персональные компьютеры. В общем, жизнь простых пользователей заметно упростилась, а ряды энтузиастов заметно поредели. Такая ситуация не устраивала преподавателей — и они загорелись идеей создания платформы, которая возродила бы интерес к самостоятельному изучению этой темы. Так ли уж всё печально, однозначно сказать трудно, но вдохновлялись создатели историей некогда легендарного учебного компьютера BBC Micro, не рассчитывая, впрочем, коренным образом изменить ситуацию с интересом к Computer Science.

Параллелей между Raspberry Pi и BBC Micro не так уж мало. Оба имеют две аппаратные, незначительно различающиеся версии — Model A и Model B. Оба основаны на RISC-подобной архитектуре, причём железо в обоих случаях используется оптимальное, хотя и не самое продвинутое. RISC OS тоже не забыли портировать. Задача у них одна и та же — заинтересовать подрастающее поколение компьютерными технологиями на достаточно продвинутом уровне. BBC Micro планировалось продать не более 12 тысяч штук, а за 10 с лишним лет в итоге было продано около полутора миллионов. Пробная партия Raspberry Pi объёмом 10 000 экземпляров разошлась за несколько минут, причём поначалу действовало правило «одна штука в одни руки». Представитель одного из двух официальных дистрибьюторов «сердечно» попросил пользователей перестать обновлять страничку онлайн-магазина, так как сервера попросту не справлялись с нагрузкой. Год спустя, во время старта продаж в США история повторилась. На текущий момент, то есть почти через полтора года после запуска, продано более полутора миллионов устройств, и это, похоже, не предел.

Скоро сказка сказывается, да не скоро дело делается. Ещё пара лет после появления первого прототипа ушла на создание различных вариантов ПК, пока в 2008 году не стало ясно, что процессоры для мобильных устройств стали доступными и достаточно мощными для работы с медиаконтентом и именно их, а не микроконтроллеры, следует использовать для претворения идеи в жизнь. В 2009 году была создана благотворительная организация Raspberry Pi Foundation, в задачи которой входит разработка и продвижение одноимённого компьютера. Два года потребовалось на создание аппаратной и программной части будущего устройства, заключение договоров и соблюдение прочих формальностей. В какой-то момент даже была идея сделать мини-ПК в виде большой флешки – с одной стороны USB-порт, а c другой HDMI-выход. Подобные устройства с Android на борту сейчас в огромных количествах клепают китайские компании. Наконец, в 2011 году появились первые альфа- и бета-версии плат. И только в начале прошлого года первая партия Raspberry Pi отправилась на сборочный конвейер, а до заказчиков она добралась ближе к лету, потому что китайский подрядчик умудрился ошибиться при сборке, что вызвало дополнительные затраты времени на исправление ошибки.

Заметьте, Raspberry Pi — по сути некоммерческий проект. Так что нет ничего удивительного в том, что на его разработку ушло столько лет. Одновременно это ответ на недовольные возгласы в духе «А почему процессор такой, а не такой-то? Где мой гигабайт памяти? Нельзя что ли было добавить поддержку SATA? Почему нет модуля Wi-Fi/3G/Bluetooth?». Помилуйте, вам за $25 (или $35) предоставили добротную машинку для домашних экспериментов и «наколенных» проектов. В конце концов, новичку проще разобраться с Raspberry Pi, чем с микроконтроллерами; он намного удобнее и функциональнее плат мини-роутеров, которые нередко используются в исследовательских задачах; его цена заметно ниже, чем у всех остальных одноплатных решений, пусть и более функциональных. Получается, что конкурентов у Raspberry Pi пока что нет. Ну что же, мы подробно рассказали об истории создания этого проекта, но до сих пор ни разу не обмолвились о том, что он собой представляет, что с ним можно сделать и какие у него недостатки.

#Технические характеристики и возможности

Raspberry Pi называют одноплатным компьютером размером с кредитную карту. На самом деле сама плата чуть крупнее — 85,6x56x21 мм — и не имеет скруглённых краёв, к тому же некоторые порты попросту торчат снаружи, не говоря уж про карту SD, которая более чем на половину выпирает за пределы платы. Решить эту проблему могут «короткие» адаптеры для micro-SD. Весит устройство всего 54 грамма. Raspberry Pi выпускается в двух версиях — Model A и Model B. У Model A нет порта Ethernet, один порт USB 2.0 и 256 Мбайт RAM, а стоит она $25. Model B оснащена портом Ethernet 10/100 Мбит/с, двумя портами USB 2.0, объём оперативной памяти у неё в два раза больше. Всё это удовольствие продаётся уже за $35. Только учтите, что это «чистая» цена, без учёта возможных налогов и расходов на доставку. Нам, к примеру, приобретение Model B обошлось чуть ли не два раза дороже. Также при покупке стоит обратить внимание на маркировку SoC. Номер партии для «старых» версий Model B с 256 Мбайт RAM начинается с K4P2G, а у ревизии с 512 Мбайт памяти — с K4P4G.

Схема Raspberry Pi Model с www.raspberrypi.org

По идее, начиная с этого года все Raspberry Pi Model B должны иметь полгигабайта RAM, но на складах перекупщиков вполне могли заваляться более ранние модели. Лицензией на производство плат обладают компании Premier Farnell, RS Components и Egoman. Причём последняя выпускает платы красного цвета, которые могут предлагаться только на китайских территориях. К первой годовщине проекта RS Components выпустили юбилейную партию плат синего цвета объёмом 1000 штук. Эти же компании имеют право продавать Raspberry Pi, а в США распространением занимается Allied Electronics. Так что все остальные магазины попросту закупают большие партии устройств у этой четвёрки и перепродают конечным потребителям. Обе модели плат от разных производителей (сборкой занимаются заводы Sony, Qisda и Egoman), имеют некоторые несущественные различия, но по большому счёту они идентичны.

Основой Raspberry Pi является система-на-кристалле, Broadcom BCM2835 (линейка BCM2708), которая включает процессорное ядро ARM11 с базовой частотой 700 МГц (возможен разгон до 1 ГГц) и графическое ядро Broadcom VideoCore IV. Из-за того, что использована ныне слегка устаревшая архитектура ARMv6, ряд дистрибутивов не поддерживают данный процессор. К ним относится, например, Ubuntu. Про Android тоже нельзя сказать, что он хорошо работает. С другой стороны, разработчики приложили максимум усилий для того, чтобы как следует подготовить ОС к работе на данном железе, чего, кстати говоря, не скажешь о многих других одноплатных ARM-компьютерах. GPU поддерживает стандарты OpenGL ES 1.1/2.0, OpenVG 1.1, Open EGL, OpenMAX и способен кодировать, декодировать и выводить Full HD-видео (1080p, 30 FPS, H.264 High-Profile). Для аппаратного ускорения MPEG-2 и VC-1 лицензии придётся докупать отдельно, и это ещё один повод напомнить, что стоимость лицензий и патентных отчислений вносит далеко не самую маленькую лепту в конечную цену почти любого высокотехнологичного устройства.

Чип памяти производства Samsung или Hynix напаян прямо поверх основного чипсета, так что увеличить RAM самостоятельно не получится. Память здесь общая, поэтому пользователь сам выбирает, сколько мегабайт отдать GPU. Видеовыходов два — композитный RCA (576i или 480i, PAL-BGHID/PAL-M/PAL-N/NTSC/NTSC-J) и HDMI 1.3a с поддержкой HDCP и протокола CEC (управление с одного ПДУ всеми мультимедийными устройствами). Так что для создания простенького медиацентра Raspberry Pi вполне подойдёт, а наличие готового решения Raspbmc значительно упрощает задачу. Выбор именно таких видеовыходов объясняется очень просто — компьютер, как в давние времена, рассчитан на подключение к телевизору, а не к мониторам. Поэтому нет, например, разъёма DVI. Ну и ладно, переходник с HDMI можно купить самому. (Сами видите, столько всего ещё можно или даже нужно докупить к этой плате) Звук либо передаётся через HDMI, либо выводится через обычное 3,5-мм гнездо.

Встроенное устройство для чтения карт памяти гарантированно работает с большинством SD-карт объёмом до 32 Гбайт. Загружаться Raspberry Pi умеет только с карточек SD. Если точнее, то сама ОС может располагаться на USB-накопителе, но вот загрузчик всегда должен быть на SD. Кнопок включения и сброса нет — устройство само включается при подаче питания. Питается Raspberry Pi от порта micro-USB или с пары выделенных выводов GPIO. Для Model A рекомендуется источник на 5 В и 500-700 мА, а для Model B на 5 В и 700-1200 мА. То есть порта USB 3.0 или зарядного устройства для телефона должно хватить, хотя лучше подобрать более стабильный источник питания. Сами платы потребляют чуть меньше, но часть энергии требуется для работы подключенных к USB-портам устройствам. Альтернативный вариант — питание от подключенного к плате USB-хаба с отдельным БП или аккумуляторов, но это не самое лучшее решение. Кстати, контроллер Ethernet в Model B тоже «висит» на шине USB. Индикация минимальная — на плате распаяно пять светодиодов. Три из них указывают на активность и режим работы Ethernet, а ещё два сигнализируют о наличии питания и работе с SD-картой.

А теперь — самое интересное: набор низкоуровневых интерфейсов, которые позволяют подключать к Raspberry Pi платы расширения, внешние контроллеры, датчики и прочие аксессуары. Во-первых, на плате есть 15-пиновые слоты CSI-2 для подключения камеры и DSI для установки дисплея. Во-вторых, имеется колодка на 26 линий ввода-вывода общего назначения (GPIO, General Purpose Input/Output), из которых по факту для управления доступно только 17 — не густо, но и не пусто. На них же реализованы интерфейсы UART, консольный порт, SPI и I²C. На новых ревизиях плат разведены, но не распаяны ещё четыре GPIO, дополнительно дающие I²C и I²S. Если вам не знакомы все эти аббревиатуры, то не пугайтесь — это названия широко распространённых в микроэлектронике стандартов подключения одних устройств к другим. Использование GPIO — это как раз самое интересное и творческое применение Raspberry Pi.

Впрочем, недостатков у него тоже хватает. В нём, к примеру, нет собственных часов реального времени (Real Time Clock, RTC). Тех самых, которые «помнят» текущее время и идут сами по себе. Поэтому единственный способ получения времени – это синхронизация с NTP-серверами. SoC содержит в себе цифровой сигнальный процессор (DSP), но полного доступа к его API, по-видимому, до сих пор нет. Выводы GPIO никак не защищены от короткого замыкания, поэтому ошибка в монтаже может сгубить весь мини-ПК. Также они способны обрабатывать только цифровые сигналы. Видеовыходы не могут одновременно выводить картинку. Аудиовхода вообще нет. В общем, недостатков у Raspberry Pi хватает. А ещё его пример хорошо иллюстрирует процесс разработки современных устройств. Взять те же часы. Они оказались на удивление дорогим компонентом, от которого решено было отказаться. При этом разработка устройства происходила на добровольных началах, то есть никто за неё не платил. Стоимость компонентов снижается при увеличении заказа, а первую партию в 10000 штук совсем уж серьёзной не назовёшь. Сборка, доставка, налоги, пошлины, лицензии и так далее — всё это требует денег. Да и дистрибьюторы тоже хотят получить свою копеечку. И всё равно в итоге удалось уложиться в $25.

Одноплатный мини-ПК Raspberry Pi  
Model A Model B
Цена $25 $35
System-on-a-chip (SoC) Broadcom BCM2835 (CPU + GPU) 
CPU 700 МГц ARM11 (ядро ARM1176JZF-S), возможен разгон до 1 ГГц 
GPU Broadcom VideoCore IV 
Стандарты OpenGL ES 1.1/2.0, OpenVG 1.1, Open EGL, OpenMAX 
Аппаратные кодеки H.264 (1080p30, high-profile);
MPEG-2 и VC-1 (лицензия продаётся отдельно) 
Память (SDRAM, общая) 256 Мбайт 512 Мбайт;
256 Мбайт (до 15.10.2012)
Порты USB 2.0 1 2
Видеовыход 1 x HDMI 1.3a (CEC),
1 x RCA (576i/480i, PAL-BGHID/M/N,NTSC, NTSC-J) 
Аудиовыход Гнездо 3,5 мм, HDMI 
Карт-ридер SD/MMC/SDIO 
Сеть - Ethernet-порт RJ45 10/100 Мбит/с
Интерфейсы 20 x GPIO (SPI, I2C, UART, TTL);
MIPI CSI-2, MIPI DSI 
Энергопотребление 500 мА (2,5 Вт) 700 мА (3,5 Вт)
Питание 5 В через порт micro-USB или GPIO 
Размеры 85,6x56x21 мм 
Масса 54 г 

Неудивительно, что некоторые пользователи скупают Raspberry Pi пачками и «прикручивают» к чему попало. Эта машинка может стать в ваших руках и медиацентром, и управляющим центром «умного дома», и игровой приставкой для любителей 8-битной классики, и сердцем радиоуправляемых моделей. Тут уж всё зависит от вашей фантазии, желания и прямоты рук. В Сети есть немало примеров, готовых проектов, сообществ пользователей и целых магазинов, посвящённых Raspberry Pi. Есть даже официальный очень-очень скромный The Pi Store с небольшим количеством ПО, игр, руководств и собственным журналом. Короче: «Ищущий да обрящет!» Для начала рекомендуем пролистать списки проектов на официальном форуме или же ознакомиться с наглядными примерами от Adafruit и Element14. Ну а мы переходим ко второй части нашего обзора — практической, в которой рассмотрим процесс начальной настройки Raspberry Pi и установим на него клиент BitTorrent Sync.

#Базовая настройка

Так как Raspberry Pi умеет загружаться только с SD-карты, то основная ОС будет находиться именно на ней. Нам нужны устройство для чтения карт памяти и собственно карточка объёмом от 4 Гбайт, желательно быстрая. Также нам понадобится внешний жёсткий диск с USB-интерфейсом, где будут храниться ваши файлы. В качестве примера мы рассмотрим подключение HDD с одним разделом NTFS. А для удобства подключения к Сети мы воспользуемся адаптером Wi-Fi. Список совместимых модулей находится здесь, а полный список периферийного оборудования, которое можно подключить к Raspberry Pi, имеется тут. Крайне рекомендуется прикупить USB-хаб с отдельным питанием, так как с двумя собственными портами на плате особо не разгуляешься. От него можно запитать и саму плату, и внешний накопитель, и с портами проблем не будет. Про необходимость USB-клавиатуры и подходящего дисплея вы и сами догадались. Для сетевой деятельности понадобится внешний IP-адрес от провайдера (пусть даже динамический) и роутер, который поддерживает привязку IP-адреса к MAC, переадресацию портов для локальных клиентов, UPnP и работу с DDNS. В общем, подойдёт чуть ли не любой домашний маршрутизатор.

Образ системы можно скачать на официальном сайте. На выбор даются сразу несколько дистрибутивов. Для самостоятельного знакомства с Raspberry Pi проще всего воспользоваться набором New Out of Box Software (NOOBS), в который входит медиацентр XBMC. Не менее прекрасен дистрибутив с удивительным для русского уха названием Pidora. Нам же для минимальной конфигурации достаточно образа Raspbian Wheezy. Запись образа на карточку рекомендуется делать в программе Win32 Disk Imager. Разобраться с ней нетрудно — главное, не перепутать букву диска и выбрать именно SD-карту, а не какой-нибудь другой накопитель. На запись образа уйдёт минут пять-десять. Вставляем готовую карточку в Raspberry Pi, подключаем клавиатуру и монитор, подцепляем питание к порту micro-USB. Мини-ПК не имеет отдельной кнопки включения, поэтому при наличии питания сразу же пытается загрузиться с SD-карты. На загрузку уходит менее минуты. По умолчанию логин pi, а пароль raspberrypi.

     
     

При первом включении сразу же запускается небольшая утилита, которая поможет настроить базовые параметры ОС. Вот в ней прямо по пунктам и пойдём. Во-первых, надо «развернуть» корневую ФС на всю SD-карту — Expand Filesystem. Во-вторых, поменять пароль на вход в ОС (Change User Password) — тут надо будет дважды ввести новый пароль. В третьем пункте нам предлагают включить загрузку рабочего стола, но для нас эта опция не обязательна. Четвёртый пункт по большому счёту тоже опционален — здесь настраивается локализация системы. Здесь надо обновить имеющиеся локали (Change Locale), добавив к английской русскую ru_RU.UTF8 и выбрав её же в качестве основной. Со сменой часового пояса (Change Timezone) вы и сами справитесь. В третьем подпункте меняются раскладки клавиатуры и способ переключения между ними. Тут надо выбрать вашу модель клавиатуры, а если в списке её нет, то указать Generic 105-key. Далее придётся выбрать русскую раскладку (Other → Russian → Russian) и указать сочетание клавиш для переключения языков ввода (мы выбрали Alt+Shift).

     
     

От настройки дополнительных клавиш лучше отказаться, выбрав везде первый пункт в списках (см. скриншоты). В самом конце мастер настройки предложит задействовать сочетания Ctrl+Alt+Backspace для быстрого завершения работы графического сервера. Если вы решили включить русскую локализацию, то ниже будут даны дополнительные инструкции. А пока возвращаемся к базовым настройкам и переходим к пункту Overclock, где можно разогнать процессор Raspberry Pi. Этот этап совсем необязателен, однако поднятие частоты до 800 МГц должно быть безболезненным для системы, хотя нас и предупреждают о возможных поломках. Дальнейший разгон не очень рекомендуется, да и заставляет задуматься о дополнительном охлаждении процессора.

     
     

Видеопамять выделяется из основной памяти, поэтому, если вы не используете графическую оболочку, в разделе Advanced Options → Memory Split можно уменьшить объём выделяемой видеопамяти. В том же разделе обязательно надо включить SSH-сервер, к которому мы будем в дальнейшем подключаться, — Advanced Options → SSH → Enable. Всё, теперь можно выходить из утилиты, выбрав кнопку Finish. От перезагрузки следует отказаться, так как нам надо настроить кое-что ещё. Если вы используете проводное подключение к Сети, то этот абзац можно пропустить — Raspberry Pi уже должен был получить настройки по DHCP от роутера и иметь доступ в Интернет. Теперь к нашему мини-компьютеру пора подключить внешний жёсткий диск и адаптер Wi-Fi. Первым делом проверяем наличие обоих в системе, а потом прописываем настройки Wi-Fi.

lsusb
sudo nano /etc/network/interfaces

В файле /etc/network/interfaces надо внести следующие изменения для интерфейса wlan0:

allow-hotplug wlan0
auto wlan0
iface wlan0 inet dhcp
wpa-ssid "имя_сети"
wpa-psk "пароль_сети"

Предполагается, что подключаться вы будете только к одной домашней беспроводной сети. По-хорошему, прописывать параметры SSID надо не здесь, но для нашего случая это излишне. В конце файла добавьте пустую строку. После внесения изменений и сохранения файла (Ctrl+X, Y, Enter) надо перезапустить сетевые службы и проверить подключение к Сети, например пропинговав любой сайт или выполнив команду ifconfig. Теперь можно обновить список ПО, установить свежие апдейты и инсталлировать необходимые пакеты. Fuse с ntfs-3g нужны для работы с NTFS, а console-cyrillic — для русификации консоли. При установке последнего пакета в мастере настройки достаточно выбрать сочетание клавиш для переключения раскладки (Alt+Shift, см. выше), а остальные параметры оставить по умолчанию.

sudo service networking restart
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install fuse ntfs-3g console-cyrillic

Теперь займёмся подключением жёсткого диска. Для начала в каталоге /media создадим папку data, куда будет монтироваться раздел с вашими файлами. Потом меняем владельца этой папки и ищем уникальный идентификатор UUID нужного нам раздела.

sudo mkdir /media/data
sudo chown pi /media/data
sudo blkid
sudo nano /etc/fstab

В /etc/fstab необходимо добавить вот такую строчку, подставив UUID вашего раздела и не забыв про пустую строку в конце файла:

UUID=XXXXXXXXXXXXXXXX /media/data ntfs-3g users,defaults 0 0

Сохраняем файлик (Ctrl+X, Y, Enter), монтируем раздел и на всякий случай просматриваем список каталогов в корневой папке. Если вы хотите подключить сразу несколько разделов на внешнем накопителе, то для каждого из них придётся повторить всю процедуру от создания папки в /media до прописывания параметров в /etc/fstab. Ну вроде бы ничего не забыли. Пора перезагрузить Raspberry Pi и отключить клавиатуру с монитором, которые нам больше не понадобятся, так как к устройству мы будем подключаться по SSH.

sudo mount /media/data
ls /media/data
sudo shutdown -r now

В настройках роутера надо присвоить нашему Raspberry Pi статический IP-адрес и прописать параметры какого-нибудь провайдера DDNS. Подробнее процесс регистрации на примере DynDNS рассматривался в этой статье. В качестве SSH-клиента мы будем использовать старый добрый PuTTY. В строке адреса указываем pi@IP_адрес_Raspberry_Pi, а на вкладке Windows → Translation выбираем кодировку UTF-8. Профиль подключения в разделе Session сохраняем для удобства под любым именем и нажимаем Open. При первом подключении на запрос о добавлении ключей отвечаем положительно. Всё, на этом базовая настройка завершена, и на Raspberry Pi можно устанавливать любой подходящий софт.

   
 

А что именно? В «Мастерской» мы уже рассматривали создание собственного VPN-сервера для защиты трафика и обхода ограничений провайдеров, установку личного «облака»  OwnCloud, развёртывание реаниматора с загрузкой по сети, использование одного из аналогов Dropbox и даже поднятие сервера для безопасного обмена файлами. Всё это и многое другое не так уж сложно сделать с помощью Raspberry Pi, а ведь мы сейчас рассматриваем его только в качестве экономичного микрокомпьютера с Linux на борту. Что уж говорить про множество других, более «железных» проектов, которые используют все аппаратные возможности этой замечательной платформы. Впрочем, не будем отвлекаться от поставленной задачи.

#Настройка BitTorrent Sync

Про BitTorrent Sync мы уже подробно рассказывали нашим читателям. Напомним вкратце, что это система для удобной синхронизации файлов и папок между несколькими удалёнными компьютерами посредством протокола BitTorrent. Синхронизация происходит в режиме P2P (peer-to-peer), весь трафик надёжно шифруется, а для работы не требуется наличие выделенного сервера. В общем, обмениваться данными с помощью BitTorrent Sync просто, быстро и безопасно. К тому же разработчики активно создают клиенты под самые различные платформы. Кроме вездесущих Windows, Mac OS X и настольных вариантов Linux, имеются клиенты для Android, FreeBSD и различные сборки Linux под архитектуры, отличные от x86/x64, в том числе и для процессоров ARM, использующихся в Raspberry Pi. Они обещают в скором времени выпустить программу под iOS, а вот про Windows Phone пока ничего не слышно.

Заметьте, BitTorrent Sync — это именно сервис синхронизации файлов без промежуточного закачивания данных на удалённый сервер, как это происходит в Dropbox и его аналогах. Поэтому если никого из клиентов, обладающих нужными вам файлами, нет в Сети, то получить их вы никак не сможете. Так что Raspberry Pi вполне может использоваться в качестве такого клиента, постоянно находящегося онлайн. Да, BitTorrent Sync нельзя назвать полноценной заменой Dropbox и у него до сих пор имеются некоторые проблемы в работе. Тем не менее даже бета-версией вполне можно пользоваться. Ссылку на ARM-сборку можно найти на сайте программы. Мы создадим для неё отдельную папку в домашней директории, скачаем архив с клиентом, распакуем его, удалим архив, получим конфигурационный файл и отредактируем его.

mkdir /home/pi/btsync
cd /home/pi/btsync
wget http://btsync.s3-website-us-east-1.amazonaws.com/btsync_arm.tar.gz
tar -xvf btsync_arm.tar.gz 
rm ./btsync_arm.tar.gz
./btsync --dump-sample-config > btsync.conf
nano ./btsync.conf

В этом файле надо отредактировать несколько строк. Во-первых, поменять путь до папки .sync (в ней хранится информация о синхронизируемых файлах) в storage_path на тот, где находится клиент BitTorrent Sync. Во-вторых, поменять логин и пароль по умолчанию с admin и password на что-нибудь более серьёзное. В-третьих, можно поменять порт, на котором будет доступен веб-интерфейс с 8888 на любой другой, но делать это совсем необязательно.

"storage_path" : "/home/pi/btsync/.sync",
"listen" : "0.0.0.0:8888",
"login" : "username",
"password" : "password"

После внесения изменений сохраняем файл (Ctrl+X, Y, Enter) и запускаем клиент.

/home/pi/btsync/btsync --config /home/pi/btsync/btsync.conf

Веб-интерфейс доступен по адресу http://ip_адрес_raspberry_pi:8888/. Дальше всё просто — кликаем по Add Folder, выбираем папку на внешнем жёстком диске (/media/data/имя_папки), которую будем синхронизировать. Указываем секретный ключ или генерируем новый. Тут же можно сгенерировать QR-код для быстрого добавления папки в мобильном клиенте BitTorrent Sync. Остальные настройки совпадают с теми, что есть в настольных клиентах. Более подробную информацию о работе и настройках BitTorrent Sync ищите в официальном руководстве.

 
 

Что осталось? Как минимум не помешает пробросить порт веб-сервера на роутере, чтобы всегда иметь доступ к клиенту BitTorrent Sync, и добавить запуск клиента в автозагрузку. О пробросе должно быть сказано в инструкции роутера, а автозапуск мы сделаем самым простым способом — через планировщик заданий. Выполняем следующую команду:

crontab -e

И добавляем в конец файла команду для запуска клиента, предварив её директивой @reboot, которая указывает, что данную команду надо исполнять при перезагрузке. Не забудьте сохранить файл (Ctrl+X, Y, Enter).

@reboot /home/pi/btsync/btsync --config /home/pi/btsync/btsync.conf

Для проверки можно сразу же перезапустить Raspberry Pi и попробовать зайти в веб-интерфейс BitTorrent Sync как локально, так и удалённо, через http://ddns_имя_роутера:8888/. Вот и всё! Не забывайте периодически обновлять клиент.

#Заключение

Выше мы рассмотрели довольно простой пример использования Raspberry Pi в качестве энергоэкономичного сервера с Linux. Любителям самостоятельно повозиться с электроникой лучше воспользоваться специализированным дистрибутивом Adafruit Raspberry Pi Educational Linux Distro. Впрочем, почти каждый найдёт для себя что-нибудь интересное в работе с Raspberry Pi. В целом стоит признать, что проект по созданию дешёвого мини-компьютера для обучения удался на славу. Или вы искренне верите, что все 1,5 миллиона устройств раскупили школьники и студенты? Нет, конечно, нет. Raspberry Pi — это довольно удобная платформа для домашних экспериментов: простая, недорогая и лёгкая в освоении. Есть даже «теория заговора», что за всем этим на самом деле стоит ARM Ltd., которой хочется переманить тех, кто увлекается электроникой, на свою сторону. Вряд ли это так, но мы всё-таки рекомендуем тем, кто хочет хотя бы просто попробовать свои силы в это новой для себя и очень интересной области, начать знакомство с ней именно с Raspberry Pi. Удачных вам экспериментов!

 
 
⇣ Содержание
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.
Материалы по теме
⇣ Комментарии
window-new
Soft
Hard
Тренды 🔥
Игрок продемонстрировал, от чего и в каком возрасте чаще всего умирают персонажи Crusader Kings III 6 мин.
Люди соскучились по «Гарри Поттеру»: трейлер Hogwarts Legacy стал рекордно популярным на канале PlayStation 18 мин.
«Росатом» предлагает создать национальную промышленную цифровую платформу 21 мин.
90 % российских госструктур имеют уязвимости в IT-инфраструктуре 50 мин.
Google потребовала от разработчиков Android-приложений использовать платёжную систему компании 55 мин.
Видео: блогер показал, как мог бы выглядеть ремастер Bloodborne для PlayStation 5 2 ч.
Боевые женщины: в Assassin's Creed Valhalla появится татуировка в виде символа «сестричества ассасинов» 2 ч.
В работе служб Microsoft возникли масштабные проблемы, но они уже решены 2 ч.
Госдума ужесточит ответственность зарубежных интернет-компаний за неисполнение российского законодательства 2 ч.
«Не время отдыхать, когда на кону стоит жизнь»: релизный трейлер зомби-боевика The Walking Dead Onslaught для VR 4 ч.