Обзор алюминиевого корпуса с 2.2" дисплеем, ИК-портом и кнопками для Raspberry Pi 3

Обзор алюминиевого корпуса для Raspberry Pi 3 с дисплеем, ИК-приемником и кнопками

Дата Автор 3 комментария 7 985 просмотров

Сегодня хочу представить обзор потрясающего корпуса для Raspberry Pi 3.

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

Aluminum Enclosure with 2.2 inch LCD Screen. Именно так зовется этот корпус в магазинах.

Или, в переводе на русский, алюминиевый корпус с 2.2″ экраном — а также ИК-приемником и шестью программируемыми кнопками.

Бонус для читателей блога: с купоном LCDS этот корпус можно купить в GearBest по сниженной цене в $35,99. Дешевле уже не найти. Я проверял.

Техническая информация

Габаритные размеры
Ширина: 61 мм
Длина: 92 мм
Высота: 26 мм
Вес: 156 г
Материал изготовления — алюминий
Цвет — черный

Сборка корпуса

Обзор алюминиевого корпуса для Raspberry Pi 3 с дисплеем, ИК-приемником и кнопками

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

Да, защитное стекло. Дисплей здесь не сенсорный. Зато так вся конструкция оказывается лучше защищена от повреждений.

Обзор алюминиевого корпуса для Raspberry Pi 3 с дисплеем, ИК-приемником и кнопками

Сам дисплей. Хотя правильнее было бы назвать его модулем, содержащим на себе дисплей, 6 кнопок и ИК-приемник.

Обзор алюминиевого корпуса для Raspberry Pi 3 с дисплеем, ИК-приемником и кнопками

Первый шаг сборки — поместить Raspberry Pi в нижнюю половинку корпуса. У меня установлены хорошие радиаторы (см. мой обзор Raspberry Pi 3) — с ними плата нормально помещается в корпус и, забегая наперед, хорошо сопротивляется перегреву.

Обзор алюминиевого корпуса для Raspberry Pi 3 с дисплеем, ИК-приемником и кнопками

Готово. Следующий шаг — зафиксировать «малину» на месте идущими в комплекте фитингами.

Обзор алюминиевого корпуса для Raspberry Pi 3 с дисплеем, ИК-приемником и кнопками

Затем сверху крепится модуль с дисплеем, кнопками и ИК-портом.

Обзор алюминиевого корпуса для Raspberry Pi 3 с дисплеем, ИК-приемником и кнопками

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

Обзор алюминиевого корпуса для Raspberry Pi 3 с дисплеем, ИК-приемником и кнопками

Соединяем обе части корпуса вместе и проверяем «кликабельность» кнопок. Две боковые кнопки должны нажиматься с уверенным щелчком средней жесткости. Если одна из кнопок залипает — нужно слегка постучать по корпусу, чтобы она встала на место. После чего закручиваем винты.

Обзор алюминиевого корпуса для Raspberry Pi 3 с дисплеем, ИК-приемником и кнопками

И остается последняя мелочь — наклеить на дно комплектные резиновые ножки.

Обзор алюминиевого корпуса для Raspberry Pi 3 с дисплеем, ИК-приемником и кнопками

Кстати, обращаю внимание на правильный вырез под microSD. Карта памяти действительно вытаскивается из него ногтем, а не выцарапывается пинцетом, как из многих акриловых корпусов.

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

Шикарная вещь. Мне очень понравилось качество изготовления.

А теперь пора переходить к настройке функциональных элементов.

Настройка дисплея

Обзор алюминиевого корпуса для Raspberry Pi 3 с дисплеем, ИК-приемником и кнопками

После того как вся конструкция собрана, самое время приступить к настройке экрана.

Ранее я уже писал статью о подключении TFT-дисплея к Raspberry Pi на примере копии 3,2″ дисплея от Waveshare. В данном случае эта инструкция нам не подойдет, потому что теперь мы будем иметь дело с копией дисплея Adafruit PiTFT 2.2″ HAT.

Для того чтобы заработал подобный дисплей нужно пропатчить ядро системы и установить драйвер от Adafruit.

Не пугайтесь слов «пропатчить ядро», все делается в автоматическом режиме.

sudo echo "deb http://apt.adafruit.com/raspbian/ wheezy main" >> /etc/apt/sources.list
sudo wget -O - -q https://apt.adafruit.com/apt.adafruit.com.gpg.key | apt-key add -
sudo apt-get update
sudo apt-get install node
sudo apt-get install occidentalis
sudo apt-get install raspberrypi-bootloader
sudo apt-get install adafruit-pitft-helper

Этими действиями в систему добавляется новый репозиторий Adafruit, устанавливается набор программ Adafruit Occidentalis и утилита Adafruit PiTFT Helper, через которую происходит настройка дисплея.

Затем выполняем команду:

sudo adafruit-pitft-helper -t 22

И ответим на вопросы конфигуратора: нужно ли включить отображение консоли на tft-дисплее [да] и нужно ли повесить на GPIO PIN #23 кнопку выключения системы [нет].

После чего перезагрузим систему:

sudo reboot

Если установка драйверов прошла нормально, то на экране появится консоль. И осталось проделать последние действия для того, чтобы он начал поддерживать и графическую оконную оболочку.

Первое действие:

sudo mv /usr/share/X11/xorg.conf.d/99-fbturbo.conf ~

Эта команда должна удалить один из связанных с X11 (графическая оконная система в Linux) файлов конфигурации, которого по-хорошему в системе вообще не должно быть. Поэтому скорее всего в ответ на эту команду мы получим сообщение об ошибке «нет такого файла» — все нормально, так и должно быть.

Теперь создадим новый файл конфигурации:

sudo nano /usr/share/X11/xorg.conf.d/99-pitft.conf

И впишем в него строки:

Section "Device"
      Identifier "Adafruit PiTFT"
      Driver "fbdev"
      Option "fbdev" "/dev/fb1"
EndSection

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

Теперь на экране должна появиться графическая оболочка Raspbian PIXEL. Если не появляется — проверьте, чтобы в настройках Raspbian (консольная команда «raspi-config») была активирована загрузка именно графической оболочки, а не консоли.

На этом настройка дисплея завершена.

Настройка кнопок

Теперь приступаем к настройке кнопок.

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

Для начала устанавливаем библиотеки Python для работы с GPIO:

sudo apt-get update
sudo apt-get install libudev-dev
sudo apt-get install python-pip
sudo pip install rpi.gpio
sudo pip install python-uinput

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

sudo modprobe uinput

Можно прописать его в /etc/modules чтобы он активировался автоматически после загрузки «малины». Иначе каждый раз это нужно будет делать вручную.

Теперь скачаем Python-скрипты для работы с кнопками:

mkdir Python-keys
cd Python-keys
wget www.raspberrypiwiki.com/images/6/6c/Python-keys.zip
unzip Python-keys.zip

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

Итак, запускаем скрипт:

sudo python rpi-2.2TFT-mouse.py

4 кнопки возле экрана отвечают за передвижение курсора мыши вверх-вниз вправо-влево. Две кнопки на правом торце эмулируют клики левой и правой кнопками мыши соответственно.

Вот короткое видео с демонстрацией как это работает:

Настройка ИК-приемника

Обзор алюминиевого корпуса для Raspberry Pi 3 с дисплеем, ИК-приемником и кнопками

И последний момент — это настройка встроенного ИК-приемника.

Важно знать, что ИК-приемник тут висит на 26-ом пине GPIO. Это выясняется, можно сказать, методом тыка, поскольку распиновки используемой тут платы мне найти не удалось.

Для работы с ИК-портом в Linux-системах используется пакет LIRC (Linux Infrared Remote Control).

Так что установим его:

sudo apt-get install lirc liblircclient-dev

И отредактируем файл конфигурации:

sudo nano etc/lirc/hardware.conf

Приведя присутствующие в нем строки к следующему виду:

LIRCD_ARGS="--uinput"

LOAD_MODULES=true

DRIVER="default"

DEVICE="/dev/lirc0"

MODULES="lirc_rpi"

Теперь откроем файл config.txt:

sudo nano /boot/config.txt

Найдем там строки:

# Uncomment this to enable the lirc-rpi module
#dtoverlay=lirc-rpi

И приведем их к следующему виду:

# Uncomment this to enable the lirc-rpi module
dtoverlay=lirc-rpi,gpio_in_pin=26

То есть раскомментируем строку и допишем, что ИК-приемник нужно искать на 26-ом пине. По умолчанию LIRC искал бы ИК-приемник на 18-ом пине — и ничего бы не нашел.

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

После этих действий нужно перезагрузиться:

sudo reboot

Теперь проверим заработал ли ИК-порт:

sudo modprobe lirc_rpi
sudo /etc/init.d/lirc stop
sudo mode2 -d /dev/lirc0

После ввода последней команды нужно навести пульт на приемник и понажимать кнопки. Если приемник работает, то в консоли появится примерно следующее:

Обзор алюминиевого корпуса для Raspberry Pi 3 с дисплеем, ИК-приемником и кнопками

Как надоест играться — прерываем выполнение команды (Ctrl+C на клавиатуре) и приступаем к финальной части настройки:

sudo /etc/init.d/lirc stop
sudo irrecord -n -d /dev/lirc0 ~/lircd.conf

Запустится мастер настройки пульта, который предложит последовательно нажать на все имеющиеся на пульте кнопки — так, чтобы каждая из них оказалась нажатой не менее одного раза. Каждая «пойманная» ИК-приемником кнопка будет отображаться появлением новой точки на экране.

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

sudo cp ~/lircd.conf /etc/lirc/lircd.conf
sudo /etc/init.d/lirc start

На этом настройка завершена.

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

Разные вопросы

Какой смысл в дисплее с таким разрешением

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

Действительно, ведь сам я уже писал в своей более ранней статье про подключение TFT-дисплея о том, что работать с интерфейсом Raspbian с таким низким разрешением экрана невозможно: ну не заточены элементы этого интерфейса под низкое разрешение, и все тут.

Но работать можно не только с интерфейсом Raspbian.

Например, для «малины» существует проект аудиоцентра на базе Squeezebox, интерфейс которого прекрасно адаптирован для подобных экранов:

Обзор алюминиевого корпуса для Raspberry Pi 3 с 2.2″ дисплеем, ИК-приемником и кнопками

Кроме того, можно написать собственный интерфейс, адаптированный под маленький дисплей.

Примеры таких интерфейсов уже существуют, например PiTFT TouchPi Menu:

Обзор алюминиевого корпуса для Raspberry Pi 3 с 2.2″ дисплеем, ИК-приемником и кнопками

Или PiMenu с плиточным дизайном:

Обзор алюминиевого корпуса для Raspberry Pi 3 с 2.2″ дисплеем, ИК-приемником и кнопками

В общем, смысл в таких дисплеях есть и пользоваться ими можно.

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

Если дисплей не нужен постоянно — его в любой момент можно отключить консольной командой:

gpio -g mode 27 out

А включить обратно другой командой:

gpio -g mode 27 in

Можно даже повесить эти команды на присутствующие на корпусе кнопки, будет вообще удобно.

Нагрев

Еще один важный вопрос при использовании закрытого корпуса: как будет чувствовать себя в нем весьма «горячая» Raspberry Pi 3, не будет ли страдать от перегрева?

Я проверил.

Итак, температура «малины» в этом корпусе при умеренном использовании (работа с консолью через SSH-терминал, устанавливаются пакеты и выполняются команды) колебалась в интервале 46,7°C — 48,3°C.

После чего я решил провести стресс-тест системы.

Для этого нужно установить пакет:

sudo apt-get install stress
wget https://raw.githubusercontent.com/ssvb/cpuburn-arm/master/cpuburn-a53.S
gcc -o cpuburn-a53 cpuburn-a53.S

И запустить тестирование:

while true; do vcgencmd measure_clock arm; vcgencmd measure_temp; sleep 10; done& stress -c 4 -t 900s

Этот длящийся 15 минут тест, во время которого процессор получает постоянную стопроцентную загрузку, показал следующее:

Сперва температура довольно резко скакнула с 46,7°C до 68°C. Затем нагрев замедлился, но продолжил вяло ползти вверх. На последних минутах теста температура процессора достигла 80,1°C — это значение является критическим для «малины», и если бы рост температуры продолжился, то начался бы троттлинг (принудительное понижение частоты), но.. тест закончился. Облаченная в сплошной алюминиевый корпус Raspberry Pi успешно прошла его, хоть и на грани.

После окончания стресс-теста буквально за несколько секунд температура упала с 80°C до 72°C, а за последующие 10 минут cнизилась до 50°C.

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

Влияние на работу Wi-Fi

И еще один важный момент при использовании закрытого алюминиевого корпуса — его влияние на работу встроенного Wi-Fi.

К моему удивлению, разницы в работе Wi-Fi в корпусе и без практически не оказалось: он одинаково плохо работает и так, и так.

Вот результаты прохождения теста на сайте Speedtest.net. Выше — «малина» без корпуса, ниже — «малина» в корпусе:

Обзор алюминиевого корпуса для Raspberry Pi 3 с 2.2″ дисплеем, ИК-приемником и кнопками

При этом скорость при работе через Ethernet-подключение составляет 50Мбит — именно столько выдает провайдер днем по моему тарифу.

В общем, если критично чтобы Raspberry Pi была соединена с сетью на наиболее высокой скорости — пользуйтесь проводным подключением. Wi-Fi адаптер там дохлый, что в корпусе, что без него. Да и сам Wi-Fi диапазон в густонаселенных районах порядком подзабит.

Вместо заключения, или «за что такие деньги?»

Корпус мне понравился.

Пожалуй, единственную претензию могу высказать в адрес четырех кнопок на передней панели — они достаточно громко щелкают.

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

В остальном — чистый восторг.

Кого-то может смутить цена: как так, платить за какой-то корпус сумму, сопоставимую со стоимостью самой Raspberry Pi?

Так ведь плата идет не только за корпус, но и за мелкие детали — кнопки, дисплей, ИК-приемник. По отдельности себестоимость всех задействованных тут компонентов уже тянет долларов на 30.

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

Еще раз обращаю внимание, что менеджеры интернет-магазина GearBest сделали купон (промо-код) LCDS, с которым можно купить этот корпус со скидкой.

Промо-код вводится в корзине перед оплатой товара, к оплате выставляется счет уже с учетом скидки.

Aluminum Enclosure with 2.2 inch LCD Screenв интернет-магазине GearBest

Автор статьи:
Дмитрий
Руководитель отдела в IT-компании. Веду этот блог с 2013 года, пишу о гаджетах и домашней автоматизации, обозреваю одноплатные компьютеры, неспешно собираю «умный дом».

3 комментария на «Обзор алюминиевого корпуса для Raspberry Pi 3 с дисплеем, ИК-приемником и кнопками»

    • ИК-приемник не внешний. Черная лампочка прямо над экраном, в верхнем левом углу, присмотритесь. Отдельно ничего подключать не нужно, просто насадить плату с экранчиком на GPIO.

      Да, этот корпус видел. Тоже классный, но уже вдвое дороже по цене получается. К нему же не абы какой экран надо, а чтобы кнопки совпадали с отверстиями на корпусе, а такой экран в том же магазине на Али стоит 2400р. Корпус+экран, итого за всю систему в сборе 4600р пришлось бы отдать.

  1. Доброго времени суток. Вы пишете: «Теперь активируем модуль uinput… Можно прописать его в /etc/modules чтобы он активировался автоматически….». Я новичок в Linux, и не очень понимаю как это правильно сделать. Там уже прописано i2c-dev. Ниже этой строки вписать uinput? И ещё файл modules защищен от записи. Как настроить права на запись в этот файл. А сам скрипт python rpi-2.2TFT-mouse.py можно как-то в автозагрузку установить?
    Спасибо.

Добавить комментарий

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

[Хамство, оскорбления и попытки крауд-маркетинга будут удалены]