Содержание

Планшет из Raspberry Pi своими руками

Микрокомпьютер Raspberry Pi отличается не только широчайшим спектром применения, но и поддержкой устройств сторонних разработчиков, значительно расширяющих функциональность платы. Сегодня мы рассмотрим простейший способ научить работать Raspberry Pi с сенсорным экраном. А на выходе получим крошечный планшет с настольной операционной системой.

Какие есть экраны для Raspberry Pi

Есть как минимум три возможности подключить экран:

  1. Display-порт в виде зажимного разъёма на фронтальной поверхности.
  2. HDMI-разъём.
  3. Пины GPIO — разъёма универсального ввода-вывода.

Все они позволяют подключать к Raspberry Pi экраны с тачскрином.

Через дисплейный разъём работают некоторые стандартные LCD-панели (для разработчиков и встраиваемых устройств). Есть и оригинальный 7-дюймовый экран, устанавливаемый с обратной стороны Raspberry. К сожалению, этот вариант очень дорогой, зато для его запуска не требуется ничего. Просто скачать систему и вставить флешку с ней. В обычном Raspbian (Debian для Raspberry Pi) обеспечивается нативная поддержка этой железки.

Более доступным вариантом, особенно в странах СНГ, где доставка из Великобритании убивает всю прелесть «Малинки», стали экраны компании WaveShare, работающие через GPIO. Почему? Это позволяет реализовать поддержку экрана в любых вариантах NIX-систем для Raspberry Pi с любыми версиями платы (для Raspberry Pi 2 и 3 используется один дистрибутив, для первой ревизии — отдельный) и упростить настройку и отладку полученной системы. К тому же они всегда есть в наличии и стоят всего 23 доллара.

Как подключить

Нет ничего проще: нужно всё распаковать, а потом подключить экран к GPIO-разъёмам Raspberry Pi. Не потребуется даже считать пины — просто совместите платы так, чтобы экран был ровно над основной платой.

Как настроить

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

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

К сожалению, ни тот ни другой способ не заставит работать одновременно и экран, подключённый через GPIO, и HDMI-порт. Реализовать трансляцию на телевизор или монитор можно уже внутри системы, подключая монитор в качестве дополнительного экрана.

lifehacker.ru

Подключение TFT-дисплея к Raspberry Pi

Продолжаю публиковать цикл статей об освоении Raspberry Pi и Arduino.

Сегодняшняя статья посвящена подключению сенсорного TFT-дисплея к Raspberry Pi.

Для «малинки» выпускается и продается великое множество различных сенсорных дисплеев, но каких-то особых различий между ними нет. В основе лежит проверенная временем линейка дисплеев от компании Waveshare Electronics, которую копируют и выпускают с использованием тех же комплектующих под своим лейблом другие китайские производители.

Свой дисплей я покупал в интернет-магазине GearBest вместе с самим микрокомпьютером.

Что нам понадобится

Для реализации описываемых в этой статье действий понадобится:

Подразумевается, что перед подключением дисплея Raspberry Pi уже готова к работе. Подробно о том, как установить OS Raspbian и провести первичную настройку я писал в статье «Raspberry Pi 3. Обзор и начало работы».

TFT-дисплей: краткий обзор и подключение

TFT-дисплеи для Raspberry Pi можно поделить на 3 разновидности:

  • подключаемые через DSI-интерфейс (15-контактный разъем для плоского шлейфа)
  • подключаемые через HDMI-разъем
  • подключаемые через GPIO

Большинство дисплеев с маленькой диагональю (до 4 дюймов) подключаются через GPIO и представляют собой печатную плату, на которой зафиксирован сам TFT-модуль, распаян адаптер и GPIO-разъем для подключения.

Подобные платы в среде Raspberry Pi принято называть HAT: Hardware Attached on Top, что в переводе означает «аппаратура, подсоединенная сверху».

Краткий обзор

Купленный мною модуль производства китайской фирмы Keyes (не путать с китайской же Keyestudio — это разные компании) представляет собой HAT-плату из красного текстолита.

Сверху на нем смонтирован сенсорный дисплей диагональю 3,2″ с разрешением 320×240 пикселей — как на старых смартфонах середины нулевых годов, а также 3 физические кнопки.

Задействованный модуль дисплея имеет название INANBO-TP32D, но практической пользы знание этой подробности не несет.

На обратной стороне расположен 26-контактный GPIO-слот для подключения платы к Raspberry Pi. Тут же виден DSI-интерфейс с уже подключенным к нему шлейфом от TFT-модуля, какой-то контроллер и другие мелкие детали.

По сути, плата является адаптером, который должен подружить конкретный TFT-модуль с конкретными спецификациями, сенсорный интерфейс и хардварные кнопки с «малиной» через GPIO.

Подключается дисплей к «малинке» очень просто — совмещаем расположенный на HAT-плате разъем со штырьками GPIO начиная с самых крайних.

Мне пришлось вытащить свою Raspberry Pi 3 из корпуса — иначе плата не насаживалась на штырьки, упираясь своими «рожками» в боковые стенки. Вообще, эти рожки — голый текстолит, так что можно аккуратно спилить их лобзиком и тогда плата прекрасно поместится в корпус. Но смысла в таком действии я не увидел, и далее объясню почему. Также я пока не стал снимать защитную пленку — она несколько неряшливо смотрится на фото, но не мешает работать с дисплеем.

При подаче питания на Raspberry Pi дисплей засветится сплошным белым цветом, но изображения на нем не возникнет. Это нормально, так и должно быть. Белое свечение свидетельствует о том, что дисплей исправен, правильно подключен и на него поступает питание с GPIO. А вот для вывода на него изображения понадобится скачать и установить драйвера.

Установка драйверов

Загуглив «драйвера для дисплея Raspberry Pi», я сперва наткнулся на какие-то страшные и громоздкие мануалы, в которых рекомендовалось скачать какие-то файлы из git-репозитория, потом куда-то их установить, затем вручную внести правки в файлы конфигурации и вручную же выставить правильное разрешение экрана путем правки других файлов.

Возможно, когда-то эти инструкции действительно были актуальны и ради подключения внешнего дисплея приходилось идти на такие мучения.

Но на данный момент установка драйверов для TFT-дисплея к Raspberry Pi не более сложна, чем процесс физического подключения дисплея к микрокомпьютеру, и займет не более 5 минут времени.

Первым делом нужно скачать архив с драйвером (LCD-show-161112.tar.gz) с вот этой страницы.

Затем распакуем его при помощи консольной команды:

tar xvf LCD-show-161112.tar.gz

Перейдем в директорию с распакованным драйвером:

cd LCD-show/

И запустим скрипт, который сделает всю остальную работу:

./LCD32-show

Обратите внимание, что этот скрипт создан для работы с дисплеем диагональю 3,2″ — как у меня. Поэтому для работы с дисплеями других диагоналей потребуется запуск других скриптов: LCD28-show, LCD35-show, LCD4-show, LCD4-800×480-show, LCD43-show, LCD5-show, LCD7-800×480-show, LCD7-1024×600-show, LCD101-1024×600-show.

Все они идут в комплекте с вышеуказанным драйвером, а для какого дисплея предназначен какой скрипт — понятно из названий.

Если все сделано правильно, то после запуска скрипта Raspberry Pi начнет перезагружаться, а на дисплее появится изображение.

Для переключения обратно с сенсорного TFT-дисплея на HDMI-монитор нужно снова из консоли зайти в папку с драйвером:

cd LCD-show/

И активировать скрипт:

./LCD-hdmi

После этого «малина» опять перезагрузится, экран загорится белым цветом, а изображение будет выводиться на подключенный по HDMI монитор.

Также драйвер позволяет переворачивать изображение на 90, 180 и 270 градусов:

cd LCD-show/
./LCD32-show 90

После перезагрузки изображение на TFT-дисплее будет повернуто на 90 градусов.

cd LCD-show/
./LCD32-show 180
cd LCD-show/
./LCD32-show 270

Вот эти команды поворачивают изображение на 180 и 270 градусов соответственно.

cd LCD-show/
./LCD32-show 0

Возврат к ориентации экрана по умолчанию.

Сенсорный интерфейс отдельно настраивать не надо — он уже прописан в драйвере и активируется по умолчанию.

Нерешенным остается вопрос с физическими кнопками, которые присутствуют на некоторых модулях экранов. Я пока оставил его без внимания, потому что не увидел смысла в наличии этих кнопок для себя. Какие действия мне на них вешать, и, главное, зачем?

TFT-дисплей для Raspberry Pi 3 в работе

Подвох заключается в том, что графический интерфейс Raspbian не предназначен для работы в разрешении 320×240.

Вот так выглядит рабочий стол Raspbian PIXEL. Я заранее установил в настройках интерфейса самый маленький из возможных размер ярлыков в панели задач — иначе в столь низком разрешении они накладываются друг на друга.

Открываем меню. Более-менее терпимо, хотя конечно же это ненормально, когда меню занимает больше половины ширины экрана.

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

А вот с консолью работать вполне можно. Тут низкое разрешение не помеха. А если выгрузиться из GUI вообще, то пользование консолью станет еще удобнее.

Заключение

Небольшие подключаемые TFT-дисплеи для Raspberry Pi отлично подходят для работы с консолью в полевых условиях и способны стать заменой обычному полноразмерному монитору.

Также они могут использоваться в DIY-устройствах на базе Raspberry Pi (умный дом, медиацентр, 3d-принтер, станок с ЧПУ) для вывода информации и управления через специально созданный с учетом низкого разрешения и малой диагонали графический интерфейс.

Но для работы в Raspbian PIXEL они непригодны по причине отсутствия адаптации к разрешениям ниже 1024×600 в этом GUI.

К качеству работы обозреваемого в этой статье дисплея у меня претензий нет. Но на данный момент мне просто некуда его применить, так что он отправляется отдыхать на полку. Планирую в дальнейшем задействовать его в устройстве «умного дома».

3,2″ TFT-дисплей для Raspberry Piв интернет-магазине GearBest

dmitrysnotes.ru

Цветной сенсорный графический TFT-экран для Raspberry PI [Амперка / Вики]

Видеообзор

Подключение и настройка

Перед установкой дисплея на платформу Raspberry Pi определите версию вашего дисплея. Данный модуль подключается к Raspberry Pi через GPIO разъем. Просто вставляйте его методом бутерброда на Raspberry Pi. После подключения питания к Raspberry Pi экран должен засветиться белым цветом.

Установка драйверов

Железо подключено, пора приступать к установке и настройки программной части.

  1. Вставьте SD-карту c установленной Raspbian в Raspberry Pi.

  2. Подключите питание и сетевой кабель.

  3. Залогиньтесь по SSH на Raspberry Pi.

  4. В зависимости от версии дисплея скачайте архив с драйверами:

    На Raspberry Pi 3 работают дисплеи с начиная с версии 6.0

    1. для версии 1:
      wget http://files.amperka.ru/store-media/products/tft-touch-color-display-480x320-raspberry-pi/media/LCD_show_v1.tar.gz
    2. для версии 2:
      wget http://files.amperka.ru/store-media/products/tft-touch-color-display-480x320-raspberry-pi/media/LCD_show_v2.tar.gz
    3. для версии 3:
      wget http://files.amperka.ru/store-media/products/tft-touch-color-display-480x320-raspberry-pi/media/LCD_show_v3.tar.gz
    4. для версии 4:
      wget http://files.amperka.ru/store-media/products/tft-touch-color-display-480x320-raspberry-pi/media/LCD_show_v4.tar.gz
    5. для версии 5:
      wget http://files.amperka.ru/store-media/products/tft-touch-color-display-480x320-raspberry-pi/media/LCD_show_v5.tar.gz
    6. для версии 6.0:
      wget http://files.amperka.ru/store-media/products/tft-touch-color-display-480x320-raspberry-pi/media/LCD_show_v6.0.tar.gz
    7. для версий 6.1 и 6.2:
      wget http://files.amperka.ru/store-media/products/tft-touch-color-display-480x320-raspberry-pi/media/LCD_show_v6.1.tar.gz
  5. Распакуйте архив:

    1. для версии 1:
      tar -xvf LCD_show_v1.tar.gz
    2. для версии 2:
      tar -xvf LCD_show_v2.tar.gz
    3. для версии 3:
      tar -xvf LCD_show_v3.tar.gz
    4. для версии 4:
      tar -xvf LCD_show_v4.tar.gz
    5. для версии 5:
      tar -xvf LCD_show_v5.tar.gz
    6. для версии 6.0:
      tar -xvf LCD_show_v6.0.tar.gz
    7. для версий 6.1 и 6.2:
      tar -xvf LCD_show_v6.1.tar.gz
  6. Перейдите в распакованную директорию:
    cd LCD_show
  7. Запустите скрипт вывода изображения на дисплей:

    1. для версии 1:
      sudo ./LCD35_v1
    2. для версии 2:
      sudo ./LCD35_v2
    3. для версии 3:
      sudo ./LCD35_v3
    4. для версии 4:
      sudo ./LCD35_v4
    5. для версии 5:
      sudo ./LCD35_v5
    6. для версии 6.0:
      sudo ./LCD35_v6.0
    7. для версии 6.1 и 6.2:
      sudo ./LCD35_v6.1

После выполнения скрипта платформа перезагрузиться и сигнал изображения будет выводиться на дисплей. Теперь вы можете работать и управлять Raspberry PI прямо с дисплея, не подключая при этом никаких дополнительных устройств.

Обратите внимание: Raspberry Pi не может выдавать одновременно сигнал на HDMI-разъём и дисплей.

Для вывода изображения на HDMI запустите скрипт:

sudo ./LCD_hdmi

Характеристики

  • Интерфейс: SPI

  • Диагональ: 3,5 дюйма

  • Разрешение: 480×320

  • Рабочее напряжение: 3,3 В

  • Тип тачскрина: Резистивный

  • Контроллер тачскрина: XPT2046

Ресурсы

wiki.amperka.ru

Подключение экрана к Raspberry Pi

Пошаговая инструкция по подключению экрана к Raspberry Pi.

Недавно, я купил на ebay сенсорный TFT LCD модуль экрана с разрешением 320 на 240. В этой статье я подробно опишу процесс подключения его к Raspberry Pi.

Внешний вид

Подключение экрана к Raspberry Pi

Данный модуль подключается к Raspberry Pi через GPIO разъем. Просто берем его и вставляем.

После подключения питания к Raspberry Pi экран должен засветиться белым цветом.

Установка драйверов экрана для Raspberry Pi

Железо подключено, пора приступать к установке и настройки программной части.

Авторизируемся в консоли под пользователем root.

Переходим в каталог home, введя команду: cd /home

Скачиваем архив с драйверами командой: wget http://repository.geekelectronics.org/tontec28-drivers-master.tar.gz

Распаковываем архив командой: tar -xvf tontec28-drivers-master.tar.gz

Переходим в папку с драйверами для экрана командой: cd /home/tontec28-drivers-master/mzt280

Компилируем драйвера командой: make && make install

Открываем файл /boot/config.txt и добавляем в него следующие параметры:

framebuffer_width=640
framebuffer_height=480

Если данные строки уже существуют в этом файле, то просто поменяйте в них значения на вышеописанные.

Открываем файл /etc/rc.local и добавляем сроку:

/usr/bin/mzt280 &

перед exit 0

Перезагружаем Raspberry Pi командой: reboot

После перезагрузки экран заработает.

Демонстрация работы

На этом пока все. С установкой драйверов для тачпада я еще не разобрался.

geekelectronics.org

Raspberry Pi 3: как подключить TFT-дисплей

Raspberry Pi обрел популярность главным образом благодаря 3 вещам: компактности, низкому энергопотреблению и возможности легко подключать к нему самые разнообразные дополнительные устройства. Одним из таких девайсов является небольшой ЖК-дисплей.

Содержание

  • Что представляет собой дисплей для RPi3 и как его можно использовать
  • Как подключить экран к Raspberry Pi 3

Raspberry Pi обрел популярность главным образом благодаря 3 вещам: компактности, низкому энергопотреблению и возможности легко подключать к нему самые разнообразные дополнительные устройства. Одним из таких девайсов является небольшой ЖК-дисплей.

Что представляет собой дисплей для RPi3 и как его можно использовать?

Существует множество моделей дисплеев для «Малины». Но наиболее популярным вариантом экрана для Raspberry Pi 3 является монитор со следующими характеристиками:

  • диагональ – 3,5 дюйма;
  • разрешение – 480 на 320 точек;
  • тип матрицы – цветная TFT;
  • резистивный сенсор.

Для Raspberry Pi 3 TFT 3,5″ – практически эталон. Это связано с тем, что «экранчик» такого размера можно легко разместить в одном небольшом корпусе с платой компьютера.

Чтобы стало понятно, такой монитор для Raspberry Pi 3 по своему размеру полностью идентичен дисплею на iPhone 4/4S. Но разрешение у него, конечно, не настолько высокое. Однако это ему и не нужно.

Теперь кратко о том, как может использоваться на Raspberry Pi 3 3,5″ LCD-дисплей. Чаще всего его применяют для отображения информации с датчиков. Так, «Малину» можно превратить в анализатор погодных условий, и на подключенный к ней монитор система может выводить собранные сведения. Конечно, получать соответствующие данные можно и по SSH, но иногда удобнее просто посмотреть на маленький экран.

Другой вариант – создание портативных игровых консолей. Несколько лет назад среди любителей электроники был даже тренд на такие устройства из RPi. 3,5″ экрана, разрешением 480х320, в свою очередь, вполне достаточно, чтобы контролировать игровой процесс и даже получать от него удовольствие. Но для создания портативной консоли следует очень внимательно подходить к выбору дисплея. Важно, чтобы скорость отрисовки на нем была быстрой.

Кроме 3,5-дюймовых моделей, есть и другие. Например, в специализированных магазинах можно купить для Raspberry Pi 3 экран 7″. Также к RPi при желании возможно подключить и дисплеи от планшетов или телефонов. Хотя это сделать значительно труднее, чем подсоединить монитор, предназначенный специально для «Малины».

Как подключить экран к Raspberry Pi 3?

Теперь можно приступить к рассмотрению вопроса, касающегося того, как подключить сенсорный экран к Raspberry Pi 3. В большинстве случаев это сделать предельно просто.

Если к Raspberry Pi 3 выполняется подключение дисплея, созданного специально для этого одноплатника, тогда достаточно сделать 2 вещи. Первая – подсоединить экран к GPIO в соответствии с инструкцией. Вторая – запустить скрипт, который поставляется в комплекте с устройством. Он, в свою очередь, перенастраивает ядро системы. В результате вывод графики перенаправляется с HDMI на SPI.

Проблема может возникнуть в случае, если в комплекте нет драйверов. Но решить её очень легко. Для этого нужно зайти на страницу: waveshare.com/wiki/3.2inch_RPi_LCD_(B) и загрузить оттуда архив. После этого командой tar xvf МЕСТО_РАСПОЛОЖЕНИЯ_СКАЧЕННОГО_ФАЙЛА/НАЗВАНИЕ_ФАЙЛА.tar.gz распаковать его, а затем перейти в создавшуюся папку: cd LCD-show/.

Если в терминале ввести ls, можно увидеть несколько файлов. Они имеют название типа: LCDXX-XXXxXXX-show. Вместо XX-XXXxXXX идут цифры. Первые (до тире) – диагональ дисплея, вторые (после тире) – разрешение экрана. Чтобы заставить работать экран, нужно выбрать тот вариант, который соответствует параметрам имеющегося монитора.

Запускается скрипт командой ./LCDXX-XXXxXXX-show. Вместо «иксов» нужно указывать цифры, присутствующие в названии файла подходящего скрипта. После выполнения кода Raspberry должна перезагрузиться.

При последующем включении изображение будет выводиться уже не на большой монитор, а на подключенный дисплей. Если все заработало, дальше настраивать ничего не нужно. Но если понадобится опять выводить изображение по HDMI, потребуется перейти в папку со скриптами и запустить оттуда: ./LCD-hdmi.

Как возможно убедиться, заставить «Малину» выводить изображение на подсоединенный по GPIO экран очень легко. Это сделать лишь чуть труднее, чем просто подключить обычный монитор по HDMI.

myraspberry.ru

Цветной сенсорный HDMI TFT-экран для Raspberry PI [Амперка / Вики]

Видеообзор

Подключение к Raspberry Pi

  1. Подключите дисплейный модуль к Raspberry Pi с помощью проводов, входящих в комплект:

    1. Разъём-HDMI дисплея с разъёмом-HDMI Raspberry PI, для передачи видео сигнала.

    2. Разъём-microUSB — с одним из разъёмов USB Raspberry PI, для передачи питания и сигнала тачпада.

  2. Вставьте SD-карту c установленной Raspbian в Raspberry Pi.

  3. Залогиньтесь по SSH на Raspberry Pi.

  4. Перейдите в директорию boot и откройте файл config.txt:
    sudo nano /boot/config.txt
  5. Добавьте в него следующие строки:
    max_usb_current=1
    hdmi_group=2
    hdmi_mode=1
    hdmi_mode=87
    hdmi_cvt 800 480 60 6 0 0 0
    hdmi_drive=1
  6. Сохраните файл командой Ctrl+O

  7. Перезагрузите Raspberry:
    sudo reboot

Сигнал с Raspberry PI будет передаваться на HDMI-разъём в разрешении 800 на 400 точек с частотой 60 кадров в секунду.

Теперь у вас есть маленький полноценный HDMI-монитор, который покажет все ваши действия в реальном времени.

Установка драйверов тачпада

Перед установкой драйверов определите производителя вашего дисплея.

  • для производителя «Waveshare», драйвера установятся автоматически и можете пропускать раздел.
  • для производителя «Eleduino», драйвера ставятся вручную.

Дисплей от «Eleduino» не поддерживает тачпад на последней модели Raspberry Pi 3 и образах «Raspbian» с ядром «Kernel 4.4» и выше.

  1. Скачайте архив с драйверами:
    wget http://files.amperka.ru/store-media/products/tft-touch-color-display-800x480-raspberry-pi/media/RPI2B_B_B_USB_TOUCH_RES_5.0_RASPBIAN.tar.gz
  2. Распакуйте архив:
    tar -xvf RPI2B_B_B_USB_TOUCH_RES_5.0_RASPBIAN.tar.gz
  3. Перейдите в распакованную директорию:
    cd RPI2B_B_B+_USB_TOUCH_RES_5.0_RASPBIAN
  4. Запустите скрипт установки драйверов для тачпада:
    sudo ./USB_TOUCH_RES_5.0_RASPBIAN

После выполнения скрипта платформа перезагрузится и сенсорная панель станет работоспособной.

Калибровка тачпада

Для калибровки касаний тачпада необходимо выполнить следующие действия. Выполним их с помощью консоли.

  1. Установим программу xinput_calibrator
     sudo apt-get install -y xinput-calibrator 
  2. Создадим папку в которой будет храниться файл с настройками
     sudo mkdir /etc/X11/xorg.conf.d 
  3. На образах 2017-03-02-raspbian-jessie необходимо выполнить следующие дополнительные настройки
     sudo apt-get install xserver-xorg-input-evdev 
     sudo cp -rf /usr/share/X11/xorg.conf.d/10-evdev.conf /usr/share/X11/xorg.conf.d/45-evdev.conf 
     sudo reboot 
  4. После перезагрузки вызовем шаблон калибровки и отметим стилусом все контрольные точки
     sudo DISPLAY=:0.0 xinput_calibrator 
  5. выделите и сохраните полученные данные
    Section "InputClass"
    Identifier	"calibration"
    MatchProduct	"WaveShare WS170120"
    Option	"Calibration"	"160 3723 181 3896"
    Option	"SwapAxes"	"0"
    EndSection 
  6. Создадим и откроем файл с настройками
     sudo nano /etc/X11/xorg.conf.d/99-calibration.conf 
  7. Вставьте скопированные ранее настройки в файл, нажмите клавиши Ctrl + X и выберите вариант Y, чтобы сохранить изменения. Нажмите Enter для подтверждения именования файла.

  8. Перезагрузите raspberry
     sudo reboot 

Подключение к другим цифровым устройствам

Дисплей можно использовать не только с Raspberry PI, но и с другими устройствами, поддерживающими вывод видеосигнала по HDMI. Для этого подключите дисплейный модуль к вашему цифровому устройству по HDMI и укажите в настройках устройства разрешение 800×480 с частотой кадров не более 60fps.

При использовании дисплея не с Raspberry Pi или BeagleBone, сенсорная панель не используется.

Характеристики

  • Интерфейс видеопотока: HDMI

  • Интерфейс тачскрина: USB

  • Диагональ: 5 дюймов

  • Разрешение: 800×480

  • Тип тачскрина: резистивный

  • Размер дисплея: 121×76 мм

  • Размер модуля: 132×76 мм

Ресурсы

wiki.amperka.ru

Raspberry Pi 2,3 с 5-дюймовым экраном и тачскрином / Raspberry Pi / stD

В комплекте с монитором поставляется п-образный HDMI-HDMI переходник, стилус и латунные стойки с винтиками.


С обратной стороны экрана есть переключатель, сдвиньте его ближе к микро-usb разъёму.

Здравствуйте.

Мне уже доводилось писать про установку ОС на Raspberry Pi без графики и про управление GPIO. Сейчас мы будем устанавливать ОС RASPBIAN JESSIE с графикой и подключать 5-ти дюймовый экран с тачскрином, который можно приобрести в магазине чип и дип за 4000р.
Плюс, поверх основной ОС установим полноценный медиацентр Kodi для удобного просмотра видео контента. То есть для переключения между RASPBIAN и Kodi не потребуется перезагрузка.

Для работы с этим экраном будем устанавливать не самый последний релиз, у меня с ним возникли трудности (проблемы с тачскрином и ещё с чем-то), а образ полугодовалой давности — Raspbian Jessie 2016-09-23 5GB (rpi2+3) (kernel 4.4+).img.7z. Скачать его можно здесь и прямая ссылка, так же на всякий случай здесь.

Распакуйте образ, который будет весить 4 с лишним Гб.
SD-карточку лучше всего используйте не менее 8ГБ и желательно хорошего качества известного бренда (у меня Transcend Premium 400x). От этого сильно зависит скорость работы малины.

О том, как поместить образ на флешку написано в предыдущей статье, начиная с этого места и до главы «Запуск«. После выполнения описанных там действий не вынимайте карточку и возвращайтесь сюда.

Теперь нужно найти и отредактировать файл config.txt (если работаете в windows, то обязательно скачайте текстовый редактор Notepad++ и делайте всё в нём).

В windows этот файл находится в корне диска (на самом деле это загрузочный раздел boot, около 100Мб. Размечен как FAT32. Другая часть флешки размечена в ext4 и windows просто её не видит) на который записывали образ…

… а в   на разделе boot.

Разметка карточки происходит следующим образом: создаётся первый раздел (boot) для загрузочных файлов и форматируется в FAT32, размером 100Мб, а второй раздел форматируется в ext4 для файловой системы, размером около 5ГБ. При первом старте, файловая система автоматически расширяется на всё оставшееся пространство карточки (в предыдущих релизах это делалось вручную).

Ну, что-то я отвлёкся…

Открываем файл config.txt и находим там строчки:

# uncomment to force a specific HDMI mode (this will force VGA)
#hdmi_group=1
#hdmi_mode=1

Изменяем их так:

# uncomment to force a specific HDMI mode (this will force VGA)
hdmi_group=2
hdmi_mode=1
hdmi_mode=87
hdmi_cvt 800 480 60 6 0 0 0

Пока что с этим файлом всё, теперь малина заведётся с нашим мониторчиком (без этих строк на экране была бы только рябь).

Сохраняем файл, отсоединяем карточку, вынимаем из компа и вставляем в RPI.

Собираем «бутерброд» из экрана и малины (так чтоб совпали HDMI-разъёмы), вставляем HDMI-переходник (входит он туго), и подаём питание на RPI и на экран (то есть нужно запастись двумя проводами с микро-usb и двумя блоками питания). Да, не забудьте подключить клавиатуру и мышку.

БП для малины должен быть около 2-х ампер, а для экрана хватит и одного. Если питания будет не хватать, то на экране будет появляться иконка с жёлтой молнией.
Если малина перегреется то на экране появится термометр.

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


Ваши данные:
Login — pi
Password — raspberry

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


Сначала необходимо сконфигурировать систему.

Делать это можно открыв терминал   и писать команды там (правда это не совсем удобно ибо мелко).

Либо подключиться по ssh (логин и пароль написан выше). Я буду делать по ssh и Вам советую поступить так же.

Итак, вводим команду:

sudo raspi-config

Первый пункт игнорируем так как файловая система уже расширена автоматически. В этом можно убедиться открыв ещё один терминал и дать команду:

df -h

Второй пункт — смена пароля, остаётся на Ваше усмотрение.

Третий и четвёртый пункты не трогаем.

Открываем пятый пункт и выбираем Change Locale


Если нужно вернуться в предыдущее окно нажмите Esc.

Стрелочкой «вниз» крутим до ru_RU.UTF-8 UTF-8, ставим «звёздочку» пробелом и жмём Enter.

В следующем окне выбираем ru_RU.UTF-8 и опять жмём Enter.

Возвращаемся в пятый пункт и заходим в Change Timezone, выбираем Europe и жмём Enter.

Выбираем Ваш город и жмём Enter.

Опять возвращаемся в пятый пункт и заходим в Change Keyboard Layout, выбираем Generic 105-key (Intl) PC и жмём Enter.

В следующем окне выбираем Other и жмём Enter.

Крутим стрелочкой до Russian и жмём Enter.

В следующем окне крутим вверх до Russian и жмём Enter.

Далее выбираем удобный для Вас способ переключения раскладки и жмём Enter.

В следующих трёх окнах просто жмём Enter.

Далее сделайте так и Enter.

Теперь клавишей Tab выберите «Finish» и жмите Enter.

На этом основное конфигурирование закончено (при желании к нему можно вернутся в любое время), перегрузите систему командой:

sudo reboot

Теперь про обновления.

Обновите репозитории командой…

sudo apt update

… Но не обновляйте систему — sudo apt upgrade, если это сделать, то начнутся проблемы с тачскрином, раскладками клавиатуры и ещё с чем-то.

Далее можно устанавливать разные программы, я в первую очередь ставлю менеджер пакетов synaptic и mc (так как часто делаю что-то по ssh).

sudo apt install synaptic mc

Устанавливаем xscreensaver без которого экран будет гаснуть через 10мин.

sudo apt install xscreensaver

Что ещё устанавливать решайте сами.

Теперь надо вывести на верхнюю панель значёк раскладок клавиатуры. Если это делать штатными средствами, то оно будет работать до первой перезагрузки. Поэтому мы пойдём другим путём.

Устанавливаем программу gxkb

sudo apt install gxkb

Добавляем gxkb в автозагрузку:

nano /home/pi/.config/lxsession/LXDE-pi/autostart

После всех строчек нужно вписать вот это — @gxkb


Сохраните и закройте файл.

Выбор комбинации клавиш для переключения делается в файле — /home/pi/.config/gxkb/gxkb.cfg, по умолчанию там указан alt_shift, я переправил на ctrl_shift:

nano /home/pi/.config/gxkb/gxkb.cfg

Сохраните, закройте файл и перегрузитесь.


Тачскрин

Скачайте в домашнюю папку архив:

cd /home/pi
wget https://istarik.ru/file/LCD-show-161112.tar.gz

Архив бралсяздесь.

Распаковав его:

tar xvf LCD-show-161112.tar.gz

У Вас появится папка LCD-show, в которую нужно перейти…

cd LCD-show

И запустить скрипт:

sudo ./LCD5-show

После этого малина сразу перезагрузится и оживёт уже с рабочим тачскрином. Если точность позиционирования Вас устраивает, то можно ничего не калибровать.

Если необходима калибровка, тогда переходим в папку LCD-show…

cd /home/pi/LCD-show

И устанавливаем пакет xinput-calibrator_0.7.5-1_armhf.deb

sudo dpkg -i -B xinput-calibrator_0.7.5-1_armhf.deb

То же самое можно проделать в «проводнике», тыкнув правой кнопкой мышки по пакету и выбрав пункт «Установка пакетов».

Теперь зайдите в меню программ, в раздел в разделе «Параметры» и выберите «Calibrate Touchscreen». После точного попадания во все четыре мишени появятся настройки, которые нужно записать в файл /etc/X11/xorg.conf.d/99-calibration.conf.

Запускаем ещё один терминал, открываем там файл…

sudo nano /etc/X11/xorg.conf.d/99-calibration.conf

… и удаляем всё из него.

Возвращаемся в окно с калибровочными данными, копируем секцию «InputClass» и вставляем её в ранее открытый и опустошённый файл.

Section "InputClass"
	Identifier	"calibration"
	MatchProduct	"ADS7846 Touchscreen"
	Option	"Calibration"	"171 3957 174 4042"
EndSection

У Вас свои цифры.

Чтоб добавить «правую кнопку мыши» нужно сделать так:

Section "InputClass"
	Identifier	"calibration"
	MatchProduct	"ADS7846 Touchscreen"
	Option	"Calibration"	"171 3957 174 4042"
        Option "EmulateThirdButton" "1"
        Option "EmulateThirdButtonTimeout" "550"
        Option "EmulateThirdButtonMoveThreshold" "50"
EndSection

Для появления контекстного меню нужно удерживать стилус около полусекунды. Последняя опция — это видимо порог дрожания.

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

Поскольку калибровщик вносит небольшие изменения в файл config.txt (который мы правили ещё на компьютере), то стоит о нём немного сказать. Это файл в котором находятся стартовые настройки, откроем его и посмотрим:

sudo nano /boot/config.txt

Наши правки исчезли и появились в конце, с ещё одной строкой:

# Enable audio (loads snd_bcm2835)
dtparam=audio=on
hdmi_group=2
hdmi_mode=1
hdmi_mode=87
hdmi_cvt 800 480 60 6 0 0 0
dtoverlay=ads7846,cs=1,penirq=25,penirq_pull=2,speed=50000,keep_vref_on=0,swapxy=0,pmax=255...

Мы тоже добавим…

Находим строки:

# uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720

И делаем их так:

# uncomment to force a console size. By default it will be display's size minus
# overscan.
framebuffer_width=800
framebuffer_height=480

Чуть ниже находим это:

# uncomment if hdmi display is not detected and composite is being output
hdmi_force_hotplug=1

И добавляем три строки:

# uncomment if hdmi display is not detected and composite is being output
hdmi_force_hotplug=1
hdmi_ignore_cec_init=1
hdmi_ignore_cec=1
gpu_mem=256

Можете попробовать выделить больше памяти под видео — gpu_mem=512.

Если хотите увеличить ток поступающий на usb, тогда добавьте куда-нибудь строчку:

max_usb_current=1

Но тут надо понимать, что если Вы подключите мощные потребители, то может не хватать тока самой малине, что выражается в нестабильной работе.

Сохраняем файл и перегружаемся.

Описанных настроек вполне достаточно для нормальной работы RPI, однако рекомендую почитать про различные параметры этого конфига вот здесь.

Wifi и Bluetooth

Если хотите отключить wifi и/или bluetooth, тогда надо создать файл — /etc/modprobe.d/raspi-blacklist.conf

sudo nano /etc/modprobe.d/raspi-blacklist.conf

И вставить в него вот это:

#wifi
blacklist brcmfmac
blacklist brcmutil
#bt
blacklist btbcm
blacklist hci_uart

Так отключен wifi и bluetooth.

А так отключен только wifi:

#bt
blacklist btbcm
blacklist hci_uart

Samba

Устанавливаем:

sudo apt-get install samba samba-common-bin

Бекапим конфиг:

sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

Создаём свой:

sudo nano /etc/samba/smb.conf

Содержимое:

[global]
workgroup = WORKGROUP
netbios name = RaspberryPi
server string = share
security = user
map to guest = bad user
browseable = yes

[istarik]
path = /home/pi/papka
writeable = yes
browseable = yes
guest ok = yes

Сохраняем и закрываем.

Создаём папку для самбы:

mkdir /home/pi/papka

Даём ей права:

sudo chmod -R 777 /home/pi/papka

Рестартуем самбу:

sudo /etc/init.d/samba restart

Настроено на гостевой вход (заходи кто хошь) и на чтение-запись.


Медиацентр Kodi

Создаём группу «input», если она не существует:

sudo addgroup --system input

Устанавливаем Kodi:

sudo apt-get install kodi

После установки ничего не запускаем.

Создаём файл — /etc/udev/rules.d/99-input.rules

sudo nano /etc/udev/rules.d/99-input.rules

И вносим в него следующее:

SUBSYSTEM==input, GROUP=input, MODE=0660
KERNEL==tty[0-9]*, GROUP=tty, MODE=0660

Сохраняем и закрываем.

Создаём ещё один файл — /etc/udev/rules.d/10-permissions.rules

sudo nano /etc/udev/rules.d/10-permissions.rules

С таким содержанием:

# input
KERNEL=="mouse*|mice|event*", MODE="0660", GROUP="input"
KERNEL=="ts[0-9]*|uinput", MODE="0660", GROUP="input"
KERNEL==js[0-9]*, MODE=0660, GROUP=input
# tty
KERNEL==tty[0-9]*, MODE=0666
# vchiq
SUBSYSTEM==vchiq, GROUP=video, MODE=0660

Сохраняем и закрываем.

Далее добавляем пользователя pi в различные группы:

sudo usermod -a -G audio pi
sudo usermod -a -G video pi
sudo usermod -a -G input pi
sudo usermod -a -G dialout pi
sudo usermod -a -G plugdev pi
sudo usermod -a -G tty pi

Далее в конец файла (перед exit 0) /etc/rc.local добавим строчку — chmod 0777 /dev/tty0

sudo nano /etc/rc.local

Получится вот так:


Сохраняем и закрываем.

Перегружаем малину чтоб изменения вступили в силу.

Теперь в меню программ в разделе «Аудио и видео» находим «Kodi Media Center» и стартуем…

Вы увидите как изображение расплывётся и превратится в лягушку полосочки. Это будет происходить в течении пары минут, а затем появится картика. Посредине будет окно предлагающее отключить несовместимые репозитории — нажмите Yes.

Вынужден сразу предупредить, что тачскрин в Kodi работает не корректно, можно сказать, что вообще не работает. Как решить эту проблему я пока не знаю. Поэтому в нашем распоряжении только мышь и клава.

Теперь настроим Kodi. Нажмите кнопку SYSTEM, затем Appearance и наконец Interntional. Нажмите Language и выберите русский язык (Russian).

Далее нажмите на иконку с домиком внизу-справа, нажмите большую кнопку СИСТЕМА, а потом маленькую слева — «Система». Выберите «Вывод звука» и в разделе «Устройство вывода звука» выберите — PI: Analogue. После этого Kodi будет нормально запускаться без всяких полосок на экране.

Дело в том, что до наших изменений по HDMI-каналу шёл и звук и видео, и получалась «каша». Теперь по HDMI идёт только видео, а звук через разъём для наушников.

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

После перезагрузки снова запустите Kodi, теперь уже не будет никаких полосок. Осталось только сделать так, чтоб плеер не зависал при выходе.

Для этого надо создать скрипт — /usr/local/bin/startkodi

sudo nano /usr/local/bin/startkodi

Содержимое:

#!/bin/bash
fbset_bin=`which fbset`
xset_bin=`which xset`
xrefresh_bin=`which xrefresh`
if [ ! -z $fbset_bin ]; then
DEPTh3=`$fbset_bin | head -3 | tail -1 | cut -d " " -f 10`
fi
kodi "$@"
if [ ! -z $fbset_bin ]; then
if [ "$DEPTh3" == "8" ]; then
DEPTh2=16
else
DEPTh2=8
fi
$fbset_bin -depth $DEPTh2 > /dev/null 2>&1
$fbset_bin -depth $DEPTh3 > /dev/null 2>&1
fi
if [ ! -z $xset_bin ] && [ ! -z $xrefresh_bin ]; then
if [ -z $DISPLAY ]; then
DISPLAY=":0"
fi

$xset_bin -display $DISPLAY -q > /dev/null 2>&1
if [ "$?" == "0" ]; then
$xrefresh_bin -display $DISPLAY > /dev/null 2>&1
fi
fi
VT="$(fgconsole)"
if [ "$VT" ]; then
sudo chvt 7
sudo chvt "$VT"
fi

Сохраните, закройте и дайте скрипту права:

sudo chmod a+x /usr/local/bin/startkodi

Теперь в терминале дайте команду:

startkodi

Сейчас «выход» будет работать как надо.

Запускать скрипт через терминал не удобно, поэтому его нужно добавить в меню программ. Зайдите в меню, в пункте «Параметры» найдите «Main Menu Editor» и запустите его. Слева выберите «Аудио и видео» и нажмите справа кнопку «Создать элемент».

В появившемся окне, напротив Name: напишите MyKodi, а напротив Command: напишите startkodi.

Нажмите ОК, в списке появится новый пункт — MyKodi

Ещё раз нажмите ОК.

Теперь для запуска медиацентра, в меню «Аудио и видео» есть кнопка MyKodi.

Здесь можно почитать про Orange Pi.

На этом пожалуй всё, всем спасибо.

istarik.ru

alexxlab

leave a Comment