osmc
Выводим температуру процессора Raspberry Pi 3 в интерфейс Kodi
Понадобилось мне иметь под рукой показания температуры процессора во время воспроизведения. Все дальнейшие действия будут описаны для обложки Estuary медиацентра Kodi на операционной системе OSMC.

Все дополнения Kodi находятся в этом каталоге:
cd /usr/share/kodi/addons/
Каталоги с файлами обложек начинаются со слова «skin.», шаблоны лежат в папке «xml»
cd skin.estuary/xml
Так как я хотел вывести температуру процессора рядом со временем, я просто поискал по соответствующей строке «System.Time». Весь список подобных информационных меток можно найти на вики-ресурсе Kodi.
grep "System.Time" *.xml --color=auto
Нашлось два файла, Custom_1109_TopBarOverlay.xml — файл верхней панели, которая появляется при воспроизведении и Includes.xml, который отвечает за внешний вид, размер и расположение элементов управления по умолчанию, метка времени из этого файла отображается на домашней странице.
Для того, чтобы было интереснее выведем рядом в температурой процесса текущий FPS.
sudo nano Custom_1109_TopBarOverlay.xml
Нажимаем Ctrl+W и ищем метку System.Time

Отлично, вот здесь ниже и добавим наши новые элементы. Для экономии места сгруппируем их в горизонтальную группу.
<control type="group">
<!-- Часы -->
<visible>!Window.IsVisible(extendedprogressdialog)</visible>
<animation effect="fade" time="150">VisibleChange</animation>
<control type="label">
<font>font_clock</font>
<shadowcolor>text_shadow</shadowcolor>
<top>0</top>
<right>20</right>
<height>200</height>
<width>600</width>
<align>right</align>
<label>$INFO[System.Time]</label>
</control>
<!-- НАШ КУСОК КОДА -->
<control type="grouplist">
<!-- Группа будет горизонтальной -->
<orientation>horizontal</orientation>
<!-- Использовать координаты элемента управления в качестве местоположения -->
<usecontrolcoords>true</usecontrolcoords>
<!-- Отступ справа -->
<right>24</right>
<!-- Отступ сверху -->
<top>130</top>
<!-- Выравнивание -->
<align>right</align>
<!-- Ширина -->
<width>500</width>
<!-- Высота -->
<height>100</height>
<!-- Промежуток между элементами в списке -->
<itemgap>15</itemgap>
<!-- Надпись -->
<control type="label">
<width>auto</width>
<height>100</height>
<!-- Текст -->
<label>FPS: $INFO[System.FPS]</label>
<!-- Размер шрифта -->
<font>font12</font>
<!-- Тень от текста -->
<shadowcolor>text_shadow</shadowcolor>
</control>
<control type="label">
<width>auto</width>
<height>100</height>
<label>CPU: $INFO[System.CPUTemperature]</label>
<font>font12</font>
<shadowcolor>text_shadow</shadowcolor>
</control>
</control>
<!-- // НАШ КУСОК КОДА -->
<!-- Информация о времени окончания воспроизведения -->
<control type="grouplist">
<right>24</right>
<top>90</top>
<width>800</width>
<height>100</height>
<align>right</align>
<itemgap>5</itemgap>
<orientation>horizontal</orientation>
<usecontrolcoords>true</usecontrolcoords>
<control type="label">
<label>$INFO[Player.FinishTime,$LOCALIZE[31080]: ]</label>
<shadowcolor>text_shadow</shadowcolor>
<height>100</height>
<width>auto</width>
<visible>!String.isempty(Player.Duration)</visible>
<visible>Player.HasVideo</visible>
<visible>!VideoPlayer.Content(LiveTV) | VideoPlayer.HasEpg</visible>
</control>
<control type="image">
<top>2</top>
<left>0</left>
<width>60</width>
<height>40</height>
<fadetime>300</fadetime>
<aspectratio aligny="center" align="right">keep</aspectratio>
<texture>dialogs/volume/mute.png</texture>
<visible>Player.Muted</visible>
</control>
</control>
</control>
Жмём Ctrl+X, затем вводим Y для сохранения, потом Enter и перезапустим Kodi для применения сделанных изменений:
sudo systemctl restart mediacenter
Смотрим, что получилось:

Дело сделано!
По аналогии можно также добавить любые необходимые элементы на главный экран через файл Includes.xml.
RSS + Transmission на OSMC и Raspberry Pi 3
Как решить задачу автозакачки торрентов на Raspberry Pi 3 и операционной системе OSMC?
- Ставим в App Store OSMC торрент-клиент Transmission.
- Настраиваем его согласно этой статье на Хабре, указываем папку для загрузки и включаем удаленное управление.
- Устанавливаем скрипт для закачки торрентов по RSS.
- Регистрируемся на сервисе litr.cc, добавляем раздачи для отслеживания обновлений.
- Копируем адрес RSS для закачки в настройки скрипта, в секцию FEED_URLS_AND_DIRS.
- Добавляем скрипт в планировщик, как указано в статье о нём.
Выгода!
OSMC, Raspberry Pi 3 — ТВ, телепрограмма и значки каналов
Ссылки
Настройка телепрограммы EPG
Домашний медиаплеер из Raspberry Pi
Дисклаймер
Кратко о том, как настроить телевещание и телепрограмму на Raspberry Pi + OSMC.
Около двух сотен каналов за 1$/месяц, неплохо, правда?
Телеканалы
- Регистрируемся на Edem.TV, запускаем мастер настройки.
- Оплачиваем, формируем плейлист. Я выбрал все галочки, кроме армянских и украинских телеканалов.
- Система -> Настройки -> Дополнения -> Мои дополнения -> Клиенты PVR -> PVR IPTV Simple Client -> Установить.
- Жмакаем настройку PVR клиента, указываем в поле «Ссылка на M3U» ссылку на плейлист без авторизации со страницы https://edem.tv/playlist
- Переходим на вкладку «Логотипы каналов», поле «Логотипы каналов из XMLTV» — предпочтительно XMLTV.
- Система -> Настройки -> ТВ -> Общие -> Включить
Телепрограмма
- Переходим на вкладку EPG, указываем в поле «Ссылка на XMLTV» адрес: http://www.teleguide.info/download/new3/xmltv.xml.gz
- Телепрограмма формируется по московскому времени. Поэтому считайте: если вы живёте в часовом поясе +2 к Москве. то в поле «Сдвиг по времени для EPG (часов)», нужно указать —2.00.
- Установить галочку «Применять сдвиг по времени для всех каналов».
Логотипы каналов
Скачиваем логотипы каналов:
wget http://shtyrlyaev.ru/uploads/rpi/channels.zip
sudo unzip channels.zip
Переходим в Система -> Настройка -> ТВ -> Меню/OSD -> Папка со значками каналов, указываем папку с логотипами каналов, жмакаем «Искать недостающие значки». Перезапускаем малинку и наслаждаемся жизнью без смарт-тв.
И что мы таки имеем, Сара?
Хуева туча каналов, есть HD-каналы, фильмы, сериалы, музыка, научпоп, эротика, кулинария. Работает ничуть ни хуже среднестатистического телека, если ты конечно пульт настроил. Телепрограмма в удобном виде, опять же. Доллар в месяц, сущие копейки. Нужен только интернет и немного свободного времени для настройки.
OSMC, Raspberry Pi 3 и удалённое управление пультом
Ссылки по теме
Как сделать медиаплеер на основе Raspberry Pi 3
Медиаплеер из содержимого кладовки
Infrared Remote for Raspberry Pi Mediacenter
Дистанционное управление в Linux
Зачем тебе пульт?
Приложения Kodi или Yatse для удалённого управления медиацентром XBMC конечно хороши, но нет главного — нельзя пользоваться ими вслепую как пультом от телевизора, кнопки то тактильно не ощущаешь. Да и включать постоянно приложение, искать телефон — ну его нафиг, лучше искать пульт, по старой русской традиции, предварительно обернув его в плёночку.
Поэтому берём какой-нибудь ненужный пульт и идём обучать малинку работать с него. Желательно, чтобы у пульта были кнопки регулирования громкости, воспроизведения/паузы, кнопка выключения и самое главное — джойстик с кнопкой ОК. Отлично подойдет пульт от DVD-плеера, например, BBK RC-026-01, который стоит около 300 рублей:

Нам понадобится:
- ИК-приёмник, например TSOP382
- Пульт от телевизора
- Putty, для доступа по SSH
Подключение
Распиновка с лицевой стороны инфракрасного приёмника:


Подключаем или припаиваем контакты ИК-приемника:
GPIO 18 — к контакту GPIO 18 на малинке, жёлтый контакт на схеме с числом 18
GND — к любому контакту Ground (земля) на малинке, черный контакт на схеме, любой
+3.3V — к контакту 3.3V на малинке, оранжевый контакт на схеме, их всего 2 шт.
Если вы хотите включать и выключать малинку по кнопке POWER c пульта, то дополнительно припаяйте контакт GPIO 18 ИК-приёмника к GPIO 3 малинки, при замыкании этого контакта на землю, происходит вкл./выкл. платы.
Проверяем контакты на всякий случай и включаем малинку в сеть.
Настройка
Первым делом нужно включить LibRC в настройках OSMC:
Система -> Настройки -> My OSMC -> Pi Config -> Hardware Support (логотип малинки)
Включаем параметр Enable LIRC GPIO support и выставляем gpio_in_pin — 18.
Перезагружаем малинку и подключаемся к ней по SSH c помощью Putty (прописываем IP малины и порт 22).
Рекомендую в своем домашнем роутере выставить фиксированный IP-адрес для малины, чтобы всегда можно было зайти по одному и тому же айпишнику. Логин-пароль: osmc/osmc.

Установим стандартный пакет для управления процессами
sudo apt-get update && sudo apt-get install psmisc
Теперь можно приступать к обучению пульта, убьем процесс LibRC и запустим получение данных с пульта:
sudo killall lircd
mode2 -d /dev/lirc0
Теперь, если посветить пультом в ИК-приемник, в терминале будут отображаться принятые сигналы:

Если вдруг уже идут сигналы без нажатия кнопок на пульте, то это могут быть помехи от китайских блоков питания, ртутных ламп и пр. Итак, если сигналы идут, значит ИК-приемник мы подключили правильно и сигналы принимаются малинкой.
Начнем выставлять соответствия кнопкам пульта, для обучения существует специальная утилита irrecord:
irrecord -d /dev/lirc0 lircd.conf
Нажимаем два раза Enter и начинаем зажимать подряд все кнопки на пульте, пока утилита не сообщит нам о том, что она получила паттерн. Затем утилита попросит еще раз понажимать кнопки на пульте, зажимая их на 1 сек. После этого, irrecord предложит нам ввести название кнопок и записать их сигнал. Весь список кнопок выложен тут или его можно получить по команде:
irrecord --list namespace
Список самых необходимых кнопок (наглядная картинка расположения кнопок на пульте):
KEY_POWER | Выключение/включение платы |
KEY_MUTE | Выключение звука |
KEY_VOLUMEDOWN | Убавление громкости |
KEY_VOLUMEUP | Добавление громкости |
KEY_PLAY | Воспроизведение |
KEY_PAUSE | Пауза |
KEY_PLAYPAUSE | Совмещённая кнопка Воспроиз./Паузы |
KEY_STOP | Остановка воспроизведения |
KEY_LEFT | Кнопка влево |
KEY_RIGHT | Кнопка вправо |
KEY_DOWN | Кнопка вниз |
KEY_UP | Кнопка вверх |
KEY_OK | Кнопка ОК/Enter |
KEY_EXIT | Выход/Отмена |
KEY_INFO | Краткая информация о проигрываемом файле |
KEY_EPG | Телепрограмма |
KEY_SUBTITLE | Субтитры |
KEY_AUDIO | Переход в раздел «Музыка» |
KEY_PREVIOUS | Предыдущий трек |
KEY_NEXT | Следующий трек |
KEY_0 ... 9 | Цифровые кнопки от 0 до 9 |
KEY_HOME | Вернуться на главный экран |
KEY_TITLE | Техническая информация о проигрываемом файле |
KEY_CONTEXT_MENU | Контекстное меню |
KEY_REWIND | Перемотка назад |
KEY_FORWARD | Перемотка вперёд |
Вводим название кнопки в терминал, жмакаем ее на пульте и ждем ответа от утилиты:

После того, как обучили все нужные кнопки, утилита попросит проверить битовую маску, для этого нужно быстро понажимать на каждую кнопку несколько раз.
Как будет написано, что файл конфигурации записан — идём опять в My OSMC, в раздел Remote. Выбираем наш файл конфигурации (по кнопке Browse), применяем, перезагружаем плату и начинаем управлять малинкой как белые люди — пультом!
