9 个版本
0.4.4 | 2021 年 12 月 13 日 |
---|---|
0.4.3 | 2021 年 5 月 17 日 |
0.4.2 | 2020 年 8 月 4 日 |
0.4.0 | 2020 年 7 月 7 日 |
0.1.0 | 2019 年 11 月 27 日 |
#4 in #tp-link
每月下载 32 次
用于 2 crates
100KB
2.5K SLoC
TPLinker
一个 Rust 库,用于查询和控制 TPLink 智能插座和智能灯。
支持设备包括 HS100、HS110、LB110、LB120、KL110。
入口点
要使用设备,您必须引入来自 capabilities
的能力特性。
发现
要查看本地网络上的所有 TPLink 智能设备,请使用 discovery::discover
。
use tplinker::{
discovery::discover,
devices::Device,
capabilities::Switch,
};
fn main() {
for (addr, data) in discover().unwrap() {
let device = Device::from_data(addr, &data);
let sysinfo = data.sysinfo();
println!("{}\t{}\t{}", addr, sysinfo.alias, sysinfo.hw_type);
match device {
Device::HS110(device) => { device.switch_on().unwrap(); },
_ => {},
}
}
}
直接设备
要连接到特定的 TPLink 设备,请使用 devices
中的特定设备结构。
use tplinker::{
devices::LB110,
capabilities::{Switch, Dimmer},
};
let device = LB110::new("192.168.0.99:9999").unwrap();
if device.is_on().unrwap() {
let brightness = device.brightness().unwrap();
if brightness < 50 {
device.set_brightness(brightness + 20).unwrap();
}
}
能力
要使用设备,您必须引入来自 capabilities
的相关能力特性。
命令行界面
有一个基本的 CLI
tplinker discover
tplinker status 192.168.1.2 192.168.1.3
tplinker switch 192.168.1.4 on
依赖关系
~2.6–4MB
~71K SLoC