Статья

Редактируем подсветку дашборда на Linux удаленно

Начал я тут тестировать свой дашборд для управления умным домом на Home Assistant. В качестве дашборда было решено использовать TileBoard, как самый легковесный. Настройка его под себя - то ещё занятие, но результат того стоит.

Данный планшет на x86 процессоре был приобретён мной, с хорошей скидкой, ещё года полтора назад. К сожалению, процессорные характеристики у него весьма посредственные, но довольно качественный экран. Со временем, установленный на нем Windows начал есть все больше и больше памяти, что приводило к замедлению интерфейса. Мной было принято решение поставить на него свежую версию Ubuntu, на которой планшет чувствовал себя в разы лучше. Я не буду описывать, как долго я возился с коррекцией поведения акселерометра, заводом тачскрина и прочих радостей, но у меня все получилось.

Проблема по сути в том, что у планшета нет датчика освещенности, и яркость автоматически он выставлять не умеет. После некоторого гугления, была найдена утилита xbacklight, предназначенная как раз для регулирования уровня подсветки на устройствах с видеокартой от Intel, которая у меня и установлена. К моему сожалению, этот путь не сработал. Есть ещё возможность проделывать то же самое, используя утилиту xrandr:

xrandr --output VGA1 --brightness 0.7

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

cat /sys/class/backlight/intel_backlight/brightness

И о чудо! При изменении яркости ползунком, значение в файле менялось. Попробуем записать в него значение вручную:

echo 50 | sudo tee /sys/class/backlight/intel_backlight/brightness

Чудо номер два - подсветка изменилась! Далее я написал небольшой скрипт, который можно выполнить от sudo и передать ему необходимое значение яркости:

sudo./brihgtness.sh 20

Скрипт сравнивает текущее значение яркости с вводимым, и плавно уменьшает его или увеличивает, в зависимости от необходимого. Вам останется создать этот файл на планшете, сделать его исполняемым и разрешить его выполнение от sudo без пароля. А также необходимо сгенерировать ключ авторизации ssh для подключения к планшету с машины, с установленным Home Assistant без пароля. После всех выполненных действий, можно создать Shell command сервис в HA:

shell_command: backlight_1: ssh ubuntu@192.168.1.19 sudo./brihgtness.sh 1 backlight_50: ssh ubuntu@192.168.1.19 sudo./brihgtness.sh 50 backlight_100: ssh ubuntu@192.168.1.19 sudo./brihgtness.sh 100

Который в дальнейшем вы можете использовать так, как вам удобно. А вот и результат проделанной работы:


На андройде использовать https://play.google.com/store/apps/details?id=com.thanksmister.iot.wallpanel">WallPanel ,то яркость регулировать можно проще. Толи через REST толи через MQTT, сейчас уже не помню

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


Вернуться назад
Вернуться назад