🏠: orange-pi

Медиацентр на кухне

Собрал маленький «умный» телевизор на кухню, задачей которого, прежде всего, является показ роликов на Youtube за ужином, чтобы не использовать для этого телефон, сажая в нём батарею.

Компоненты: старый добрый одноплатник Orange Pi PC Plus, который за два года успел побывать у меня и веб-сервером, и игровой приставкой, и портативный экран, который приехал ко мне на днях с Алиэкспресса.

Критерии выбора: так как в основном я смотрю трансляции и лекции, где самым важным является звук, соответственно, я выбрал самый маленький и дешёвый экран (10.1 дюйма, 1280x800), где был разъём HDMI и встроенные динамики. Вместе с доставкой он обошёлся примерно в 4400 рублей. Одноплатник с блоком питания, картой памяти 16 ГБ и корпусом стоил два года назад 2200 рублей.

Сначала я хотел поставить на одноплатник Armbian как самую стабильную и хорошо работающую систему на подобного рода китайских микрокомпьютерах, а затем сверху установить медиацентр Kodi, но ничего не вышло, потому что собранного дистрибутива Kodi нет в репозиториях под процессоры ARM. Конечно, в интернете есть инструкции по самостоятельной сборке Kodi из исходников, но я не хотел заниматься этим долгим и муторным процессом, тем более что обновлять такую систему — тоже удовольствие на большого любителя. Популярные дистрибутивы OpenELEC и LibreELEC, которые являются уже собранной воедино системой с медиацентром, мой одноплатник не поддерживают.

К счастью, один добрый человек собирает LibreELEC для ряда китайских плат, в том числе и моей, и выкладывает обновления. Этот дистрибутив я и установил, но так как его статус нестабильный и он находится в разработке, некоторые вещи не работают — например, встроенный модуль Wi-Fi. Пришлось взять старый Wi-Fi адаптер под USB, который нормально определился в системе.

Экран оказался очень хорошим. Прочный металлический корпус, в комплекте блок питания, подставка и кабель HDMI. Сзади есть отверстия под VESA-крепление на стену, а снизу — стандартная резьба под штатив. Громкость динамиков достаточная, есть русский язык в меню, он поддерживает HDMI-CEC, то есть, управление через HDMI. Пульта к экрану нет, но я настроил в медиацентре автовыключение экрана через 5 минут, если ничего не воспроизводится, а пробуждается он, если просто в пульте управления в телефоне (я использую когда-то купленную Yatse) что-нибудь нажать или пустить на медиацентр что-то проигрываться.

Единственный нюанс — для корректной работы разрешение экрана нужно выставлять принудительно вручную. Экран определяется как 1920x1080, в том числе и в Windows, и при такой настройке видео тормозит, а звук заикается. После смены разрешения на родное 1280x800 проблемы исчезли.

Плагин Youtube я авторизовал в своей учётке Google, теперь все новые видео на каналах, на которые я подписан, я сразу вижу в списке медиацентра. Ради спортивного интереса я также настроил ТВ, взяв какой-то бесплатный плейлист в интернете, и радио через плагин SHOUTcast 2. Всё хорошо работает, очень удобно.

Игровая ретро-консоль

Сделал игровую приставку на базе своего старого веб-сервера Orange Pi PC Plus. Дистрибутив — RetrOrangePi, эмулирующий около полусотни игровых приставок и компьютеров, которые были выпущены начиная с конца 1970-х и заканчивая началом 2000-х, в том числе пресловутая Денди (NES) и Супер Нинтендо (SNES), в которые я играл в детстве.

Ретро-консоль в реальной жизни

На Алиэкспрессе я заказал два USB-геймпада для SNES на общую сумму 480 рублей, они дубоватые, но работают исправно. Лучше, конечно, покупать такой геймпад, как Xbox 360, но он один стоит как всё остальное вместе взятое. Общий бюджет подобного проекта — примерно 3500 рублей, но если брать хорошие геймпады, то сумма может удвоиться.

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

Переехал на новый сервер

Полторы недели назад наконец-то перенёс свой сайт на новый сервер. «Сервер» — это звучит гордо: это такой же, что и раньше, размером с сигаретную пачку пластиковый корпус, в котором заключена маленькая печатная плата. Тем не менее, это полноценный сервер, чему я не перестаю удивляться.

Модель — Orange Pi PC 2, от предыдущей модели с почти таким же названием (Orange Pi PC Plus) он отличается более мощным процессором, гигабитным сетевым интерфейсом и отсутствием wi-fi, который мне и не нужен в данном случае.

Orange Pi PC 2

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

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

Нужно сказать, что на этом компьютере и сейчас всё небезоблачно — например, выключить его командой shutdown из консоли вообще невозможно, только выдёргиванием из розетки, а из-за лицензионных ограничений драйверы под Linux для видеоускорителя Mali-450 могут вообще никогда не увидеть свет, но для моих целей это не нужно, так что я доволен результатом. Из дополнительных плюсов — процессор меньше греется. Безо всякого охлаждения, температура процессора в покое 33-40°, на старом сервере было 44-50°.

Также, я поменял страничку мониторинга — eZ Server Monitor заменил на phpSysInfo, описанный в предыдущей публикации, потому что он умеет определять имя процессора, в отличие от предшественника, пишущего «нет данных». А ещё у него есть мобильное приложение для телефона, непонятно зачем сделанное, но сам по себе факт забавный. Вот как это выглядит:

phpSysInfo

phpSysInfo

Обнаружил интересную программу для мониторинга — phpSysInfo. Это аналог eZ Server Monitor, который я использую сейчас, но очень гибко настраиваемый и более функциональный — он умеет работать со многими пакетами слежения за состоянием оборудования и работы с датчиками (HDDtemp, LMSensors, ThermalZone и т. д., всего более 15), имеет подключаемые модули, из которых особенно примечателен SNMPPInfo, который может выводить информацию с принтеров (а теоретически — со всего, что умеет работать с SNMP). Справки нет, потому что файл настроек тщательно откомментирован.

Приятным дополнением к вышеперечисленному является наличие русского перевода и набор красивых визуальных стилей. Вот как это выглядит после минимальной настройки на моём Orange Pi PC 2:

Наконец-то

Хорошие новости — появились более-менее стабильные сборки Armbian на свежем ядре для моего нового сервера Orange Pi PC 2. Красноглазие продолжается!

First stable test images (CLI or desktop) with a modern #64bit kernel 4.13.5 for H5 based #OrangepiPC2
https://t.co/5LTv523zaS #docker #iot pic.twitter.com/y6KZJkD7ZU
— armbian (@armbian) October 9, 2017

https://twitter.com/armbian/status/917440345880834053