xifangczy 发表于 2018-11-2 19:08

控制罗技G系列产品的LED灯

现在的电脑配件真是。。。舍得用灯。。
最近买了个罗技G502得瑟的不行。
去下载驱动 看见了一个 LED照明SDK 激动的不行。
https://www.logitechg.com.cn/zh-cn/innovation/developer-lab.html
下载下来开始玩玩。

打开发现还挺全,文档是英文的看的我脑壳痛,随手写的小玩意嘛,还是python来的更快。
注意 我用的是python3

首先在SDK里找到 \Lib\LogitechLedEnginesWrapper\x64 下的dll文件,x64 就是64位 32就用 x32文件夹里的。

import ctypes
import time

#载入dll
LGS = ctypes.cdll.LoadLibrary('LogitechLedEnginesWrapper.dll')

#根据文档,需要运行初始化函数
LGS.LogiLedInit()

#我没有RGB的罗技键盘,是纯白的,2表示只改变RGB设备
LGS.LogiLedSetTargetDevice(2)

#三个数字分别是,红蓝绿的百分比
#3个都是 100% 就是白色咯
LGS.LogiLedSetLighting(100, 100, 100)

#暂停一下不然脚本退出后,颜色控制就交给驱动了
time.sleep(9999)

LogiLedSetLighting 是常亮,如果觉得不爽,换成呼吸效果可以调用LogiLedPulseLighting,最后一个参数是呼吸间隔秒数 栗子:LogiLedPulseLighting(100,100,100,3)

这样还是觉得不过瘾,需要让这灯干点什么....一闪一闪在家开party?low...

在家的你还是关心下空气质量吧,用来显示空气质量好了。。

数据来源用 http://aqicn.org

去https://aqicn.org/api/ 申请个api接口就完事了。。


import urllib.request
import ctypes
import time
import json


LGS = ctypes.cdll.LoadLibrary('LogitechLedEnginesWrapper.dll')
LGS.LogiLedInit()
LGS.LogiLedSetTargetDevice(2)

#这里填写自己申请的token key
Token = '505c79944cee9b385044d205c8292d61ced0fae6'
api = 'http://api.waqi.info/feed/here/?token=' + Token
#1个小时更新一次
sec = 3600

#用API获取数据
def aqicn():
    request = urllib.request.urlopen(api)
    html = request.read()
    data = json.loads(html)
    return data['data']['aqi']

#质量用颜色表示
def getAirLevel():
    air = int(aqicn())
    red,green,blue = 0,0,0
    if air <= 50:
      red,green,blue = 0,100,0
    elif air <= 100:
      red,green,blue = 100,60,0
    elif air <= 150:
      red,green,blue = 100,30,0
    elif air <= 200:
      red,green,blue = 100,0,0
    elif air <= 300:
      red,green,blue = 100,0,100
    else:
      red,green,blue = 50,10,10
    return red,green,blue

#循环
while True:
    try:
      red,green,blue = getAirLevel()
      LGS.LogiLedSetLighting(red, green, blue)
    except:
      LGS.LogiLedSetLighting(0,0,0)
      LGS.LogiLedShutdown()
      pass
    time.sleep(sec)


代码很简单,用的颜色 参考网站的来的。


怎么样 是不是很酷炫,然后你用个 bat 包装下,想办法放到开机菜单里就完事了。

希望大家天天看到的都是绿色。(不是头上的

xifangczy 发表于 2018-11-2 21:24

神枪泡泡丶 发表于 2018-11-2 21:17
楼主的参数只加token? 那检测的地区 默认是city":{"geo":...地址应该写为(不是上海 ...

我用的这个api 是根据你请求的IP来判断位置,不需要传送位置。
里面也有要传坐标的API 大城市还能精确到区,根据自己情况来修改。

神枪泡泡丶 发表于 2018-11-2 21:17

本帖最后由 神枪泡泡丶 于 2018-11-2 21:20 编辑

楼主的参数只加token? 那检测的地区 默认是city":{"geo":...地址应该写为(不是上海的就换一下):http://api.waqi.info/feed/shanghai/?token=demo”

MS墨 发表于 2018-11-2 19:16

楼主很有想法啊,可惜木有罗技鼠标

zuiai125520 发表于 2018-11-2 19:29

哟 同为习武之人

yxjoe 发表于 2018-11-2 19:44

骚啊楼主

JieW_L 发表于 2018-11-2 19:45

技嘉的可以吗

Perrit 发表于 2018-11-2 19:45

哈哈,这个真的很有意思

Antizen 发表于 2018-11-2 20:03

G304路过,并没有灯

何骨 发表于 2018-11-2 20:08

楼主送鼠标吗:keai

a4150 发表于 2018-11-2 20:24

驱动软件 不是带调节 led灯的功能吗?

宇宙小菜鸟 发表于 2018-11-2 20:48

本帖最后由 宇宙小菜鸟 于 2018-11-2 20:53 编辑

是官方的不好用?果然是习武之人一言不合就开搞.......
https://ws1.sinaimg.cn/large/006eHidVgy1fwu09mhm90g30ry0kuwpn.gif
页: [1] 2 3
查看完整版本: 控制罗技G系列产品的LED灯