#controller #zwave #z-wave #home-control

bin+lib rzw

Rust 控制Z-Wave网络的库

1 个不稳定版本

使用旧的 Rust 2015

0.1.0 2018年8月31日

#108 in #controller

MIT 许可证

80KB
1.5K SLoC

Rusty Z-Wave

rzw 包提供通过 USB Z-Wave 模块控制 Z-Wave 网络的本地功能。它完全用 Rust 编写,以确保安全和性能。


兼容性

rzw 包依赖于 serial create,与 Windows 以及实现 termios API 的任何 Unix 操作系统兼容。以下平台已被确认兼容

  • Linux (x86_64, armv6l)
  • OS X (x86_64)
  • FreeBSD (amd64)
  • OpenBSD (amd64)
  • Windows (x86_64) 编译 rzw 包需要 Rust 1.9 或更高版本。

使用方法

Cargo.toml 中将 rzw 添加为依赖项

[dependencies]
rzw = { git = "https://github.com/Roba1993/rzw" }

使用 rzw::Controller 作为与 Z-Wave 网络通信的起点。

extern crate rzw;

fn main() {
    // Access the zwave network
    let zwave = rzw::open("/dev/tty.usbmodem1411").unwrap();

    // get all node ids
    let nodes = zwave.nodes();

    // loop over the nodes
    for node in nodes {
        // print the available command classes for each node
        println!("{:?}" zwave.node(node).map(|n| n.get_commands()));

        // set the basic value on all nodes
        // for binary switch this means, turn them on
        zwave.node(node_id).map(|n| n.basic_set(0xFF)).unwrap();
    }
}

资源


感谢

  • 感谢 serial-rs 团队 - 使此包成为可能。

许可证

版权所有 © 2016 Robert Schütte

MIT 许可证 下分发。

依赖项

~200–320KB