LINUX.ORG.RU

Как сделать датчик освещенности?

 , , , ,


0

2

Первая мысль - камера. У меня Logitech C270. Набросал небольшой скрипт:

ffmpeg -f video4linux2 -s 1280x720 -i /dev/video2 -f image2 /tmp/snapshot.jpg -y 2>/dev/null
lumen=`convert /tmp/snapshot.jpg -colorspace GRAY -resize 1x1 txt: | egrep -o '[0-9]+.[0-9]+%' | egrep -o '[0-9]+.[0-9]+' | tr . ,`
echo $lumen;
printf "%.0f \n" $lumen #2>/dev/null

Но вот проблема - значение детектируемой яркости вечером с освещением включенным в кабинете выходит в диапазоне 53-57, а без него 26-38.

Но даже утром солнечного дня, когда солнце еще не в зените, но в кабинете уже значительно светлее (в разы) я получаю значения в области 57-59. Очевидно в камере есть какой-то механизм регулирования яркости картинки (чувствительности матрицы или хрен его знает еще как) и она старается привести картинки к среднему серому. Собственно это подтверждается описанием с сайта производителя. Похоже все, даже самые дешевые камеры устроены так же.

Как бы эту хрень отключить? Или из чего еще сделать датчик освещенности рабочего места?

★★★★★

Похоже все, даже самые дешевые камеры устроены так же.

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

Или из чего еще сделать датчик освещенности рабочего места?

Может лучше готовый купить? Порогового хватит? В продаже есть множество таких датчиков для автоматического включения уличного освещения.

Или можно сделать самоделку из двух плат с алиэкспресса, например MAX44009 и что-то для переходника USB-I2C.

DSSS
()

Ищи плату на bh1750. Это люксометр на шину i2c. В линуксе работает нативно.

Есть готовые скрипты, есть драйвер в ядре. Подключить можно через smbus в vga/hdmi.

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

Не - порогового не хватит. Хочу запилить регулировку яркости мониторов.

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

а на али заказать рассыпуху не вариант вообще, она же нихера не стоит или тут дело принципиально в том чтобы из буханки хлеба сделать?

abcq ★★
()
  1. Тебе действительно как-то надо заблочить АЭ (авто экспозицию)
  2. Если ты не планируешь пользовать камеру по прямому назначению то одень на неё пластиковый пакет полупрозрачный (ну или поищи диффузор более подходящий) - более стабильное решение чем ресайз в 1х1
  3. Если возьмёшь не вэбку а любую дешманскую камеру с ИК подсветкой то там уже будет на борту датчик освещенности, правда программно он транслируется в сеть обычно околоникогда (хотя сам датчик не дискретный и камера его обычно читает через АЦП ибо позволяет подправить уровень освещенности для включения ИК) т.е. надо будет колхозить прошивку
rukez ★★★★
()

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

maxcom ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.