4 个版本
0.4.3 | 2024年3月24日 |
---|---|
0.4.2 | 2024年3月24日 |
0.4.1 | 2023年6月23日 |
0.4.0 | 2023年6月23日 |
#397 在 硬件支持
每月 98 次下载
27KB
470 行
Rust 的 Firmata 客户端库
使用 Rust 控制 Firmata 设备!
该库包含一个 Board 结构体,您可以使用任何实现 std:io::{Read, Write}
和 Debug
的对象进行初始化。这可以避免局限于特定的接口库。我强烈推荐 serialport
用于您的 USB 连接(在示例中使用),但您也可以使用 serial
或其他任何库。
返回结果的 Firmata
特性中的不同方法在 RetryFirmata
特性中也有 可退避 的对应方法,该特性利用 backoff
crate 的 ExponentialBackoff
策略。这可能对您的 Rust 程序可能运行“太快”,以至于无法跟上您的 Firmata 设备的情况很有用。
该包已配置为利用 tracing
,这有助于找到您的消息去哪里了!如果您设置环境变量 CARGO_LOG=DEBUG
,您可以捕获最多的噪声。
示例
有许多示例可以与您的 Firmata 设备一起尝试!您可以像这样运行每个示例
cargo run --example blink
其中 blink
是示例的文件名。
如果您想获得“完整”的输出,可以使用
RUST_LOG=DEBUG cargo run --example blink
在设备上安装 Firmata
由于您在这里,您可能有一台 Arduino 或其他 Firmata 设备。您可以前往您喜欢的 Arduino IDE 并将常规的“StandardFirmata”加载到您的设备上,并开始尝试!
查找正确的端口
您可能需要将 USB 端口设置为您的机器上正在使用的端口。在运行后,在列表中找到正确的 port_name
cargo run --example available
许可协议
根据您的选择,许可协议为以下之一
- Apache 许可证 2.0 版本,(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
。
贡献
除非您明确表示,否则根据Apache-2.0许可证定义的您有意提交以包含在作品中的任何贡献,应按上述方式双授权,不附加任何额外条款或条件。
致谢
这个库在很大程度上基于Adrian Zankich在https://github.com/zankich/rust-firmata上早期的作品,为此应向他表示许多感谢!
依赖项
~1–1.8MB
~34K SLoC