#display #protocols #control #networking #projector #devices #projectors

pjlink

一个用于与支持PJLink的设备(如投影仪或显示器)通过网络进行通信的PJLink库

3个不稳定版本

使用旧的Rust 2015

0.2.0 2019年3月31日
0.1.1 2018年8月18日
0.1.0 2018年8月15日

#5 in #projector

每月下载量22次

Apache-2.0

31KB
532

PJLink

这是一个用于PJLink协议的Rust库。PJLink是一种网络控制协议,近几年来已集成到投影仪和显示器中。您可以在这里找到协议规范。该库目前支持认证和开放连接,并返回未解析的响应。这只是API的开始,还将会有更多内容。然而,我确实计划保留raw_send_command函数,以便那些希望以较低级别使用此库的人。

已使用松下和三洋投影仪进行测试。

版本0.2.0是第一个包含PJLink规范完整命令集的版本。

用法

添加到Cargo.toml

[dependencies]

pjlink = "0.2.0"

创建一个PjlinkDevice并开始请求状态和发送控制。

extern crate pjlink;
use pjlink::PjlinkDevice;

let mut device = PjlinkDevice::new("192.168.1.1").unwrap();

match device.power_status {
    Ok(response) => match response {
        PowerStatus::Off => println!("Device is off"),
        PowerStatus::On => println!("Device is on"),
        PowerStatus::Cooling => println!("Device is cooling"),
        PowerStatus::Warmup => println!("Device is warming up"),
    },
    Err(err) => println!("An error occurred: {}", err),
}

示例

在示例文件夹中,我们有一些可以通过以下命令在项目目录中运行的示例程序。

cargo run --example power_status 192.168.1.1 password

许可证

许可协议

贡献

除非您明确说明,否则根据Apache-2.0许可证定义的您有意提交的工作中的任何贡献,均应按上述方式许可,无需附加条款或条件。

依赖关系

~18KB