3个不稳定版本
0.2.1 | 2021年5月6日 |
---|---|
0.2.0 | 2019年2月27日 |
0.1.0 | 2018年3月12日 |
1035 在 硬件支持 中排名
每月195 次下载
45KB
801 行
rust_gpiozero
一个用于Raspberry Pi的GPIO设备的简单接口。
这个库基于GPIOZero库。
目的是通过隐藏底层复杂性,用Rust语言实现物理计算,减少编码量。
库使用BCM引脚编号
示例:闪烁LED
use rust_gpiozero::*;
fn main() {
// Create a new LED attached to Pin 17
let mut led = LED::new(17);
// on_time = 2 secs, off_time=3 secs
led.blink(2.0,3.0);
// prevent program from exiting immediately
led.wait();
}
示例:等待按钮按下
use rust_gpiozero::*;
fn main() {
// Create a button which is attached to Pin 17
let mut button = Button::new(17);
button.wait_for_press(None);
println!("button pressed");
}
与使用sysfs_gpio
在Raspberry Pi上闪烁LED的crate相比
extern crate sysfs_gpio;
use sysfs_gpio::{Direction, Pin};
use std::thread::sleep;
use std::time::Duration;
fn main() {
let my_led = Pin::new(127); // number depends on chip, etc.
my_led.with_exported(|| {
loop {
my_led.set_value(0).unwrap();
sleep(Duration::from_millis(200));
my_led.set_value(1).unwrap();
sleep(Duration::from_millis(200));
}
}).unwrap();
}
安装/使用
要使用rust_gpiozero
,首先将其添加到您的Cargo.toml中
[dependencies]
rust_gpiozero = "0.2.0"
在Raspberry Pi上直接编译项目可能需要很长时间,具体取决于型号。理想情况下,您将交叉编译项目,然后在Raspberry Pi上运行。
特性
以下特性是计划中的
- 支持
embedded-hal
- 支持加速度计、温度传感器等常见设备
变更日志
许可证
许可协议为以下之一
- Apache许可证版本2.0,(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确声明,否则任何有意提交以包含在作品中的贡献,如Apache-2.0许可证中定义,均应如上所述双重许可,无需任何额外的条款或条件。
感谢您对rust_gpiozero
感兴趣。我是一个Rust语言的初学者,刚开始使用这种语言!我正在使用这个项目来学习更多关于Rust的知识。请随时提供反馈或发送PR。您的经验和反馈也将惠及其他使用此库的人。
鸣谢
依赖项
~380KB