Raspberry Pi Zero 2 w

最便宜的开发板了...

background

Why not?

goal

作为上位机和 Pico 连接起来折腾点儿事儿。。。

trace

HX1838

... 接入标准 HX1838 红外接收器的需求。需要使用 Rust 语言提供的 GPIO 库来控制 Raspberry Pi 的 GPIO 引脚,以及使用 Rust 的外部库来读取红外信号。具体的实现步骤如下:

  1. 配置环境

首先需要安装 Rust 工具链,可以在 Raspberry Pi zero 2w 上使用以下命令进行安装:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

安装完成后,需要安装对应的交叉编译工具链,以便于在 Raspberry Pi zero 2w 上编译 ARM 版本的代码。可以使用以下命令进行安装:

rustup target add armv7-unknown-linux-gnueabihf
  1. 连接硬件

将 HX1838 红外接收器连接到 Raspberry Pi 的 GPIO 引脚上。可以参考 HX1838 的数据手册来确定连接方式。

  1. 编写代码

首先需要导入 GPIO 库和外部库,可以在项目的 Cargo.toml 文件中添加以下依赖:

[dependencies]
rppal = "0.12.2"
rust-hx711 = "0.1.0"

然后编写 Rust 代码,示例代码如下:

use rppal::gpio::{Gpio, Level, Mode};
use rust_hx711::HX711;

fn main() {
    let gpio = Gpio::new().unwrap();
    let mut pin = gpio.get(17).unwrap().into_input_pullup();
    let mut hx711 = HX711::new(18, 27).unwrap();

    loop {
        if pin.read() == Level::Low {
            let reading = hx711.read().unwrap();
            println!("Reading: {}", reading);
        }
    }
}

代码中的 gpio.get(17) 表示通过 GPIO 引脚编号来获取 GPIO 对象,然后将其设置为输入模式,并开启上拉电阻。HX711::new(18, 27) 表示创建一个 HX711 对象,其中 18 和 27 分别表示 HX711 的 SCK 和 DT 引脚对应 Raspberry Pi 的 GPIO 引脚编号。

运行代码后,可以通过红外遥控器发送信号,然后在终端中可以看到将红外信号转换为数字的输出。

  1. 编译代码

使用以下命令来编译代码:

cargo build --target=armv7-unknown-linux-gnueabihf

编译完成后,可以将生成的二进制文件拷贝到 Raspberry Pi zero 2w 上,然后在终端中运行即可。

refer.

关键参考

选择困难? Best Linux Operating Systems for the Raspberry Pi

    # rankmirrors -n 6 /etc/pacman.d/mirrorlist.backup > /etc/pacman.d/mirrorlist
          _~∽--~_
      \/ /  ◶ ?  \ \/
        '_   ⌐   _'
        \ '--+--' |

...act by ferris-actor v0.2.4 (built on 23.0303.201916)

知识共享许可协议 本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可;-)