Автор Тема: Дисплеи в OpenELEC  (Прочитано 3873 раз)

Оффлайн warik

  • Administrator
  • Старейшина
  • *****
  • Сообщений: 558
  • Лайков: 151
  • Карма: +10/-0
    • Просмотр профиля
    • OrangePi.pp.ua
Дисплеи в OpenELEC
« : Февраль 14, 2016, 10:46:23 am »
Приветствую!

Создал подобную тему, так как "бодался" со своим дисплеем с недельку. Потому предлагаю всем кто использует дисплеи на OpenELEC, втягиваться и писать что и как подключали, и как используете.

По сути у меня есть LCD 1602, самый обычный который можно заказать у товарищей наших в поднебесной. Дисплей подключен к OPi PC через, такой же самый простой, I2C переходник.
При прочтении инфы по сайтам, дисплей должен был завестись с пол оборота. Но как обычно бывает, не тут-то было ;)

При первом подключении и настройке дисплея, он моргал подсветкой и выводил какие-то кракозяблы  :) Сначала я подумал сам напортачил. Перепроверил, норм всё. Начал копать на эту тему. Как оказалось, я в принципе и предполагал это, проблема была в том, что по умолчанию у I2C переходника неправильная адресация в OpenELEC драйвере. На основном форуме OPi подсказали что есть патч для драйвера, и применив этот патч, адреса можно задавать прямо из конфига. После того как я получил ответ на форуме, попросил jernej добавить его в свои исходники. После добавления этого патча, и компиляции дистрибутива вместе с ним, всё заработало! Но тоже не сразу ;D Пришлось поколдовать с адресами в конфиге. Но после этого дисплей ожил!

По сути осталась только две проблемы.
1.Мой дисплей не поддерживает русский язык, и при отображении русских символов, отображает знаки вопроса. Сейчас думаю как бы его обмануть и чтобы при переходе, например, в раздел "Музыка" на дисплее отображалось "Music".
2. Пока не знаю адрес порта который управляет подсветкой. И соответственно подсветка пока горит постоянно, а хотелось бы чтобы гасла при проигрывании видео. - не актуально и уже решено.

Позже добавлю инфу относительно портов какие у меня получились при редактировании конфига.
« Последнее редактирование: Июнь 19, 2016, 12:19:58 am от warik »
Orange Pi PC, Orange Pi One, Orange Pi Zero

Оффлайн warik

  • Administrator
  • Старейшина
  • *****
  • Сообщений: 558
  • Лайков: 151
  • Карма: +10/-0
    • Просмотр профиля
    • OrangePi.pp.ua
Re: Дисплеи в OpenELEC
« Ответ #1 : Февраль 14, 2016, 11:07:49 am »
Подключение и настройка LCD1602\2004 I2C.

И так имеем Orange PI и OpenELEC.
Ссылка для скачивания OpenELEC последней сборки для Вашей платы тут. Сборки идут уже с добавлением патча о котором писал выше.

Я использовал исходники и компилировал свой образ. Но Вы можете использовать уже готовый.

Как устанавливать ОС описывать не буду. Сложного ничего нет. Одно скажу что при настройке этого дела, нам нужен будет SSH. Потому лучше его включить при первом конфигурировании, ну или же уже потом в настройках OpenELEC.
По умолчанию пользователь и пароль: root и openelec соответственно.
Для доступа по SSH на Windows я использую PuTTY.

Для начала необходимо установить плагины:
1. debug.tools.i2c-tools-7.0.0 - необходим для того чтобы узнать адрес дисплея.
2. script.xbmc.lcdproc-master - нужен для вывода информации на сам дисплей.
Я обычно ставлю через SMB шару. Но никто не мешает Вам скопировать на флешку и поставить с неё.

После установки lcdproc плагина, необходимо зайти в его настройки и включить подключение к демону LCD. Это делается на последней вкладке окна настроек плагина. Там просто нужно включить не изменяя настроек. У меня под рукой пока нет Kodi. Как будет, добавлю скрин.

Нам нужно узнать адрес нашего дисплея, для этого и нужен плагин i2c-tools. Подключаемся к OrangePI по SSH и выполняем команду:
ls /dev | grep i2c
Вывод будет примерно следующим:


Мы это сделали для того чтобы узнать номер шины на которой работает I2C. В моём случае 0. Бывает ещё 1. Других не видел.
Теперь нужно выполнить команду:
i2cdetect -y 0

0 - это как раз наш номер шины который узнали ранее.
То есть у меня адрес дисплея 27. По сути 0x27. Этот адрес нам будет нужен при изменении конфига LCD.

Теперь нужно включить поддержку LCD в самой OpenELEC. Для этого перейдите: "Система" > "OpenELEC" > "Службы" и дальше включите поддержку ЖК экрана и выберите драйвер: "hd44780":



Далее дело за конфигами. У нас их 2:
1. LCDd.conf
2. LCD_1602.xml или LCD_2004.xml для 1602 и 2004 соответственно.
Необходимо отредактировать их. Я вырезал из них всё лишнее и оставил только то, что использую сам. Оригиналы конфигов Вы можете найти по ссылкам: LCD.xml и LCDd.conf. Описание директив конфигов по ссылкам: LCDd.conf и LCD.xml.
Отредактировать необходимо несколько директив:
Device=/dev/i2c-0 #Адрес шины i2c который мы узнали ранее.
Port=0x27 #Адрес самого дисплея.
Size=16x2 #Размеры устройства. То есть 16 символов и 2 строки или 20 символов и 4 строки.
Так же Вы можете отредактировать дополнительные директивы. Но не обязательно.
Hello="Welcome to" #Первая строка сообщения которое выводиться при старте LCDproc.
Hello="OpenELEC" #Вторая строка.
GoodBye="Thanks for using" #Первая строка сообщения которое выводиться перед остановкой LCDproc.
GoodBye="OpenELEC"#Вторая строка.

После редактирования конфигов, их необходимо скопировать в папки. Можете использовать любой удобный для Вас способ. Я обычно использую WinSCP.
Первый копируеться по пути: /storage/.config, а второй /storage/.kodi/userdata. То есть получаем такое: /storage/.config/LCDd.conf и /storage/.kodi/userdata/LCD.xml для каждого из конфигов.

Далее необходимо добавить команду запуска в cron. Для этого в консоли выполняем:
crontab -e
И вставляем код:
/usr/sbin/LCDd -f -c /storage/.config/LCDd.conf -d hd44780
Это команда запуска LCD демона с указанием нашего конфига и драйвера дисплея. В принципе в конфиге уже описан драйвер который необходимо использовать, но я давно уже добавил именно такую команду и оно мне не мешает.


По сути всё. Перезагружаем OrangePI и любуемся работой дисплея.

Прошу Вас указать на недочёты или ошибки. Будем исправлять.

Ещё замечу что проблему с русским так и не удалось победить. На русскоязычном форуме молчат.
« Последнее редактирование: Июнь 20, 2016, 04:48:54 pm от warik »
Orange Pi PC, Orange Pi One, Orange Pi Zero

Оффлайн gmonorok

Re: Дисплеи в OpenELEC
« Ответ #2 : Март 09, 2016, 11:43:09 am »
Решили с русским языком?
Коммунити и я лично были бы вам благодарны за подробный мануал как подружить OE с дисплеем....

Оффлайн warik

  • Administrator
  • Старейшина
  • *****
  • Сообщений: 558
  • Лайков: 151
  • Карма: +10/-0
    • Просмотр профиля
    • OrangePi.pp.ua
Re: Дисплеи в OpenELEC
« Ответ #3 : Март 09, 2016, 01:49:43 pm »
На счёт русского нет решения. Создал тему на русском форуме XBMC, но и там что-то молчат.
« Последнее редактирование: Июнь 21, 2016, 09:21:28 am от warik »
Orange Pi PC, Orange Pi One, Orange Pi Zero

Оффлайн FloX

Re: Дисплеи в OpenELEC
« Ответ #4 : Март 21, 2016, 06:44:49 am »
а где скачать образ opennelec уже пропатченый? lirc там работает?

Оффлайн warik

  • Administrator
  • Старейшина
  • *****
  • Сообщений: 558
  • Лайков: 151
  • Карма: +10/-0
    • Просмотр профиля
    • OrangePi.pp.ua
Re: Дисплеи в OpenELEC
« Ответ #5 : Март 26, 2016, 10:44:11 pm »
а где скачать образ opennelec уже пропатченый? lirc там работает?
Тут. Уже пропатченые образы там.
Я же писал:
После того как я получил ответ на форуме, попросил jernej добавить его в свои исходники. После добавления этого патча, и компиляции дистрибутива вместе с ним, всё заработало!
Orange Pi PC, Orange Pi One, Orange Pi Zero

Оффлайн FloX

Re: Дисплеи в OpenELEC
« Ответ #6 : Апрель 12, 2016, 09:44:47 am »
сделайте уже HOW-TO по i2c LCD
подключил дисплей, i2cdetect его показывает 0х27
LCD.xml и LCDd.conf  сделал как тут http://www.orangepi.org/orangepibbsen/forum.php?mod=viewthread&tid=1103&extra=&page=1
XBMC LCDproc addon установил.
дисплей мерцает хаотично, на нем различные символы появляются и исчезают.
в чем может быть проблема?
« Последнее редактирование: Апрель 12, 2016, 10:42:21 am от FloX »

Оффлайн gmonorok

Re: Дисплеи в OpenELEC
« Ответ #7 : Июнь 02, 2016, 11:23:54 pm »
Тоже самое.
В поисках решения....

Оффлайн warik

  • Administrator
  • Старейшина
  • *****
  • Сообщений: 558
  • Лайков: 151
  • Карма: +10/-0
    • Просмотр профиля
    • OrangePi.pp.ua
Re: Дисплеи в OpenELEC
« Ответ #8 : Июнь 03, 2016, 12:54:59 pm »
Жду 2004 дисплея чтобы проверить его и написать статью уже с ним.
Orange Pi PC, Orange Pi One, Orange Pi Zero

Оффлайн warik

  • Administrator
  • Старейшина
  • *****
  • Сообщений: 558
  • Лайков: 151
  • Карма: +10/-0
    • Просмотр профиля
    • OrangePi.pp.ua
Re: Дисплеи в OpenELEC
« Ответ #9 : Июнь 19, 2016, 12:14:52 am »
Ну не прошло и полгода. Инструкция готова и доступна по адресу: Подключение и настройка LCD1602\2004 I2C.
« Последнее редактирование: Июнь 19, 2016, 12:16:55 am от warik »
Orange Pi PC, Orange Pi One, Orange Pi Zero

Оффлайн gmonorok

Re: Дисплеи в OpenELEC
« Ответ #10 : Июнь 20, 2016, 12:15:48 pm »
Спасибо огромное!
Все завелось отлично!!
Вот бы ещо русский победить как нибудь..
Вообще бы шик!

Оффлайн warik

  • Administrator
  • Старейшина
  • *****
  • Сообщений: 558
  • Лайков: 151
  • Карма: +10/-0
    • Просмотр профиля
    • OrangePi.pp.ua
Re: Дисплеи в OpenELEC
« Ответ #11 : Июнь 20, 2016, 04:45:34 pm »
Ну я пока забил на это. Можете отписаться в этой теме: LCD 1602 и Русский язык может кто увидит и кинет идею как можно победить. Ну или искать LCD с поддержкой русского. Но они по цене по моему дороже.
Orange Pi PC, Orange Pi One, Orange Pi Zero

Оффлайн gmonorok

Re: Дисплеи в OpenELEC
« Ответ #12 : Июнь 20, 2016, 05:03:38 pm »
Интересно, это не как прикрутить нельзя?
https://github.com/ssilver2007/LCD_1602_RUS

Странно во что.
На расберри должны быть такие же проблемы.
Но что то как не гуглил для него тоже нет решения (хотя коммунити НАМНОГО больше)