0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

454398 来源:网络整理 作者:网络整理 2020-01-30 17:54 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

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

设置Raspberry Pi

对于此项目,您将需要:

Raspberry Pi

LED

220-1k欧姆电阻

面包板和接线。

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

使用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

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

    关注

    122

    文章

    2083

    浏览量

    110837
  • Rust
    +关注

    关注

    1

    文章

    241

    浏览量

    7664
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于树莓派(RaspberryPi)构建高效实时监控系统

    及安装 ZeroNews Agent 在树莓派(Raspberry Pi)上下载并运行 ZeroNews。 第 2 步:树莓派上安装 Motion 监控 先在树莓
    的头像 发表于 09-22 15:14 1686次阅读
    基于<b class='flag-5'>树莓</b>派(RaspberryPi)构建高效实时监控系统

    何在树莓派上安装Ubuntu MATE ?

    ,而非GNOME。在本文中,我将介绍如何轻松地在树莓派上安装它。UbuntuMATE官方支持树莓派,因此每发布一个新版本,都会为树莓派发布一个镜像。该镜像可刷入S
    的头像 发表于 08-12 18:56 3501次阅读
    如<b class='flag-5'>何在</b><b class='flag-5'>树莓</b><b class='flag-5'>派上</b>安装Ubuntu MATE ?

    技能+1!如何在树莓派上使用C++控制GPIO?

    在使用树莓派时,你会发现Python和Scratch是许多任务(包括GPIO编程)中最常用的编程语言。但你知道吗,你也可以使用C++进行GPIO编程,而且这样做还有不少好处。借助WiringPi
    的头像 发表于 08-06 15:33 4541次阅读
    技能+1!如<b class='flag-5'>何在</b><b class='flag-5'>树莓</b><b class='flag-5'>派上</b>使用C++控制GPIO?

    这个套件让树莓派5运行几乎所有YOLO模型!Conda 与 Ultralytics!

    何在树莓派上设置YOLO计算机视觉?Conda与Ultralytics在本指南中,我们将学习如何使用Conda在树莓派上安装Ultraly
    的头像 发表于 07-31 11:51 5955次阅读
    这个套件让<b class='flag-5'>树莓</b>派5运行几乎所有YOLO模型!Conda 与 Ultralytics!

    初学者指南:树莓派上搭建虚拟环境!

    在这篇简明扼要的指南中,我们将探讨如何在树莓派上设置和使用虚拟环境(或称为Venv)——包括在终端和Thonny集成开发环境中。使用Bookworm操作系统或更高版本时,或在尝试安装Python
    的头像 发表于 07-27 13:24 1201次阅读
    初学者指南:<b class='flag-5'>树莓</b><b class='flag-5'>派上</b>搭建虚拟环境!

    何在树莓派上设置并使用VNC?远程访问完整指南!

    为什么要在树莓派上使用VNC?使用VNC与树莓派的主要优势在于其提供的灵活性。我们可以在“无头模式”(无物理显示器)下运行树莓派,同时仍能完全访问其图形用户界面(GUI)。这减少了对额
    的头像 发表于 07-26 20:42 6229次阅读
    如<b class='flag-5'>何在</b><b class='flag-5'>树莓</b><b class='flag-5'>派上</b>设置并使用VNC?远程访问完整指南!

    C++ 与 Python:树莓派上哪种语言更优?

    Python是树莓派上的首选编程语言,我们的大部分教程都使用它。然而,C++在物联网项目中同样广受欢迎且功能强大。那么,在树莓派项目中选择哪种语言更合适呢?Python因其简洁性、丰富的库和资源而被
    的头像 发表于 07-24 15:32 1151次阅读
    C++ 与 Python:<b class='flag-5'>树莓</b><b class='flag-5'>派上</b>哪种语言更优?

    树莓派防火墙完整指南:如何在局域网中配置 IPFire ?

    如果你希望在树莓派上配置IPFire,本指南将提供一种简单而有效的方法来加强你的网络安全。在日益互联的世界中,保护家庭或小型办公室网络免受外部威胁至关重要。一个有效的解决方案是部署防火墙——一种监控
    的头像 发表于 07-21 16:34 1509次阅读
    <b class='flag-5'>树莓</b>派防火墙完整指南:如<b class='flag-5'>何在</b>局域网中配置 IPFire ?

    树莓派挖掘5种顶级加密货币!

    加密货币是用于在线交易的数字货币。挖掘这些货币通常需要专门的硬件,如ASIC矿机或高性能GPU。然而,有些加密货币仍可用树莓派来挖掘。在本文中,我将为您介绍可在树莓派上挖掘的最佳加密货币。适合用
    的头像 发表于 07-21 16:34 1906次阅读
    用<b class='flag-5'>树莓</b>派挖掘5种顶级加密货币!

    何在树莓派 AI HAT+上进行YOLO姿态估计?

    大家好,接下来会为大家开一个树莓派5和YOLO的连载专题。内容包括四个部分:在树莓派5上使用YOLO进行物体和动物识别-入门指南在树莓派5上开启YOLO姿态估计识别之旅!如何在
    的头像 发表于 07-20 20:34 1253次阅读
    如<b class='flag-5'>何在</b><b class='flag-5'>树莓</b>派 AI HAT+上进行YOLO姿态估计?

    何在树莓派 AI HAT+上进行YOLO目标检测?

    大家好,接下来会为大家开一个树莓派5和YOLO的连载专题。内容包括四个部分:在树莓派5上使用YOLO进行物体和动物识别-入门指南在树莓派5上开启YOLO姿态估计识别之旅!如何在
    的头像 发表于 07-19 08:34 2004次阅读
    如<b class='flag-5'>何在</b><b class='flag-5'>树莓</b>派 AI HAT+上进行YOLO目标检测?

    完整教程:如何在树莓派上配置防火墙?

    引言防火墙是任何网络包括树莓派网络中必不可少的工具。本质上,防火墙是内部网络(如树莓派网络)与其他外部网络(如互联网)之间的安全屏障。其主要目的是控制和过滤网络流量,根据预定义的规则允许或阻止某些
    的头像 发表于 07-07 16:30 1364次阅读
    完整教程:如<b class='flag-5'>何在</b><b class='flag-5'>树莓</b><b class='flag-5'>派上</b>配置防火墙?

    释放潜力:在树莓派上运行安卓系统实现多样化应用!

    为什么要在树莓派上运行安卓系统?安卓系统以其庞大的应用生态系统和用户友好的界面而闻名,它能够将树莓派转变为功能强大的设备,能够处理从媒体消费到轻量级计算和物联网应用等各种任务。优势高度定制化:
    的头像 发表于 07-05 08:33 1759次阅读
    释放潜力:在<b class='flag-5'>树莓</b><b class='flag-5'>派上</b>运行安卓系统实现多样化应用!

    何在树莓派上安装并运行 Arduino 集成开发环境!

    ,我们将介绍如何在树莓派上安装并运行ArduinoIDE。所需物品要在树莓派上运行ArduinoIDE,你需要以下组件:配备适当电源的
    的头像 发表于 07-01 17:41 4619次阅读
    如<b class='flag-5'>何在</b><b class='flag-5'>树莓</b><b class='flag-5'>派上</b>安装并运行 Arduino 集成开发环境!

    从初学到进阶:树莓派上最适合你的代码编辑器推荐!

    安装树莓派操作系统后,你就可以使用Python、Scratch、Java、C/C++等受Linux支持的多种编程语言进行编程了。其中,Python是树莓派上最受欢迎的编程语言。在树莓
    的头像 发表于 05-15 16:20 1438次阅读
    从初学到进阶:<b class='flag-5'>树莓</b><b class='flag-5'>派上</b>最适合你的代码编辑器推荐!