#light #webhook #usb #usb-device #devices #command-line-tool #cli

bin+lib luxafor

用于通过 USB 或 webhook 接口的 Luxafor 灯的库和 CLI 工具

5 个不稳定版本

0.3.0 2024 年 7 月 22 日
0.2.2 2020 年 8 月 19 日
0.2.1 2020 年 8 月 18 日
0.2.0 2020 年 8 月 18 日
0.1.0 2020 年 8 月 17 日

#133硬件支持

Download history 18/week @ 2024-07-05 114/week @ 2024-07-19 50/week @ 2024-07-26 5/week @ 2024-08-02

每月 169 次下载

MIT 许可证

50KB
851

Crate luxafor

用于通过 USB 或 webhook 接口的 Luxafor 灯的库和 CLI 工具。

Rust Minimum Rust Version crates.io docs.rs MIT License GitHub stars

客户端的主要入口点是 trait Device,它为 USB 连接的设备(如 flag)以及 flag 和 蓝牙 灯的 webhook 提供实现。

每个连接都有其自己的发现或连接方法,但将提供用于操作灯光状态的 Device 实现。

API 示例

以下示例显示了一个将灯光设置为纯红色的函数。它演示了 USB 连接设备的用法。

use luxafor::usb_hid::USBDeviceDiscovery;
use luxafor::{Device, SolidColor};
use luxafor::error::Result;

fn set_do_not_disturb() -> Result<()> {
    let discovery = USBDeviceDiscovery::new()?;
    let device = discovery.device()?;
    println!("USB device: '{}'", device.id());
    device.set_solid_color(SolidColor::Red, false)
}

以下显示了相同的函数,但使用 webhook 连接。

use luxafor::webhook::new_device_for;
use luxafor::{Device, SolidColor};
use luxafor::error::Result;

fn set_do_not_disturb(device_id: &str) -> Result<()> {
    let device = new_device_for(device_id)?;
    println!("Webhook device: '{}'", device.id());
    device.set_solid_color(SolidColor::Red, false)
}

CLI 示例

以下显示了命令行工具将颜色设置为红色。

 lux -d 2a0f2c73b72 solid red

以下显示了命令行工具将颜色设置为闪烁的绿色。此示例使用环境变量 LUX_DEVICE 来保存重复设备标识符。

 export LUX_DEVICE=2a0f2c73b72
 lux blink green

以下显示了命令行工具关闭灯光。

 lux -vvv -d 2a0f2c73b72 off
 INFO  luxafor > Setting the color of device '2a0f2c73b72e' to 000000
 INFO  luxafor > call successful

功能

  • 命令行;提供命令行工具 lux,默认情况下对库客户端不可用。
  • USB;提供对 USB 连接设备的访问。
  • webhook(默认):通过 webhook 提供对 USB 或蓝牙设备的访问。

变更

版本 0.3.0

  • 构建:更新依赖项版本。
  • 重构:使用自己的显式 Error 类型。

版本 0.2.2

  • 文档:向 usb_hid 模块添加了 HID 规范文档。
  • 功能:添加了新的 Wave 枚举。
  • 功能:向 Device 添加了新方法。
    • 完全支持 USB HID,
    • 并非所有都支持 webhook。
  • 功能:添加了新的 TargetedDevice trait 和 USB 实现。

版本 0.2.1

  • 功能:移除了 DeviceIdentifier trait,现在 Device 返回一个字符串。

版本 0.2.0

  • 重构:提供新的 Device trait
  • 功能:为 webhook 连接的灯光实现了 trait
  • 功能:添加了新的 HID 连接灯光实现

版本 0.1.0

  • 初始提交,支持标志和蓝牙灯光。

待办事项

  • Webhook API 不如 USB 丰富,需要找到一种管理方法。

依赖项

~0-11MB
~120K SLoC