Наткнулся в съемной квартире в кладовой на телевизор и вспомнил что у меня просто так лежит малинка без дела. Хотел подключить, но у этого телевизора из разъемов только скарт(в котором был вставлен переходник на "тюльпаны". У малинки есть композитный выход. В последних версиях он объединен с выходом аудио. Осталось только найти кабель. 4х контактный 3,5mm jack to 3RCA. В магазине, где у нас продают малинки и радиодетали кабеля не оказалось. Решил спаять его сам. В этом же магазине взял все что нужно - 3 тюльпана и сам штекер. провода дома нашлись :) Распиновка нашлась в интернете.
Немного процесса) Паяльщик из меня так себе, паяю раз в год, под изоленту лучше вообще не смотреть - контакты очень маленькие, паяльник большой, руки из жопы и вообще)) Запорол чутка, но синяя изолента как всегда спасает. Прежде чем паять, "прозвонил" все контакты, но, поскольку, не особо был уверен в схеме(попадалась еще схема, где 3 и 4 контакт поменяны местами), сделал вот так(фото ниже), что бы потом не перепаивать, а просто "перетыкнуть" контакты.
Но все заработало с первого раза. Немного протестировав, вспомнил, что в комментах к прошлой статье советовали поставить LibreElec.
Установка LibreElec.
Ничего сложного из себя не представляет: качаем отсюда установщик под вашу систему. У меня винда 10. Выбираем версию под Raspberry Pi 2 and 3. я выбрал LibreELEC-RPi2.arm-9.0.0. т.к она самая стабильная была на тот момент. В версиях выше либо не работал композитный выход либо были проблемы с вайфаем. Нажимаем Download, ждем когда загрузится, выбираем нашу SD карту и нажимаем Write. Ждем еще немного и готово - вставляем карту в малинку.
Первый запуск меня разочаровал - картинка не влазила в экран телевизора. При первом запуске, кстати, можно выбрать язык, дать имя системе, подключиться к вайфаю, включить доступ по ssh(при этом будет предложено сменить стандартный пароль). Можно сделать это сразу, а можно и потом из настроек системы. Я сразу сделал и полез искать калибровку дисплея
Калибровка дисплея или Overscan
Setting - System setting - Video - Video calibration
Что бы этот пункт появился надо выбрать режим настроек Expert в левом нижнем углу. Подправил, но после перезагрузки все сбросилось. Попробовал еще раз - тоже самое. Пришлось снова гуглить и править конфиг. Тут два варианта:
1. SSH
Если при первом запуске не включили доступ по SSH и не подключились к вайфаю, то
Setting - LibreElec - Службы - Включить SSH.
Setting - LibreElec - Соединения
Так же в настройках LibreElec выключил блютус - мне он не нужен и отключил автоматические обновления(а то пока настраивал первый раз, либра обновилась и после перезагрузки перестал работать композит)
Теперь надо узнать ip адрес. В разделе System Information он прописан. Либо в устройстве, с которого раздаете интернет(роутер, телефон, ноутбук, комп) в подключенных устройствах. Я с компа раздаю через внешний модуль вайфай, ибо комп ближе чем роутер, а в малинке слабоватый приемник.
После того как узнали ip адрес запускаем PuTTy(или какой другой SSH клиент) и вводим его. Откроется терминал и попросит ввести логин, а затем пароль, который при вводе не будет виден.
Логин - root
Пароль - libreelec
Так как либра устроена так, что вся система только для чтения(чтобы меньше писать на сд карту - дольше проживет), нужно получить разрешение на изменение файлов.
mount -o remount, rw /flash
затем открываем конфиг в редакторе nano
nano /flash/config.txt
пролистываем в самый низ и пишем это:
sdtv_mode=2
disable_overscan=0
overscan_scale=1
overscan_left=30
overscan_right=10
overscan_top=30
overscan_bottom=30dtparam=audio=on
Включили вывод в PAL стандарте и указали положение углов картинки. У вас будут другие значения - придется самим подбирать, редактировать, перезагружать. Можно в калибровке дисплея посмотреть значения, но, почему то они не совпали. В последней строке указали что вывод звука будет либо через аналоговый выход либо через hdmi, т.е. без usb. Без этой строки в Retroarch(о нем немного далее) не было звука.
Далее нажимаем CTRL+O чтобы сохранить, подтверждаем ENTER'ом и CTRL+X для выхода из редактора. Далее меняем права на ридонли обратно и перезагружаем систему
mount -o remount, ro /flash
reboot
2. Через комп. Этот вариант проще
Вытаскиваем карту памяти из малинки, вставляем ее в комп, открываем и в корне будет файл config.txt. Открываем текстовым редактором и в конце прописываем то же что и выше. Сохраняем, вставляем обратно. Все)
Теперь картинка стала более-менее нормальной. Можно дальше настраивать.
Региональные настройки
Setting - Interface - Regional
Language - Russian
Ниже добавляем раскладку клавиатуры - Russian Йцукен.
Страна в часовом поясе - Russia
Часовой пояс - у меня Asia/Tomsk
Остальное я так оставил.
Вывод звука. Что бы звук шел тоже через композит.
Настройки - Система - Аудио - Устройство вывода звука - Analogue
Погода. Куда ж без нее
Настройки - Службы - Погода - Служба прогноза погоды
В появившемся пустом списке выбираем слева Еще. В новом списке выбираем себе поставщика прогноза погоды. Я выбрал Гисметео. Далее в настройках выбираем место. В дополнительных настройках - единицы измерения если надо.
Добавляем источники
Для начала надо открыть общий доступ к папке на компе. У себя я открыл доступ ко всему диску D, на котором у меня фильмы, музыка, сериалы и прочее барахло.
ПКМ по диску/папке - свойства - вкладка доступ - расширенная настройка
Ставим галочку "открыть общий доступ к этой папке".
В этом же окне жмем на "Разрешения". Тут выбираем пользователя и даем ему нужные права. Важно что бы у этого пользователя был включен вход по паролю. Можно создать отдельного пользователя с входом по паролю и ограниченными правами.
Далее, уже в либре:
Настройки - Менеджер файлов - Добавить источник - Обзор - Добавить сетевой адрес
Протокол - Сеть Windows(SMB)
Имя сервера - ip адрес, вашего компа в локальной сети, либо его сетевое имя
Общая папка - папка, которую вы расшарили
Имя пользователя - имя вашей учетной записи
Пароль - ваш пароль
Далее - слева ОК. Наша папка должна появиться в списке. Открываем ее и если все правильно, то она откроется и вы увидите ее содержимое. Снова слева нажимаем ОК. И еще раз ОК в первом окне, где нажимали Обзор. Здесь же можно задать имя нашему источнику. После этого в менеджере файлов появилась наша папка. Теперь указываем папки с фильмами, сериалами и музыкой:
Настройки - Медиа - Медиатека - Видео/Музыка/Изображения - Добавить видео/музыку/изображения - Обзор
и из списка открываем наш добавленный источник. Выбираем папку с фильмами. Слева жмем ОК. В первом окне тоже ОК. Откроется новое окно, в котором надо указать что именно содержит эта папка - Фильмы, Сериалы, Клипы. выбираем "Фильмы". В настройках чуть ниже выбираем предпочитаемый язык - ru. Что бы описание фильмов было на русском языке.
После подтверждения будет предложено просканировать эту папку. Соглашаемся.
Так же добавляем папку с сериалами, только в содержании папки нужно указать что в ней содержатся сериалы. Аналогично добавляется музыка и фото.
IPTV.
Для использования iptv телевидения надо установить PVR клиент.
Настройки - Дополнения - Установить из репозитария - Все репозитарии - Клиенты pvr - PVR IPTV Simple client - Установить
После установки открываем его и выбираем настройки
В основных настройках нужно выбрать расположение плейлиста с каналами. У меня он скачан и лежит на компе на диске d. соответственно выбираю "Локальный путь" и ниже выбираю сам плейлист. Так же как и добавляли источник видео ранее. В установках EPG нужно указать файл с программой. Делается все так же. Но лучше всего указывать не файлы, а ссылки на файлы у ваших поставщиков - так они будут обновляться автоматически. В моем случае надо заново скачивать файлы.
Не очень читабельно)
YouTube
Настройки - Дополнения - Установить из репозитария - Все репозитарии - Видеодополнения - YouTube - Установить - Ок
Для авторизации надо подключить две копии приложения к своему аккаунту, для этого запускаем аддон и выбираем "Авторизация". Приложение выдаст код, который надо ввести по адресу google.com/device. На телевизоре как у меня это очень сложно - коды почти не разобрать, но получилось. Настройки не менял, только список меню изменил. Оставил только мои подписки, поиск и плейлисты
Elementum
Используется как альтернатива Quasar, который сейчас уже не поддерживается. Поиск фильмов и сериалов на торрент трекерах и просмотр их без скачивания. Причем подгружает он их в оперативную память, а не на sd карту.
Скачиваем с офф сайта версию Linux armv7. Так же для него нужен будет движок с провайдерами. качаем отсюда zip архив.
Настройки - Система - Дополнения - Установка из неизвестных источников - Соглашаемся с предупреждением
Настройки -Дополнения - Установить из файла zip. Выбираем наш плагин plugin.video.elementum-0.1.37.linux_armv7
После установки будет предложено установить Elementum Burst. Отказываемся. Вместо него поставим Elementum Nova
Настройки -Дополнения - Установить из файла zip. Выбираем нашего провайдера script.elementum.nova-1.0.30
Теперь настраиваем.
Настройки - Система - Дополнения - Мои дополнения - Программные дополнения - Elementum Nova - Настроить
Общие - Использовать прокси Elementum - Включаем
Провайдеры - тут выбираем по своему желанию. Я выбрал только LostFilm, RuTor и RuTracker
Настройки - Система - Дополнения - Мои дополнения - Видеодополнения - Elementum - Настроить
Здесь только в разделе "Прокси" поставил галочку "Использовать прокси antizapret". Все заработало
LostFilm
Сначала установим репозиторий, в котором содержится плагин
Настройки -Дополнения - Установить из файла zip. Выбираем наш репозиторий repository.nemiroff-1.0.1
Теперь сам плагин
Настройки -Дополнения - Установить из репозитория - Nemiroff Repository - Видеодополнения - LostFilm.TV - установить
В общих настройках указал данные своего аккаунта - почту и пароль. В настройках просмотра указал движок для просмотра - Elementum и все заработало.
Эмуляторы старых игровых консолей.
1. Retroarch + Emulationstation
Сперва надо скачать и установить репозиторий, в котором находится сам эмулятор. Затем из этого репозитория устанавливаем Retroarch. В настройках Retroarch надо скачать полный пакет ядер:
Настройки - Система - Дополнения - Мои дополнения - Игровые дополнения - Поставщики игр - Retroarch - Настроить - Download Libretro full core package
Ждем пока скачается и запускаем для настройки. Надо указать где лежат наши ромы. По умолчанию используются вот эти пути:
/storage/emulators/bios
/storage/emulators/roms
/storage/emulators/saves
Нам надо закинуть в папку roms папки со своими платформами. Важно что бы название папки с платформой было из списка с офф. сайта Emulationstation что бы корректно определялась платформа. Сам список на этой странице в разделе Platform Names. Делаем это либо через ssh, либо через smb сервер, который по умолчанию включен. Если у вас игры на флешке как у меня, то надо указать другие пути. RETROGAMES - это имя моей флешки
Setting - Directory - System/Bios |---------> /media/RETROGAMES/bios
Setting - Directory - File Explorer |---------> /media/RETROGAMES/roms
Setting - Directory - SaveFile |---------> /media/RETROGAMES/saves
Setting - Directory - SaveState |---------> /media/RETROGAMES/saves
Так же еще настроил клавишу home на геймпаде на выход из Retroarch чтобы попадать сразу в Emulationstation.
Setting - Input - Hotkey Bind
Там надо указать саму кнопку, по нажатию которой будут активироваться горячие клавиши(Hotkeys) и затем для самого действия(Quit Retroarch). В предыдущем меню включил опцию Press quit twice - что бы не закрыть игру по случайному нажатию, теперь надо нажимать кнопку home дважды.
После, на всякий случай сохранил конфигурационный файл:
Main Menu - Configuration File - Save Configuration File
Теперь ставим Emulationstation из того же репозитория. В настройках надо указать путь до наших ромов - он должен быть такой же какой указывали в Retroarch. Не забудьте нажать Update es_systems.cfg что бы ваш путь сохранился. Все, можно запускать Emulationstation.
При первом запуске будет предложено настроить ваши определившиеся геймпады. После настройки их попадаем в главное меню - боковой список платформ. Выбираем платформу, вашу любимую игру и играем. Scrapper у меня не заработал, почему то не нашел ни одной игры. Ни в архиве, ни в распакованном виде. Но я скачивал пак игр с 4pda и там уже были все нужные файлы, все автоматом подхватилось и корректно отобразилось.
Retroplayer
С 18 версии в Kodi присутствует свой эмулятор старых консолей. В разделе игры добавляем папку с ромами и все:) Но игры должны быть распакованы. Просто запускаем игру, будет предложено выбрать ядро и можно играть. Но не все платформы поддерживаются. Особо не разбирался с ним, но точно знаю что Nintendo 64 не поддерживается.
Internet Archive Game Launcher
Это просто гигантская онлайн база игр всевозможных платформ с картинками и описанием. Просто выбираем игру, скачиваем и играем. В настройках можно выбрать запускать через Retroplayer или Retroarch. Тоже особо не игрался с ним. Скачать можно тут. Вроде как в новых версиях kodi добавили этот репозитарий.
Управление
Управляю либо с геймпада, который сразу определился и вообще проблем никаких с ним не было ни в проводном режиме, ни в беспроводном(GameSir G4S кому интересно). Так же на андроиде установлено приложение Yatse. Подключаемся к той же сети что и наша малинка и в приложении выбираем добавить хост - Kodi в управлении хостами.
Теперь самое интересное - подключение ИК-Пульта:
Подключаем ИК приемник по следующей схеме:
Заметьте что сигнальный контакт ИК приемника(OUT) раздваивается - один провод идет к GPIO18 - этот пин используется по умолчанию для сигналов ИК приемника. А второй провод идет к GPIO3 - это для того чтобы можно было с пульта "разбудить" наше устройство.
Теперь подключаемся через терминал к малинке. Далее будем почти все делать в нем.
Сперва подключаем драйвер ИК-приемника. Для этого в файл /flash/config.txt, который мы правили в самом начале, надо добавить строчку:
dtoverlay=gpio-ir
По умолчанию для IR датчика используется GPIO 18. Если у вас подключено к другому пину, то надо указать к какому:
dtoverlay=gpio-ir,gpio_pin=23 Например, к 23
Но у меня подключено к 18 и поэтому ничего указывать не надо. После изменения и сохранения файла надо перезагрузиться что бы драйвер загрузился.
Далее надо остановить Kodi и Lircd, набрав по очереди следующие команды:
systemctl stop kodi
systemctl stop eventlircd
Если этого не сделать, то kodi или lirc будут перехватывать управление и мы не увидим сигналов с нашего пульта.
Далее смотрим какие поддерживаются протоколы:
ir-keytable
Supported protocols: other lirc rc-5 rc-5-sz jvc sony nec sanyo mce_kbd rc-6 sharp xmp
Теперь надо найти тот протокол, который будет работать с пультом. Для этого устанавливаем протокол и запускаем тест.
ir-keytable -p protocol -t
В это время направляете пульт на датчик и жмете кнопки. Если в терминале нет никакой реакции, то выходим из теста, нажав CTRL+C и запускаем следующий протокол для теста.
Как только подберете нужный протокол увидите примерно следующее:
Там будут сканкоды кнопок, которые вы нажали. Лучше сразу "прощупать" все кнопки на своем пульте и записать их коды в текстовичок. На моем пульте (rexant 38-0001) 4 кнопки не определились, а две кнопки и вовсе имеют один и тот же код.
После того как записали коды кнопок нужно сделать файл с назначением действий для них.
В офф инструкции по подключению ик пульта советуют брать коды действий из
/usr/share/kodi/system/Lircmap.xml в секции <remote device=“devinput”>
Так же коды можно посмотреть, выполнив команду:
irrecord -l | grep ^KEY
В итоге я собрал вот такую таблицу:
#table rexant_38-0001,type: NEC
0x5108 KEY_POWER
0x5112 KEY_TUNER
0x5107 KEY_INFO
0x5118 KEY_1
0x5119 KEY_2
0x511a KEY_3
0x511b KEY_4
0x511c KEY_5
0x511d KEY_6
0x511e KEY_7
0x511f KEY_8
0x510f KEY_9
0x5100 KEY_0
0x510c KEY_PREVIOUS
0x5105 KEY_NEXT
0x5106 KEY_REWIND
0x5115 KEY_PLAY
0x510d KEY_FORWARD
0x510b KEY_VOLUMEUP
0x510a KEY_VOLUMEDOWN
0x5114 KEY_CHANNELUP
0x510e KEY_CHANNELDOWN
0x5109 KEY_STOP
0x5104 KEY_EPG
0x5102 KEY_UP
0x5103 KEY_DOWN
0x5101 KEY_LEFT
0x5113 KEY_RIGHT
0x5110 KEY_OK
0x5111 KEY_EXIT
В первой строке обязательно должно быть имя и используемый протокол.
Файл с этой таблицей должен лежать здесь:
/storage/.config/rc_keymaps/rexant_38-0001
Теперь осталось только создать файл
/storage/.config/rc_maps.cfg
со следующим содержанием:
* * rexant_38-0001
Далее перезагрузка и можно управлять пультом:)
Вот только пульт этот оказался неудобен и я купил другой - Sagemcom DS187 HD (Справа)
На нем определились все кнопки и у каждой даже свой собственный сканкод:)
Так же как и для первого пульта нашел протокол и составил таблицу dsi87hd:
#table dsi87hd, type: NEC
0x860e12 KEY_POWER
0x860e28 KEY_LANGUAGE
0x860e01 KEY_1
0x860e02 KEY_2
0x860e03 KEY_3
0x860e04 KEY_4
0x860e05 KEY_5
0x860e06 KEY_6
0x860e07 KEY_7
0x860e08 KEY_8
0x860e09 KEY_9
0x860e00 KEY_0
0x860e29 KEY_INFO
0x860e13 KEY_EPG
0x860e0d KEY_VOLUMEUP
0x860e0e KEY_VOLUMEDOWN
0x860e10 KEY_CHANNELUP
0x860e1a KEY_CHANNELDOWN
0x860e0b KEY_UP
0x860e0c KEY_DOWN
0x860e1b KEY_LEFT
0x860e1c KEY_RIGHT
0x860e15 KEY_OK
0x860e14 KEY_BACK
0x860e0a KEY_HOME
0x860e1f KEY_MUTE
0x860e11 KEY_MENU
0x860e2e KEY_PREVIOUS
0x860e1d KEY_REWIND
0x860e26 KEY_FORWARD
0x860e2f KEY_NEXT
0x860e21 KEY_RECORD
0x860e24 KEY_STOP
0x860e23 KEY_PLAY
0x860e22 KEY_PAUSE
0x860e16 KEY_RED
0x860e17 KEY_GREEN
0x860e18 KEY_YELLOW
0x860e19 KEY_BLUE
Нижние два ряда кнопок пока не стал использовать.
Но мне не понравилось как работают некоторые кнопки. Например, red, green, yellow и blue. Они открывали pvr, список видео, музыки и фото. Причем открывали именно список с папками, а не саму библиотеку со списком фильмов или сериалов. Покапавшись в гугле нашел способ переназначения событий на уже готовые ключи. Нужно создать вот этот файл:
storage/.kodi/userdata/keymaps.xml
В котором указываем какие события у каких ключей хотим заменить на свои. Сами ключи, которые доступны смотрел
тут. Вот
здесь смотрел доступные команды, а
здесь какие окна можно вызвать. Получился такой вот небольшой файл.
<?xml version="1.0" encoding="UTF-8"?>
<keymap>
<global>
<remote>
<red>ActivateWindow(tvchannels)</red>
<green>ActivateWindow(videos,videodb://movies/titles/)</green>
<yellow>ActivateWindow(videos,videodb://tvshows/titles/)</yellow>
<blue>ActivateWindow(music,musicdb://artists/)</blue>
<power>ActivateWindow(shutdownmenu)</power>
<language>RunAddon(service.libreelec.settings)</language>
<record>ActivateWindow(favourites)</record>
</remote>
</global>
</keymap>
Заметьте, на кнопке language настроил запуск настроек самой либры. Там настройки подключения к вайфаю, который регулярно отваливается, а в некоторых темах нет ссылки на эти настройки.
Структура описания действий:
Все что описано в разделе global будет выполняться во всей системе. Раздел remote говорит нам что это действия для ИК управления. В него и записываем ключи и само действие. Если хотите что бы кнопка срабатывала в каком то определенном окне то создайте раздел с именем этого окна, а в нем уже раздел чем будете управлять, а в нем уже сами ключи-действия. Например:
<keymap>
<favourites>
<remote>
<red>ActivateWindow(tvchannels)</red>
</remote>
</favourites>
</keymap>
тут кнопка будет срабатывать в окне "Избранное". Помимо кнопок для пульта можно указать кнопки для геймпада, клавиатуры и тп.
После этого перегружаемся и если все правильно сделали - безмерно радуемся:)
Далее поставил еще тему Transparency! В ней покрупнее шрифт(Arial Big) - надо выбрать его из списка, причем "на ощупь" если язык стоит русский, потому что кириллицу не поддерживает шрифт по умолчанию. Так же покрупнее элементы меню, которые можно настроить практически как угодно. Ну и немного читабельнее в ней текст. Еще несколько фото:
Такой вот получился смарт тв.