如何在树莓派上开始使用Rust

电子说

1.3w人已加入

描述

如果您对编程感兴趣,那么您可能听说过Rust。该语言由Mozilla设计,受到开发人员的广泛喜爱,并继续在奉献者中成长。

Raspberry Pi是小型计算机的瑞士军刀,非常适合学习代码。我们将两者结合起来,并在Raspberry Pi上安装Rust。

设置Raspberry Pi

对于此项目,您将需要:

Raspberry Pi

LED。

220-1k欧姆电阻。

面包板和接线。

树莓派

使用GPIO 18连接到LED的正极,将LED的负极连接到电阻,然后再回到Pi的GND引脚,设置电路。

本教程是使用Raspberry Pi 3B +和Raspbian Stretch在桌面模式下制作的。即使不同型号的Pi和不同的操作系统可能会产生不同的结果,它也可以通过远程SSH连接正常运行。

如何在Raspberry Pi上安装Rust

树莓派

要安装rust,请转到rust-lang安装页面,然后将install命令复制到您的终端中。出现提示时,选择默认安装。

树莓派

安装程序将在完成时通知您,尽管安装可能会花费一些时间,具体取决于您的连接。/p》 安装后

树莓派

安装成功,但是您还不能开始使用它。如果尝试按版本检查Rust和Cargo,则会收到错误消息。通常,您必须在PATH中添加一种语言才能在命令行上使用它们。

幸运的是Rust为您做到了,而您所需要做的就是重新启动Pi或注销并再次登录。现在检查Rust和Cargo应该可以使用。

树莓派

您将在终端上编译和构建所有脚本,但是您还需要代码编辑器。在这个项目中,我将使用Code-OSS,这是VS Code的社区版本,您可以在Pi上安装它,但这不是必需的。任何代码编辑器都可以。

创建Rust项目

要创建Rust项目,请创建一个新目录,然后输入

mkdir YourFolder

cd YourFolder

使用Cargo创建一个新的Rust项目。

cargo new YourProject

您将确认已经创建了新项目。

树莓派

输入新项目文件夹并列出其内容。

cd YourProject

ls

您会看到一个名为 src 和名为 Cargo.toml 的文件。这两个元素构成了每个Rust项目的基础。

一个简单的Rust项目,解释了

树莓派

首先,让我们打开src目录,然后在代码编辑器中打开 main.rs 。您会看到新项目随附了一个“ Hello World”脚本,可以帮助您入门。

以前使用C语言或Java的人都会熟悉Rust语法。这与使用空白,分号和花括号表示代码块的Python不同。 Rust代码必须在运行之前进行编译和构建。

树莓派

返回项目的父文件夹,在其中打开 Cargo.toml 代码编辑器。任何使用JavaScript或Ruby进行编码的人都可能会发现这很熟悉。项目信息,构建说明和依赖项都在此文件中列出。包在Rust中称为板条箱,我们稍后将使用它来访问Raspberry Pi的GPIO引脚。

构建示例项目

返回终端窗口,请确保您位于项目目录中并构建项目。

cargo build

树莓派

这将创建另一个文件夹在名为 target 的项目中。您还会注意到一个名为 Cargo.lock 的新文件。与团队合作或编写一些代码部署到服务器时,此文件会将项目锁定到先前已成功编译和构建的版本。学习时,您可以放心地忽略此文件。

在目标文件夹中有一个名为 debug 的子文件夹,这是可执行文件所在的位置。在Mac和Linux上,通过键入以下内容来运行项目:

。/YourProject

在Windows上,您将拥有一个新的 EXE 文件,该文件可以通过双击运行单击。

树莓派

成功!让我们将该项目转换为使用GPIO引脚的东西。

设置GPIO引脚

树莓派

我们将使用rust_gpiozero条板箱由Rahul Thakdoor撰写。虽然这不是访问GPIO引脚的唯一方法,但此板条箱的设计类似于Python GPIO零库。

与其手动下载板条,还可以将其名称粘贴在Cargo.toml中的依赖项下。文件。

[dependencies]

rust_gpiozero = “0.2.0”

保存并打开终端。在此阶段,由于代码未更改,因此重建项目没有任何意义。 Cargo提供了一个可以检查代码是否可以编译以及是否存在所有依赖项的功能。

cargo check

树莓派

您的连接可能需要花费几分钟,但是当您在Cargo.toml文件中添加或更改项目时,只需要做一次。

Hello Blink

现在,您将把Hello World脚本更改为闪烁的脚本。首先在编辑器中打开main.rs。如果要跳过编码,可以在Github Gist上找到完成的脚本。

您需要让编译器知道您正在使用rust_gpiozero库,因此请在脚本的最顶部添加对的引用。

use rust_gpiozero::*;

非常类似于基于Python的常规眨眼草图,我们需要一种在打开和关闭LED之间增加延迟的方法。在Rust中,我们使用标准库的两个元素来做到这一点:

use std::thread::sleep;

use std::time::Duration; // note the capital D!

现在在您的 main 函数中,为您的LED添加一个变量引脚,以及包含闪烁指令的循环。

let led = LED::new(18); // sets a variable for the led pin

loop{ // starts a loop

led.on();

sleep(Duration::from_secs(1)); // creates a 1 second pause

led.off();

sleep(Duration::from_secs(1));

}

就是这样!保存您的脚本,然后返回到终端。

进行测试

再次构建项目以更新可执行文件。另外,运行命令可以一步构建并运行脚本:

cargo run

您应该看到一个闪烁的LED。做得好!您刚刚使用Rust制作了第一个硬件程序。按 Ctrl-C 退回到终端。如果有任何错误,请彻底检查代码,以检查是否缺少任何冒号,分号或方括号。

Raspberry Pi上的Rust令人兴奋的未来

当前,Python并非如此可能会被Rust取代。它很容易学习,并且Python在未来的几年中将有许多应用程序。

责任编辑:wv 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分