Зачем нужны лампочки на компьютере
Прошлым летом, когда началась неразбериха с рублём, я решил купить себе что-нибудь забавное, чего в нормальных ценовых условиях никогда не купил бы. Выбор пал на умную управляемую светодиодную лампу "Luminous BT Smart Bulb", про которую, собственно, прочитал до этого здесь же. По-хорошему, для начала нужно было бы купить смартфон с BLE , но на тот момент я не беспокоился о таких мелочах. Лампа приехала, мы немного поигрались с ней на работе, она оказалась довольно прикольной. Но я не мог управлять ею дома, поэтому она отправилась на полку. Один раз, правда, я одолжил лампу коллеге на день рождения маленького ребёнка.
Так продолжалось пока я случайно не узнал, что на моём ноутбуке как раз установлен чип Bluetooth 4.0. Я решил использовать этот факт как-нибудь для управления лампочкой. Программа-минимум — научиться включать/выключать лампочку, устанавливать произвольный цвет или выбирать один из заданных режимов. Что из этого вышло — читайте под катом.
Всё описанное ниже выполнялось на OS Linux Mint 17. Возможно, существуют другие способы работы с BLE стеком. И помните, я не несу ответственность за ваше оборудование.
Подключение
Из трех видов подсветки, два надо подключать. Одноцветной подсветке не требуется отдельное подключение, если мы говорим о вентиляторах, так как светодиоды питаются по тому же проводу, что и двигатель вентилятора. Лента со статичными светодиодами может быть запитана хоть от молекса, главное - не перепутать плюс и минус.
Если подсветка адресная или RGB (статичную многоцветную обычно зазывают как есть - многоцветная), то для синхронизации подсветки (а то и для ее работы), ее надо подключить либо к материнской плате, либо к специальному хабу.
На материнской плате есть разъемы JRGB, но они могут отличаться напряжением. 12 Вольт - RGB, 5 - ARGB. Более подробно о том какой разъем имеет какое напряжение можно узнать из мануала, но как правило, производитель слегка изменяет название разъема.
Важно - не пытайтесь подключить 5В вентилятор или ленту к 12В разъему, в лучшем случае у вас это все просто не заработает, в худшем - может выйти из строя подсветка.
Но разъемов на плате хватит только для пары вентиляторов, а если их больше? Тогда надо покупать хаб. Хаб служит для синхронизации подсветки с платой (при подключении к плате), при этом если на плате нет разъемов, часто к хабам в комплекте идет ПДУ, так что хаб - штука годная.
Купить хаб отдельно - дорого и проблематично, но он часть идет в комплекте с вентиляторами, например - Aerocool Edge 14, на которые я недавно делал обзор. В комплекте был хаб на 6 вентиляторов.
Упорядочим: для подключения адресной подсветки нужен хаб. Не адресная подсветка отдельно не подключается. Также следует заранее подбирать плату с нужными вам разъемами RGB 12 и 5 вольт, в зависимости от того, какую подсветку хотите.
Общие условия освещения рабочего места
Начнем с очевидных вещей, которые тем не менее необходимо упомянуть, чтобы потом не возникало лишних вопросов. Кто это и так знает, могут пропустить этот раздел.
Необходимо расположить экран монитора или телевизора так, чтобы при работе на него не попадали прямые солнечные лучи, а также солнечные блики от окружающих предметов. Если экран размещается на фоне окна, то прямой и отраженный солнечный свет также не должен попадать в глаза. Конечно иногда это проще сказать, чем сделать (например в офисе, где положение рабочего места жестко регламентировано, и возможности манёвра минимальны), но без этого добиться более-менее комфортных условий для работы невозможно. Как минимум можно немного развернуть монитор, или поставить какую-то ширму, перегородку, задернуть плотные шторы или закрыть жалюзи на окнах. На мой взгляд жалюзи являются оптимальным решением даже в случае размещения в глубине комнаты, вне зоны прямых солнечных лучей. Если при этом получается слишком темно, то лучше включить дополнительное искусственное освещение. Благо, сейчас существуют светодиодные лампы с цветовой температурой, близкой к солнечному свету, и при подобном смешанном освещении не возникает раздражающего некоторых пользователей дисбаланса освещения, да и потребление энергии у современных ламп минимальное.
Общее комнатное освещение должно быть организовано так, чтобы блики и отражения ламп в мониторе не попадали в глаза. Если это например люстра, которую естественно нельзя переместить, то нужно развернуть монитор. Небольшого его поворота обычно достаточно, чтобы проблема «исчезла из поля зрения» (в буквальном смысле этого слова). Желательно, чтобы точечные источники света были за пределами поля зрения. Если это настольная лампа или торшер, то можно попробовать ее развернуть так, чтобы ее свет не попадал в глаза.
По поводу выбора цветовой температурой ламп ИМХО дело личных предпочтений и привычки. Кому-то больше нравятся лампы тёплого белого света 2800K (близкого к лампам накаливания), кто-то (в том числе и я) предпочитает лампы с холодным белым светом 4000К, ну а кто-то выбирает солнечный свет 5500K-6000K.
Сами лампы необходимо выбирать немерцающие, с высоким CRI (индексом цветопередачи).
Хорошим подспорьем в выборе ламп ИМХО является блог AlexeyNadezhin на Habr-е LampTest.
У меня для освещения комнаты 18м 2 используется «винтажная» советская люстра с большим плафоном «летающая тарелка» с пятью светодиодными лампочками по 9Вт (суммарный эквивалент ЛН около 400Вт) с цветовой температурой 4000К.
Теперь перейдем к
2. Настольная лампа - важный момент в правильном освещении
Еще один важный субъект правильного освещения - это настольная лампа, про которую многие забывают либо сознательно игнорируют. Типов настольных ламп в продаже существует немало, поэтому имеется реальная возможность при выборе ориентироваться не только на функциональность, но и на дизайн изделия.
Учитывайте, что лампа не должна быть слишком высокой , ведь расстояние между освещаемым местом и источником света не должно превышать 35 см. Размер абажура также имеет важное значение. Лампа должна освещать как можно большую часть стола , но при этом «не бить» в глаза.
Другая задача, которую мы решаем при выборе лампы, помимо освещения клавиатуры и рабочего пространства, - это уменьшение контраста между светом монитора и окружающим освещением . Особое значение это имеет в вечернее время суток, когда незаметно появляется такой контраст, который негативно влияет на наше зрение.
Напоследок
Управлять лампочкой из консоли не очень удобно, так что, возможно, при наличии свободного времени я продолжу баловаться с ней на более высоком уровне. На C++ наверно вряд ли смогу написать что-нибудь запускаемое, но обёртки над libbluetooth есть даже под node.js, так что надежда есть.
И видео, как это работает, чтоб не думали, что это какое-то шарлатанство. Прошу прощения за дыхоту и качество — снимал на девайс из pre-BLE эпохи:
Всем привет, дорогие друзья. Рад вас видеть! Сегодня я расскажу о том, почему подсветка в вашем компьютере - штука далеко не такая простая, как вам кажется. Рассмотрим виды, подключение, подберем что-то для себя. Начнем!
Не забудь подписаться на мой ютуб-канал , там намечается кое-что нереальное)
Виды подсветки
Подсветка бывает трех основных видов:
- Статичная одноцветная/многоцветная - думаю, не надо много пояснять. Есть N-ное количество светодиодов, которые светятся без какой-либо регулировки. Могут быть как одного цвета, так, соответственно, и других цветов. Самая дешевая.
- RGB подсветка - есть возможность регулировки подсветки, но ограниченная: выбор цветов и режимов, которые предоставил производитель. Светодиодов много, но не обязательно они будут RGB, может быть несколько светодиодов разных цветов.
- ARGB - адресуемая подсветка. Все светодиоды - адресные, умеют светиться всеми цветами радуги с разной интенсивностью. Через программу можно добавить режимов, выбрать имеющиеся, выбрать любой цвет из палитры. Самая дорогая.
Таким образом, отличия есть, и они довольно ощутимые. Теперь поговорим о подключении.
Локальное освещение рабочего места и зоны вокруг монитора
Это основной раздел статьи, собственно ради которого я ее и написал. В отличие от предыдущего раздела тут многое не так очевидно, и в моем случае потребовалось множество проб и ошибок, о чем я сейчас попробую рассказать.
Все началось с того, что когда я в 2010-м году заменил свой старый 15" CRT монитор Sony CPD-120AS на новый 27" LCD BenQ M2700HD, то сразу же заметил, глаза за ним стали уставать больше, несмотря на то, что изображение на новом мониторе было явно лучше. Кроме монитора у меня вроде бы ничего не поменялось, так что проблема была или в нём, или в чем-то, на что я раньше не обращал внимания, и что тогда не оказывало отрицательного воздействия, а теперь вдруг это стало заметно. Настройка, в т.ч. яркости подсветки почти не помогала, при этом изображение становилось слишком тусклым.
Но как оказалось, было еще одно изменение обстановки, которому я сначала не придал значения. Раньше слева на столе была закреплена коленчатая настольная лампа, нависающая над 15" монитором. Рядом с 27" монитором ей места к сожалению не осталось, и я её просто снял. В общем-то я её и раньше не всегда включал, но видимо с небольшим 15" экраном это было не так страшно, а с 27" ее отсутствие стало фатально. В конце концов я все-же умудрился пристроить её позади монитора, вытянув на полную длину, расположив плафон над экраном, и при её включении проблемы с усталостью глаз полностью исчезли* даже при существенном увеличении яркости подсветки BENQ 2700HD «рабоче-мультимедийном» режиме:
* К тому времени я конечно слышал о существовании Ambilight, но думал, что это только для визуального расширениясознанияразмеров изображения, а оказалось, что «Ambilight» даже упрощенный до простейшего Backlight еще и уменьшает усталость глаз
Со временем я поменял лампу на более подходящую лампу с еще более длинной ножкой и CFL лампочкой (которую позже поменял на LED лампочку), на чём уже и остановился окончательно.
При этом чтобы избежать излишней подсветки и так не очень контрастного матового экрана, лампа «заднего» освещения располагалась чуть сзади его плоскости (буквально пару сантиметров), а её светоотражатель был повернут так, чтобы освещать не только заднюю стену, но и клавиатуру.
Однако при замене в 2017 году 27" монитора BENQ 2700HD на новый 31,5" монитор / телевизор Samsung LT T32E310EX с зеркалом глянцевым экраном при таком расположении этой лампы направление пучка света оказалось неподходящим: из-за её света руки субъекта, сидящего за монитором (т.е. меня) стали отражаться в «зеркальном» экране монитора, поэтому отражатель пришлось развернуть так, чтобы основной световой поток шёл назад, на стену, и при этом поскольку экран намного более чёрный, то лампу удалось сместить немного вперёд, на пару сантиметров ближе плоскости экрана (при этом угол все равно крутой, так что бликов это еще не вызывает, зато хорошо освещена зона прямо перед монитором). Ну, а для освещения клавиатуры и остального рабочего места пришлось разместить ещё одну лампу практически над головой (немного правее и чуть сзади).
Рассеянный свет от этой лампы идет немного сзади, поэтому лицо не освещено, и не отражается в экране. Руки при этом тоже отражаются намного меньше, однако освещение клавиатуры вполне достаточное.
Поскольку когда включен монитор, то лампа «заднего» освещения тоже постоянно включена, для её питания я сделал отдельный удлиннитель с включением от USB, и теперь при включении монитора сразу включается Backlight, ну а верхнюю лампу включаю вручную.
Пару лет назад я попробовал заменить лампу «заднего» освещения на USB ленту LED, подключенную к USB выходу монитора, но глаза снова стали уставать, хотя и не так сильно, как без Backlight.
Я пробовал экспериментировать с количеством USB LED лент и их цветовой температурой (на фото выше две полуметровых USB LED ленты с SMD 3528 3.84Вт/м на 6000K и 2800K), но приемлемого результата так и не получил, и в конце концов вернулся к старой схеме с «задней» лампой, оставив одну из USB LED лент (просто чтобы не снимать), и на этом пока остановился.
В результате для себя я сделал
Первые шаги
Остался сущий пустяк — выяснить адреса неизвестных характеристик, куда нужно записать магические последовательности байт, что тем или иным образом отразится на лампе. Ну и при этом постараться ничего не испортить.
Изначально я полагал, что достаточно будет снять дампы всех-всех данных с лампы в разных состояниях, сравнить их, и сразу станет понятно что за что отвечает. На деле это оказалось не так. Единственной реально меняющейся от дампа к дампу характеристикой были внутренние часы. Всё же, я приведу код снятия дампа:
Из интересного: в снятых дампах можно рассмотреть производителя BLE чипа — "SZ RF STAR CO.,LTD.".
Придётся искать другие пути. Я очень не хотел копаться в мобильных приложениях (не силён в Android и вообще не понимаю в iOS), поэтому я вначале спросил совета у умных дядей на StackOverflow. Никто не ответил и я решил спросить у разработчика приложения под Android. Он тоже не ответил. Оказалось, что в маркете присутствует сразу несколько одинаковых приложений (судя по скриншотам) для управления подобными лампами. Ребята из SuperLegend ответили мне и даже выслали какую-то доку, но, к сожалению, она была не от моей лампочки. Я это выяснил, сравнивая UUID сервисов в коде декомпилированного приложения и в доке. Я сравнил декомпилированный код обоих приложений и он абсолютно одинаковый, возможно мне просто выслали документацию от другой лампы. Переспрашивать я как-то не отважился. Значит, остаётся лишь вариант анализа декомпилированного кода.
Краш-курс по BLE
В интернете есть небольшая, но хорошая статья на эту тему, и лучше чем в ней я не расскажу. Рекомендую ознакомиться.
Вкратце, BLE-устройства состоят из набора сервисов, которые, в свою очередь, состоят из набора характеристик. Сервисы бывают первичные и вторичные, но это не используется в лампочке. У сервисов и у характеристик есть хэндлы и уникальные идентификаторы (UUID). До прочтения вышеозначенной статьи я не понимал зачем нужны две уникальные характеристики. Ключевая фишка (очень пригодится для понимания кода ниже) в том, что UUID — это тип сервиса / характеристики, а хэндл — это адрес, по которому происходит обращение к сервису / характеристике. Т.е. на устройстве может быть несколько характеристик с каким-то типом (например, несколько термодатчиков, с одинаковыми UUID, но разными адресами). Даже на двух разных устройствах могут быть характеристики с одинаковыми UUID и эти характеристики должны вести себя одинаково. Многие типы имеют закреплённые UUID (например 0x2800 — первичный сервис, 0x180A — сервис с информацией о девайсе и т.д.).
Посмотреть все сервиса / характеристики устройства в gatttool можно командами primary и characteristics соответственно. Прочитать данные можно командой char-read , записать — char-write . Запись и чтение производятся по адресам (хэндлам). Собственно, управление любым BLE-устройством происходит через запись характеристик, а путём их чтения мы узнаём статус устройств.
В целом, этого должно быть достаточно для понимания принципов управления лампой.
Мигание лампочки на системном блоке стационарного ПК или корпусе ноутбука – что это означает, зачем это нужно
Как правило, у компьютера имеются два основных индикатора:
- Индикатор включения компьютера, а у ноутбука он ещё часто выполняет роль процесса зарядки аккумулятора, светясь другим цветом.
- Индикатор обращения к жёсткому диску или SSD накопителю.
В некоторых моделях ноутбуков также существуют и другие индикаторы, к примеру, индикация работы беспроводных модулей (Wi-Fi, Bluetooth). Однако это является частным случаем, но никак не массовым явлением.
Как уже говорилось выше, основных и наиболее часто встречающихся индикаторов – два. И именно второй индикатор, относящийся к визуализации обращения к накопителю и мигает с самой разной периодичностью. От чего зависит эта самая периодичность? От активности операционной системы и самого пользователя компьютера. Если на компьютере осуществляется какая-либо работа или любая другая деятельность, к примеру, просмотр фильма, то индикатор будет подмигивать. Однако даже в случае отсутствия каких-либо действий со стороны пользователя, операционная система постоянно осуществляет управление огромным количеством как сторонних, так и своих собственных служб, фоновых процессов и т.д. Многие из них пишут технические данные в реестр, на носитель данных.
Бытует мнение, что данный индикатор устарел, т.к. современные операционные системы осуществляют активную запись и чтение на накопитель, из-за чего обращение к нему осуществляется практически постоянно. Однако по интенсивности мерцания можно понять, сколь сильно загружен в тот или иной момент накопитель. Если индикатор обращения к накопителю горит практически постоянно, то это значит, что с носителя что-то очень активно считывается (или записывается). В этот момент отзывчивость самой операционной системы может снизиться.
Если же индикатор активности накопителя (жесткий диск или SSD) вовсе не горит, а операционная система не отвечает, то это может свидетельствовать о зависании.
Так что списывать со счетов данный индикатор было бы неправильно. Он по сей день помогает определить состояние, в котором прибывает система в тот или иной момент времени.
Мы рады, что смогли помочь Вам в решении поставленной задачи или проблемы.
В свою очередь, Вы тоже можете нам очень помочь.
Просто поделитесь статьей в социальных сетях и мессенджерах с друзьями.
Поделившись результатами труда автора, вы окажете неоценимую помощь как ему самому, так и сайту в целом. Спасибо!
Сейчас поговорим об освещённости рабочего места — организации его освещения (искусственного и естественного), источниках света, их расположении, настройке яркости экрана, и других вопросах, определяющих удобство работы за монитором и влияющих на усталость глаз. От этого может зависеть не меньше, чем от выбора монитора — иногда может оказаться, что за хорошим экраном глаза устают сильнее, чем за более простым, но лучше настроенном или удачнее расположенном.
На мой взгляд этот материал может оказаться полезным не только при организации освещения компьютерного рабочего места, но также и при установке и настройке телевизора или других устройств отображения.
Итак, добро пожаловать под кат.
Исследование кода
Немного о собственно реверс-инжиниринге. Ни для кого не секрет, что для исследования Android-приложений используются два инструмента — apktool и dex2jar . apktool "разбирает" APK на составляющие: ресурсы, XML-дескрипторы и исполняемый код. Но это не Java-классы, а специальный байт-код — smali. Некоторые утверждают, что он читается проще, чем Java, но я родился слишком недавно, чтобы понимать это без словаря. Тем не менее, ресурсы, извлечённые apktool 'ом пригодятся в дальнейшем. Для получения привычных class-файлов используется dex2jar . После этого классы можно декомпилировать обычным декомпилятором. Пользуясь случаем, хотелось бы порекомендовать любой из свежих декомпиляторов: Procyon, CFR или FernFlower. Привычные JAD'ы и прочие JD просто устарели! Ещё я пробовал Krakatau, но этот, похоже, слишком сыроват.
Обычно я использую Procyon, но он плохо переварил входные классы. Код многих методов представлял собой кашу из именованных меток и ничего нельзя было понять. Некоторые методы не поддавались разбору вообще. Как раз в то время ребята из JetBrains открыли свой декомпилятор на Github (FernFlower, за что им отдельное спасибо) и я попробовал его. Он оказался хорош! На выходе получался довольно адекватный Java-код. Правда, он тоже не смог декомпилировать некоторые части, которые, к счастью, оказались по зубам Procyon и CFR. Я взял за основу анализа результат работы FernFlower, а недостающие части заменил теми же кусками из CFR / Procyon (выбирал те, что покрасивее).
Небольшой урок, который я вынес из декомпиляции обфусцированных Android приложений: использовать встроенные в dex2jar средства деобфускации кода. Дело в том что имена классов и методов при сборке Android приложения сокращаются до ничего не значащих одно- и двухбуквенных. dex2jar умеет расширять их до трёх- и пятисимвольных строк, что позволяет проще ориентироваться по коду. Procyon, ЕМНИП, умеет делать то же самое сам по себе. Ещё при использовании Procyon полезной окажется опция -ei , включающая явные импорты и запрещающая использование конструкций типа import a.b.c.* — гораздо проще работать со статическими методами (коих хватает). FernFlower и CFR по умолчанию не используют такие импорты.
Я прошёлся по коду и заменил все вхождения $FF: Couldn't be decompiled на тот же код, сгенерированный другими декомпиляторами. Затем я открыл код в IntelliJ IDEA с Android плагином, настроил Android SDK (нужную версию можно узнать в выхлопе apktool ) и, вуаля!, можно разбираться.
Да, и вот с этим придётся работать
Обратите внимание, характеристики ищутся по UUID (типам), так как адреса могут быть разными на разных лампах (не забыли краш-курс по BLE?).
Я потратил несколько вечеров, переименовывая методы во что-нибудь значащее, типа find_FE03_Characteristic или setAndWrite_FFE9 , и просто изучая случайные куски кода. Логика начала потихоньку проясняться.
Стало понятно, что те два класса ( C149c и C144f ) — это своего рода подключения к лампочкам. Похоже, на каждую лампочку создаётся экземпляр подключения и через него происходит общение с лампой. Почему два класса?
Этот код вызывается для каждого обнаруженного девайса. Похоже, существует два типа ламп. Имена первых начинаются с "LEDBlue" или "LEDBLE". Имена вторых — не начинаются. Для работы с "LEDBlue" / "LEDBLE" лампами используется класс C149c , для работы с остальными — C144f . Имя моей лампочки — "LEDnet-4C2A0E4A", значит она относится ко второму типу ламп. Ещё я заметил в паре мест сравнение версии устройства с константой "3". Если версия больше трёх — используется класс С114f (второй тип ламп). Что ж, повод считать, что у меня лампа последних версий. Далее по тексту я буду называть "LEDBlue" и "LEDBLE" лампы "старыми", а остальные — "новыми".
Весь код пестрит synchronized -блоками ( MONITOREXIT — декомпиляции не поддаётся), wait 'ами и notify 'ями. То ли это результат декомпиляции, то ли под Android так принято писать, то ли автор… Ещё много Observable 'ов. Будь он даже не обфусцирован — читался бы сложно.
Ага! Читаем характеристику с типом FFF3 и узнаём, включена ли лампа. Проверяем на лампочке (ну когда уже там практика по расписанию?): если там записано 0xFF , значит лампа включена. Скоро мы научимся выключать лампу программно и узнаем, что в выключенном состоянии там хранится 0x3B .
Здесь и далее будем использовать неинтерактивный режим gatttool (без флага -I ). Адреса характеристик можно узнать из дампа.
Я намеренно опускаю классы, приводя код методов. Названия у вас будут другими, так что искать лучше по магическим константам.
Обратите внимание, как задаются значения для записи (параметр -n ) — просто строка, по два символа на байт, никаких префиксов типа 0x .
Нужно отправлять [0xCC, (0x23|0x24), 0x33] в характеристику с типом FFE9 . Я не уверен, что 0x23 == вкл, а 0x24 == выкл. Проверить мне не на чем.
Итак, с питанием всё понятно. Разберёмся, как задавать произвольный статичный цвет. Присматриваясь к коду, замечаем непереименованный класс LEDRGBFragment , видим там следующее:
Отправляем [0x56, , , , 0x00, 0xF0, 0xAA] в характеристику с типом FFE9 (вообще, похоже, это основная характеристика для управления лампочкой) и цвет меняется на произвольный. В классе C152n есть ещё несколько похожих методов, но те байты не возымели эффекта на лампу.
Рядом с LEDRGBFragment лежит ещё один подозрительный класс — LEDWarmWhileFragment . Он посылает похожую последовательность ( [0x56, 0x00, 0x00, 0x00, , 0x0F, 0xAA] ) всё в ту же характеристику:
Опытным путём я установил, что это белый цвет с заданной яркостью. "Warm While", хе-хе. Я бы сказал, что тут налицо очепятка и физическая неточность. Под словом "warm" (цветовая температура?) я понимал немного другое. В принципе, того же эффекта можно достичь записывая "оттенки серого" в RGB.
Так что там с предустановленными режимами? Посмотрим на ресурсы, вытянутые apktool 'ом:
Далее, ищем числовые эквиваленты имён:
Ищем по коду любой id (не забываем, что после декомпиляции все числа представлены в десятичном виде). Находится одно совпадение. Трёхходовочка, немного рефакторинга и, вуаля!, список предустановленных режимов у нас на руках:
Дальше всё просто. Смотрим Call Hierarchy (о, как я полюбил эту фичу за последнее время) этого метода, попадаем в некий LEDFunctionsFragment , а там:
Третьим байтом тут задаётся скорость работы режима. 0x01 — самая быстрая смена цветов, 0x1F — самая медленная. Моя лампочка принимает значения и больше 0x1F и работает ещё медленнее.
Программа-минимум выполнена! Конечно, полный функционал лампы гораздо шире; это видно и по коду, и по инструкции. Лампа умеет включаться / выключаться / менять режимы по расписанию и прикидываться цветомузыкой. Пока что я не анализировал этот функционал. Правда, для включения и выключения по расписанию на лампе есть часы, формат которых довольно простой, поэтому приведу наработки ниже.
Часы в "новых" лампах "расположены" в характеристике с типом FE01 . В коде она используется и для чтения, и для записи. Сразу приведу код и пример его использования (в отдельном groovysh ):
Эти три замыкания служат для создания значения, пригодного к записи в часы и для преобразования внутреннего формата в человекочитаемый
На старых лампах часы задаются с помощью всё той же характеристики FFE9 . Там вообще любая запись данных происходит в эту характеристику, а чтение — из FFE4 .
Настройка яркости экрана
Этот вопрос весьма holywar-ный, особенно для рабочих LCD мониторов, за которым приходится проводить по много часов. C одной стороны чем выше яркость экрана, тем «красивее» изображение, но при этом и глаза устают намного больше. С другой стороны, при снижении яркости глаза вроде бы устают меньше, но изображение становится «блеклым», к тому же подсветка многих LCD мониторов при низкой яркости начинает мерцать, что для глаз тоже совсем нехорошо. К тому же не все LCD мониторы позволяют глубоко снижать яркость (на форуме Мониторы конференции IXBT даже есть специальные темы Список мониторов, отсортированный по минимальной яркости, Монитор с маленькой яркостью и т.д.).
Да и рабочие задачи бывают разные. Кодинг или photoshop, офисное или CAD приложение, интернет браузер или видеоредактор — в каких-то достаточно минимальной яркости и контрастности, а в других требуется точная передача цветов.
Можно ли подобрать универсальную настройку яркости подсветки «на все случаи жизни»? Для себя я выработал такую методику:
- Открываем страничку в браузере с хорошей цветной фотографией (с оттенками, светами и тенями)
- Уменьшаем яркость подсветки до тех пор, пока изображение не начнет заметно бледнеть
- Увеличиваем яркость подсветки на несколько шагов, чтобы картинка вновь стала достаточно яркой
* Подчеркну, что эта настройка ни в коем случае не должна происходить за счет потери уровней белого и особенно уровней черного, риск потери которых весьма велик при снижении яркости подсветки, так что эту настройку тоже обязательно надо контролировать и при необходимости восстанавливать даже за счет увеличения яркости подсветки.
Я обычно ограничиваюсь хорошей различимостью Level 3 и видимостью «на уровне ощущений» Level 2.
Чуть более подробно я рассказывал об этом в своей статье Простой способ получения ”Flicker-Off”: «отключение» ШИМ мерцания подсветки LCD мониторов и телевизоров, но вообще вопрос «тонкой настройки» монитора требует отдельного большого разговора.
При этом в каких-то приложениях можно использовать темный фон, или включить «ночной» режим, или установить темную тему (что тоже является темой для holywar, например Почему разработчики так любят тёмную тему).
В настоящее время рабочие настройки на моем домашнем мониторе Samsung LT T32E310EX обеспечивают:
- Contrast ratio — 764:1 (edge: 916:1)
- White Luminance — 126 cd/m 2 *
* Я знаю, что многие пользователи предпочитают настраивать ярость рабочего монитора менее 100 cd/m 2 и даже еще ниже (см ссылки на соответствующие темы на конференции IXBT приведенные выше). И у них для этого есть определенные основания в том числе и с точки зрения снижения усталости глаз. Но об этом в следующем разделе.
Отдельно стоит упомянуть просмотр видео, игры и другие мультимедийные приложения.
В них хотелось бы иметь наиболее «красивую» картинку для наиболее приятного просмотра и обеспечения лучшего эффекта присутствия. Кроме того даже на том же самом мониторе мультимедиа приложения мы обычно смотрим с расстояния, большего «вытянутой руки» (55-70см), на котором мы обычно работаем за компьютером (почему — отдельный разговор), да и вряд ли мы смотрим фильмы и играем по 6-10 часов, сколько обычно проводим за рабочим компьютером (хотя для кого-то это тоже может быть работа).
Поэтому хотелось бы иметь отдельную настройку для таких приложений.
Иногда это возможно сделать. Например, в моем случае фильмы и другие мультимедиа (кроме Windows-овых игр) я смотрю через TV Box на Android, подключенный к другому входу монитора, при этом для разных входов монитор позволяет иметь различные настройки (с определенными ограничениями, но в данном случае это неважно). Поэтому на том же самом мониторе Samsung LT T32E310EX на «мультимедийном» входе получается:
- Contrast ratio — 1961:1 (edge: 2309:1)
- White Luminance — 309 cd/m 2 *
Такую же настройку ИМХО можно провести и для обычного телевизора (с оговорками, о которых мы поговорим в следующем разделе).
Итак, перейдем к «тонкой» настройке освещения,
3. Основное освещение помещения
Основное освещение присутствует практически в любом помещении. Если вы последователь традиционных решений, то остановитесь на мощном потолочном светильнике с возможностью выбора мощности освещения.
Выбирайте светильник, соответствующий объемам помещения , и обратите внимание на «нейтральный» цвет освещения. Естественный «нейтральный» не напрягает и не создаёт постепенного переутомления глаз. У многих «холодный белый» и даже «естественный белый» со временем вызывает эффект утомления, ну а «белый тёплый» некоторых просто расслабляет. В любом случае обратите на этот нюанс внимание.
Интересной идеей сегодня стала покупка светодиодных лент, которые можно разместить над плинтусами или на конкретных предметах обстановки помещения. Такое решение позволяет не только лучше освещать конкретное пространство, но и имеет ещё одну полезную функцию.
Современные технологии позволяют изменять цвет освещения и его интенсивность с помощью специально созданных программ посредством приложений для смартфона или пульта управления. Изменение цвета и его интенсивности позволяет как расслабиться, так и настроится на рабочий лад.
Продуманный подход к освещению рабочего места в доме имеет большое значение для эффективной работы и является одним из ключевых факторов, сохраняющих здоровье наших глаза. Подойдите к обустройству освещения разумно и ваш дом будет всегда любимым и самым лучшим местом для жизни.
Благодарю, что дочитали статью. Спасибо, если не забудете поставить лайк 👍 оставить комментарий и подписаться на канал 😉
Если вы открыли этот материал, то наверняка вас мучает вопрос, что за индикатор (ещё его называют – светодиод) вечно подмигивает в процессе работы компьютера или ноутбука. Причём мерцает он не с определённой периодичностью, а весьма хаотично. Давайте разбираться, что это за индикатор и почему он мигает с весьма непостоянной частотой.
Вывод
Освещённость пространства за монитором должно быть как минимум не ниже «рабочей» яркости монитора, причем чем больше монитор, тем важнее наличие хорошего Backlight. Помимо снижения усталости глаз, это позволяет несколько увеличить яркость экрана, улучшив тем самым качество его изображения. Ну а проконтролировать это проще всего сделав фотографию рабочего места камерой смартфона*
* Качество фотографий при этом не особо важно, даже камера смартфона с небольшим ДД сможет сделать заметными все неравномерности освещения.
По этой же причине при съёмке режим HDR и другие «фотоулучшайзеры» ИМХО лучше не включать, чтобы не приукрашать картину.
Фотографировать лучше всего из места положения головы при работе за монитором (ну, или чуть дальше, чтобы помимо экрана в кадр вошло и пространство вокруг него), при этом заодно можно будет выявить нежелательные блики, отражения и точечные источники света, попадающие в поле зрения, о которых говорилось в первой части статьи.
Если монитор позволяет иметь отдельные настройки для разных режимов работы (например, для разных входов, к которым подключены разные источники), то для просмотра видео или другого мультимедиа можно использовать «мультимедийную» настройку с увеличенной яркостью — запаса Backlight для этого будет достаточно.
То же самое можно сказать и о настройке Backlight телевизора.
Хотя для него наверное будет предпочтительнее будет сделать полноценный Ambilight, который помимо снижения нагрузки на глаза дает дополнительный эффект присутствия.
«Но это уже совсем другая история. » ©
Несколько слов о
1. Естественный свет просто необходим
Сначала обращаем внимание на естественное освещение и от этого начинаем всю расстановку мебели в помещении. Что это даёт?
Во-первых , это небольшая экономия расходов, но не это главное.
Во-вторых , продуманный выбор установки стола с позиции естественного освещения облегчит распределение всех осветительных приборов и повлияет на условия и эффективность повседневной работы.
Ключевым моментом здесь выступает правильное расположение стола по отношению к окну . Идеальным будет установка стола как можно ближе к окну, чтобы не было необходимости раннего включения настольной лампы.
При выборе оптимального места для стола следует помнить, что солнечные лучи не должны падать и на глаза и на монитор компьютера, за котором мы работаем.
Так как же установить стол с учётом правильного естественного освещения? Это решение на самом деле индивидуально, потому что оно зависит от направления расположения окон , этажности , наличия за окном деревьев или других объектов , препятствующих проникновению солнечных лучей.
Лучше выбрать место, расположенное рядом с окнами, выходящими на северную или восточную сторону . Но сначала всегда нужно смоделировать ситуацию в реальных условиях.
Разведка боем
Бегло погуглив, я понял, что для работы с BLE в Linux существует команда gatttool , входящая в состав пакета bluez . Но нужно использовать последние версии bluez — 5.x .
У меня bluez не был установлен вообще, а в репозиториях лежит 4.x , поэтому я ставил из исходников. На тот момент последней была версия 5.23 .
С первого раза ./configure вряд ли завершится успешно: необходимо доставить некоторые пакеты.
Для пакета libudev-dev пришлось явно задать версию для соответствия уже установленной libudev .
Прямо из коробки bluez поддерживает интеграцию с systemd , которой у меня нет. Поэтому поддержку пришлось выключить флагом --disable-systemd .
Ага, я в курсе про checkinstall
Собирается bluez довольно быстро. После сборки у меня-таки появилась заветная команда gatttool и даже кое-как работала. Можно двигаться дальше.
Я ввинтил лампочку в цоколь, заработал последний выбранный режим (как на зло это оказался стробирующий синий цвет), и опробовал свежий инструментарий:
Итак, на этом этапе я убедился, что соединение с лампочкой с ноутбука — это реальность, а значит дальше надо было искать способы управления. На самом деле, я начал экспериментировать с лампой сразу же, как только соединился с ней и лишь потом прочитал про GATT — протокол, используемый BLE-устройствами. Нужно было поступить наоборот, это сэкономило бы много времени. Поэтому приведу тут абсолютный минимум, необходимый для понимания.
Настройка подсветки
И так, подключили, вроде все заработало, а как теперь ей управлять? Если к плате не подключались, а подключились к хабу, то с помощью пульта, либо непосредственно хаба. Если же подключились, то необходимо скачать утилиту для управления подсветкой. У каждого производителя она разная, поэтому тут смотрите конкретного производителя материнской платы.
Я же покажу на примере ноутбука (подсветка клавиатуры), но принцип для подсветки ПК тот же самый. Программа - Asus Aura, через Armored Crate (у вас будет просто Asus Aura).
Все очень просто, как видите! И если все грамотно подобрать, то самое сложное в подключении подсветки - дождаться светового шоу. Если статья понравилась - не забудь поставить лайк, подписаться на канал , а также на нашу группу ВК . До скорого!
В наше время многие либо по собственному желанию, либо по решению кого-то свыше организуют свои рабочие места на дому. Для кого-то работа за компьютером - это основное дело, для кого-то - интересное хобби с дополнительным заработком. Но не имеет значение к какой категории работников относитесь лично Вы.
При неправильно организованном освещении такая «трудовая деятельность» на дому через год-другой может серьезно пошатнуть здоровье ваших глаз. Но об этом, конечно, никто не мечтает.
Итак, как обустроить освещение в правильном «домашнем офисе». Как сделать, чтобы ваш дом всегда оставался дружелюбным, безопасным и комфортным, одним словом, был по-настоящему милым местом.
Компьютерное кресло
На своём компьютерном кресле я настроил два «квазификсированных» положения:
-
"Верхнее" — сиденье на высоте около 50-52см, спинка поднята, при этом удобно сидеть за столом, работая за компьютером на расстоянии 55-65см от экрана («вытянутой руки»), верхний край экрана чуть выше уровня глаз, взгляд выше центра экрана, левая рука на дополнительной подушечке перед мышкой (см статью Как защититься от синдрома запястного канала?), а правая на подушечке, лежащей на «подставке», закрепленной на открытой дверце стола.
Практически в соответствии с
СанПиН 2.2.2-2.4.1340-03 Гигиенические требования к персональным электронно-вычислительным машинам и организации работы
. 9. Общие требования к организации рабочих мест пользователей ПЭВМ…
9.4. Экран видеомонитора должен находиться от глаз пользователя на расстоянии 600 — 700 мм, но не ближе 500 мм с учетом размеров алфавитно-цифровых знаков и символов.
ГОСТ Р ИСО 9241-5-2009. Эргономические требования к проведению офисных работ с использованием видеодисплейных терминалов (VDT). Часть 5. Требования к расположению рабочей станции и осанке оператора
… А.2.12 Расстояние наблюдения и его отклонения
Оптимальное расстояние между видеодисплеем и глазами пользователя зависит от различных факторов. Расстояние наблюдения, предусмотренное конструкцией, т.е. расстояние, определенное изготовителем дисплея, устанавливает размер >400 мм. Оптимальное расстояние наблюдения для офисной работы в положении сидя составляет 600 мм. Однако отдельные пользователи предпочитают расстояния от 450 мм до 750 мм. Для расстояния наблюдения в этом диапазоне требуется высота букв в интервале от 20' до 22'.
Для перевода в «нижнее» положение я перед тем, как сесть удаляю проставку со штока, затем сажусь, освобождаю фиксатор сиденья кресла, максимально опускаю кресло вниз, и откидываюсь назад. Сопротивление откидыванию установлено на минимум, кресло само под моим весом ложится в «нижнее» положение.
Некоторые аспекты, касающиеся выбора монитора, настройки параметров его изображения, и др. вопросы я затронул лишь вскользь, в той их части, где это непосредственно касается темы данной статьи.
Читайте также: