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硬件支持

Download history 9/week @ 2024-07-02

每月 98 次下载

MIT/Apache

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许可证定义的您有意提交以包含在作品中的任何贡献,应按上述方式双授权,不附加任何额外条款或条件。

致谢

这个库在很大程度上基于Adrian Zankich在https://github.com/zankich/rust-firmata上早期的作品,为此应向他表示许多感谢!

依赖项

~1–1.8MB
~34K SLoC