Skip to content
/ pjlink Public

A Rust crate for control of PJ Link based projectors and displays

License

Notifications You must be signed in to change notification settings

macoss/pjlink

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PJLink

This is a Rust library for the PJLink protocol. PJLink is a network control protocol that has been incorporated into projectors and displays over the last few years. You can find the protocol specification here. This Library currently supports both authenticated and open connections and currently returns unparsed response. This is just beginning of the API and more will be coming. However, I do plan to leave the raw send_command function for those that want to use this library at a lower level.

Testing has been done with Panasonic and Sanyo projectors.

Version 0.2.0 is the first version that has included the full command set of the PJLink specification.

Usage

Add to Cargo.toml:

[dependencies]

pjlink = "0.2.0"

Create a PjlinkDevice and start requesting status and sending control.

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),
}

Examples

In the examples folder we have some sample programs that can be run using the folloing command from the project directory.

cargo run --example power_status 192.168.1.1 password

License

Licensed under

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be licensed as above, without any additional terms or conditions.

About

A Rust crate for control of PJ Link based projectors and displays

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages