LINUX.ORG.RU

Как сделать автоматическую регулировку яркости мониторов?

 , ,


0

1

Использую три моника - Philips 439P1 и два BenQ BL2581T. С помощью датчика освещенности откалибровал их так, чтобы регулировать яркость между минимальной (ночью) и максимальной (в солнечный день), примерно синхронно. Все устраивает. 400 Кд/м² у главного вполне хватает. Но надоело менять яркость руками. Может быть есть какие-то датчики освещенности с которых можно получить уровень освещенности легко в скрипте bash? Единственное что нагугливается - это датчики движения почему-то или датчики освещенности для управления светом.

UPD: Сделал простой скрипт который меняет яркость: https://gist.github.com/Suntechnic/ed884a1976412d4e474c19b88304d50d Пока собираюсь регулировать уровень меняя exposure_time_absolute

v4l2-ctl -d /dev/video2 -c exposure_time_absolute=120

Текущая 120. Иногда яркость прыгает между 0 и 1, поэтому зкоментил уведомления - дергают часы лишний раз. Послежу.

★★★★★

Последнее исправление: Suntechnic (всего исправлений: 2)

А слабо регулировать яркость в зависимости от времени суток, с учётом разной высоты Солнца над горизонтом и разной продолжительности дня?

tiinn ★★★★★
()
Ответ на: комментарий от tiinn

Освещенность в кабинете значительно меняется в зависимости от погоды. В яркий солнечный день мне не хватает немного 100% (даже с закрытыми роллшторами), а в пасмурный - даже 40% многовато может быть. Иногда за минуты освещенность меняется. Вот прямо пока я набрал это сообщение, солнце вышло из-за тучи я сделал 100 вместо 20. Как раз сегодняшняя погода и заставила снова задуматься об авторегулировке.

Suntechnic ★★★★★
() автор топика
Ответ на: комментарий от Suntechnic

Увы, удобоваримого датчика освещённости я предложить не могу. Опять же - кто будет чистить датчик? Рано или поздно, он запылится.

tiinn ★★★★★
()

Может быть есть какие-то датчики освещенности с которых можно получить уровень освещенности легко в скрипте bash?

Если бы мне такое понадобилось, я бы взял бы Ардуину с фоторезистором

alx777 ★★
()
Ответ на: комментарий от mx__

Так через нее я и регулирую яркость ))) Но хочу автометически

Suntechnic ★★★★★
() автор топика
Ответ на: комментарий от ya-betmen

Потому что ночью яркость слишком большая. Я убавляю на минимум чтобы комфортно работать. Я знаю что многие делают на максимум и сидят потом с темными темами в редакторе. Но я умею регулировать яркость )))

Suntechnic ★★★★★
() автор топика
Ответ на: комментарий от s-warus

Причем тут xrandr? Мне нужно освещенность кабинета получить.

Suntechnic ★★★★★
() автор топика
Ответ на: комментарий от tiinn

Пока сделал так:

#!/bin/bash
while true; do
  ffmpeg -f v4l2 -i /dev/video2 -frames 1 -y /tmp/tmp.jpg
  mean=$(convert /tmp/tmp.jpg -colorspace Gray -format "%[fx:mean]" info:)
  echo "$(date): $mean" >> /tmp/brightness.log
  sleep 6
done

Посмотрю за логом - наксолько можно этому доверять.

В качестве датчика Logitech C270 - просто направил ее в потолок

Suntechnic ★★★★★
() автор топика
Последнее исправление: Suntechnic (всего исправлений: 1)
Ответ на: комментарий от Suntechnic

теперь надо будет раз в неделю пылинки сдувать

tiinn ★★★★★
()
Ответ на: комментарий от mx__

Я раньше пробовал но у меня из-за ее адаптивности получалось все время примерно равномерно яркая картинка. Однако оказалось что этими настройками можно управлять. Вот сейчас пробую )))

Suntechnic ★★★★★
() автор топика
Ответ на: комментарий от Suntechnic

Потому что ночью яркость слишком большая.

1. Ночью надо спать

2. Включи свет. В темноте всё равно стремно сидеть.

ya-betmen ★★★★★
()
Ответ на: комментарий от ya-betmen

Эм… ты пробовал когда-нибудь искусственное освещение? Ты обратил внимание что его яркость в сотни раз ниже чем у естественного?

Suntechnic ★★★★★
() автор топика
Ответ на: комментарий от Suntechnic

пробовать можно что угодно, если знать как :)
сделать освещение уровня солнечного элементарно :) просто купить светильников на необходимый поток
даже можно взять лампочки с близким к солнечному спектру Remez надёжин врать не будет.

pfg ★★★★★
()
Ответ на: комментарий от Suntechnic

При полной солнечной засветке всё равно работать не выйдет

ya-betmen ★★★★★
()
Последнее исправление: ya-betmen (всего исправлений: 1)
Ответ на: комментарий от pfg

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

s-warus ★★★★
()

Слишком сложно. Закрой окна ночными шторами и включи свет. Освещение будет одинаковым в любое время суток и в любую погоду. Крутить настройки монитора не потребуется.

ox55ff ★★★★★
()
Ответ на: комментарий от pfg

лампочки с близким к солнечному спектру Remez

Их уже нигде нет. Когда были, я себе брал пару. Одна через пол года сдохла, вторая продержалась 1,5. Ну такое себе, я особой разницы не почувствовал.

ox55ff ★★★★★
()

Ага, камеру и ардуину с фоторезистором уже предлагали

Предложу: ch341 как usb-to-i2c интерфейс и i2c сенсор освещенности TENSTAR VEML7700. Цена вопроса 150+150 руб (300р). Паять не надо.

futurama ★★★★★
()
Ответ на: комментарий от futurama

Предлагаю 4 проводка как vga-to-i2c адаптер. Ну либо отрезанный кабель как hdmi-to-i2c. Заодно и питание для ардуйни с него возьмёшь.

EAT_INSIDE
()

или датчики освещенности для управления светом.

Ну, когда-то неправильно обозвали фото-реле, а они популярнее, чем то, что вам надо, поэтому в выдаче больше. Если ваша usb-камера позволяет отключить все автокоррекции, то, наверное, самое лучшее, там ещё и как-то цветность можно будет учитывать. Ну, про дешман вариант в виде ардуино + фотодиод/фоторезистор написали. Не знаю, что лучше, фотодиод или фоторезистор с точки зрения температурного дрейфа, старения и прочей стабильности. Ну и там ещё не забыть какой-то рассеиватель, чтобы блики не ловил.

Ну, и всегда есть «мажор» вариант — люксометр со связью с ПК, UART или BT. Только найти модель, чтобы данные bash-скрипт получал, а не закрытое приложение сложно.

mky ★★★★★
()
Ответ на: комментарий от futurama

А хотя да, у меня брейнлаг случился, ардуйня там и не нужна.. Тупо i2c датчик в HDMI

EAT_INSIDE
()

В общем скрипт набросал, стартовое проапдейтил.

Suntechnic ★★★★★
() автор топика
Ответ на: комментарий от futurama

Предложу: ch341 как usb-to-i2c интерфейс и i2c сенсор освещенности TENSTAR VEML7700. Цена вопроса 150+150 руб (300р). Паять не надо.

А что там за интерфейс со стороны компа ?

Ардуина просто втыкается в USB порт и видится как ttyUSBx по которому скетч (читающий аналоговый порт и преобразующий значения в требуемый вид) шлет данные

Можно их прямо из bash’а, конечно, юзать, но как по мне Python+PySerial сильно поудобнее будут

alx777 ★★
()
Ответ на: комментарий от ya-betmen

Затем что слишком яркий экран некомфортен и вреден для глаз, а слишком тёмный - плохо видно.

firkax ★★★★★
()
Ответ на: комментарий от ya-betmen

А я видел - у меня на всех имеющихся мониторах, кроме ноутбучного, и яркость и контраст где-то вблизи нуля (нуля не настоящего разумеется а того из чего предлагается регулировать) настроены. Даже 50% уже нужно походу для эксплуатации под ярким солнцем на улице, и я его ставлю только изредка, когда смотрю какое-то видео с неадекватно заниженной яркостью. А постоянно на таком если сидеть - очень быстро глаза устают от бьющего по ним света. Но ночью и днём это «вблизи нуля» для максимального комфорта должно быть немного разным, где-то ближе, где-то дальше.

На ноуте я не знаю какая у него официальная шкала - регулятор яркости сам написал и он логарифмический относительно цифр в /sys. На нём получается рабочая комфортная яркость от 60 до аж 100%. Но если смотреть абсолютные числа то обычно получится тоже где-то в нижней половине.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

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

ya-betmen ★★★★★
()
Ответ на: комментарий от ya-betmen

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

Suntechnic ★★★★★
() автор топика
Ответ на: комментарий от yars068

Так на ней и сделал же ))) В UPD добавил.

Suntechnic ★★★★★
() автор топика

Но надоело менять яркость руками.

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

TPPPbIHDELj
()
Ответ на: комментарий от alx777

Ардуина просто втыкается в USB порт

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

TPPPbIHDELj
()
Ответ на: комментарий от TPPPbIHDELj

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

Неплохая идея, но ESP тут лишняя, получать сводку погоды можно прямо на компе, который в конечном итоге яркость и регулирует

Лучше сразу взять Redshift (или что там сегодня более актуальное по этой теме) и добавить туда к геолокации проверку погоды :)

alx777 ★★
()
Ответ на: комментарий от TPPPbIHDELj

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

Suntechnic ★★★★★
() автор топика
Ответ на: комментарий от alx777

Сводка погоды никак не поможет. Тучка закрывающая солнце меняет освещенность в несколько раз. Вы вообще на улицу-то выходите? Видели как работает солнце?

Suntechnic ★★★★★
() автор топика
Ответ на: комментарий от Suntechnic

Видели как работает солнце?

да, видели. Закрываешь окно светонепроницаемыми шторами и светишь на них настольной лампой.

TPPPbIHDELj
()
Ответ на: комментарий от TPPPbIHDELj

какой же ты самоделкин без ЕСП и Ардуины?)

Вот об этом я как-то и не подумал

Придется брать Ардуину и к ней плату расширения с вай-фаем на ESP ! :)

alx777 ★★
()
Ответ на: комментарий от Suntechnic

Видели как работает солнце?

Что за дискриминация, далеко не все могут похвастаться подобным опытом !

- Необычный желтый шар в небе, так напугавший жителей Санкт-
Петербурга, оказался редким природным явлением под названием
СОЛНЦЕ!
alx777 ★★
()
Ответ на: комментарий от ya-betmen

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

firkax ★★★★★
()
Ответ на: комментарий от firkax

Тогда у тебя должен быть проектор вместо монитора

ya-betmen ★★★★★
()
Ответ на: комментарий от Suntechnic
convert /tmp/tmp.jpg -colorspace Gray -format "%[fx:mean]" info:
printf 'scale=2; %s * 100 / 1' $(convert /tmp/tmp.jpg -colorspace Gray -format '%[fx:mean]' info:) | bc

Так оно тебя избавит от экспоненциальной записи типа 2.5e-8 (как минимум ImageMagick7 может выдать такое). Можно даже обойтись scale=0 и получить целое число, с которым гораздо проще работать в шелл-скриптах, если погрешность в один процент для тебя не критична.

mord0d ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.