使用 DDC/CI 協(xié)議自動調(diào)整顯示器亮度

原文連接: https://purocean.github.io/%E4%BD%BF%E7%94%A8ddc-ci%E5%8D%8F%E8%AE%AE%E8%B0%83%E6%95%B4%E6%98%BE%E7%A4%BA%E5%99%A8%E4%BA%AE%E5%BA%A6/

背景

這幾天新入了一個顯示器 戴爾 D2720DS 感覺很不錯,屏幕大 27寸,分辨率高 2k,能橫著豎著升降,使用很方便。比起我 6 年前買的那個 21 寸 顯示器好得多。
但是這幾天使用下來,發(fā)現(xiàn)了了一個非常不方便的事情:白天我需要講顯示器亮度調(diào)高,晚上又要調(diào)低,非常的繁瑣。這款顯示器又是比較呆的,也沒有一鍵切換情景模式的功能。好在找到了一個可以使用軟件調(diào)整顯示器亮度的方法,這就是 DDC/CI 協(xié)議[1]

開啟 DDC/CI

我這款顯示器是支持 DDC/CI,看使用手冊[2] 開啟 DDC/CI 功能,其他顯示器可以參考官方說明。

然后在安裝官方驅(qū)動程序[3]。也許不用安裝驅(qū)動程序也可以搞,我沒試過,這里直接就安裝了。

DDC/CI 命令行工具

這里我找到了一個可以用 DDC/CI 命令行程序,在 GitHub 開源的。
https://github.com/hensm/ddccli

使用方式還是很簡潔。但是只有 兩顆星星,這么好的工具,趕緊給作者加一個。

看代碼就是調(diào)用 windows 的庫來實現(xiàn)的。另外作者也給出了 nodejs 的庫[4]。

ddccli 使用方式:

Usage: ddccli.exe [options]
Utility for setting brightness/contrast on connected monitors via DDC/CI.

    -b, --brightness
        Sets monitor brightness
    -B, --get-brightness
        Gets monitor brightness
    -c, --contrast
        Sets monitor contrast
    -C, --get-contrast
        Gets monitor contrast
    -h, --help
        Prints this help message
    -v, --version
        Prints the version number
    -l, --list
        Lists connected monitors
    -m, --monitor
        Selects a monitor to adjust. If not specified, actions affects all monitors.

編寫腳本

這里我就嘗試直接使用 bat 腳本來調(diào)用這個軟件了,不搞那些花里胡哨的,直接上代碼。

@echo off

set "t=%time: =0%"
set "t=%t:~,5%"
set val=30

if "%t%" geq "09:00" set val=70
if "%t%" geq "19:00" set val=30

echo %val% %t%

"%~dp0ddccli.exe" -b %val%

保存上面的腳本為一個 bat 文件即可,需要注意 ddccli.exe 需要和這個 bat 文件放在一個目錄。

定時執(zhí)行

現(xiàn)在這個腳本已經(jīng)能在 9 點到 19 點之間保持 70% 的亮度,其他時候30% 的亮度。當(dāng)然可以更精細(xì)化調(diào)整甚至根據(jù)日出日落,或者買個光線傳感器來做調(diào)整。這里已經(jīng)可以滿足我的需要了。

使用 Windows 的任務(wù)計劃程序可以設(shè)置讓這個腳本每隔 10 分鐘執(zhí)行一次。


這里使用一個 vbs 腳本來隱藏腳本執(zhí)行時候彈出的黑乎乎的窗口。

Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c "&WScript.Arguments(0) ,vbhide

注意不能使用其他用戶運行等設(shè)置來隱藏這個窗口,因為因為程序要獲取顯示器資源來操作。使用 vbs 方式可以避免這個問題。


  1. https://baike.baidu.com/item/ddc/ci ?

  2. Dell D2720DS 用戶指南 ?

  3. Dell D2720DS 驅(qū)動程序 ?

  4. https://github.com/hensm/node-ddcci ?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容