如何開始與樹莓皮生鏽

想從生鏽開始嗎?下面是如何在Raspberry Pi上構建一個基本的硬體程式。...

如果你對編程感興趣,你可能聽說過Rust。由Mozilla設計的這種語言受到了開發者的廣泛喜愛,並在愛好者中不斷增長。

rust-raspberry-pi

Raspberry Pi是小型計算機的瑞士**,非常適合學習代碼。讓我們把兩者結合起來,在覆盆子皮上塗上鏽跡。

設置你的樹莓圓周率

對於本項目,您需要:

  • 樹莓皮。
  • 帶路。
  • 220-1k歐姆電阻器。
  • 試驗板和連接線。

A circuit diagram showing an LED and resistor attached to the GPIO 18 and GND pins of a Raspberry Pi

將GPIO 18連接到LED的正極支腳,將LED的負極支腳連接到電阻器,然後再連接回Pi上的GND引腳。

本教程是使用樹莓皮3B+與樹莓伸展在桌面模式。通過遠程SSH連接,它也可以很好地工作,儘管不同的Pi模型和不同的操作系統可能會有不同的結果。

如何在樹莓皮上安裝鐵鏽

The Terminal command required to install Rust

要安裝rust,請轉到rust lang安裝頁面並將install命令複製到終端中。出現提示時,選擇默認安裝。

The three choices presented by the Rust installer.

安裝程序將在安裝完成時通知您,不過安裝可能需要一些時間,具體取決於您的連接。

安裝後

Rustc and Cargo are installed, but not currently in PATH

安裝是成功的,但您還不能完全開始使用它。如果你試著按版本檢查生鏽和貨物,你會得到一個錯誤。通常,必須在路徑中添加一種語言才能在命令行中使用它們。

幸運的是,Rust為您做到了這一點,您所需要做的就是重新啟動Pi,或者註銷並再次登錄。現在檢查生鏽和貨物應該可以了。

Testing Rust and Cargo in PATH with their version numbers.

您將從終端編譯和構建所有腳本,但還需要一個代碼編輯器。在這個項目中,我將使用codeoss,一個可以安裝在Pi上的VS代碼的社區構建,但它不是必需的。任何代碼編輯器都可以。

創建項目

要創建一個Rust項目,創建一個新目錄並通過鍵入

mkdir YourFoldercd YourFolder

使用Cargo創建一個新的Rust項目。

cargo new YourProject

您將得到新項目已創建的確認。

Making a new directory in the terminal and putting a blank rust project in it

輸入新項目文件夾並列出其內容。

cd YourProjectls

您將看到一個名為src的文件夾和一個名為貨物.toml. 這兩個要素構成了每個項目的基礎。

一個簡單的生鏽項目,解釋道

A sample hello-world rust script

首先,打開src目錄,打開主要風險在代碼編輯器中。您將看到,新項目附帶了一個“helloworld”腳本來啟動。

以前使用過C語言或Java的人都會熟悉Rust語法。這與Python不同,Python使用空格、分號和大括號來表示代碼塊。Rust代碼必須在運行之前編譯和構建。

A blank Cargo.toml file

回到項目的父文件夾中,打開貨物.toml在代碼編輯器中。任何用JavaScript或Ruby編寫過代碼的人都可能會發現這一點。項目信息、生成說明和依賴項都列在此文件中。包被稱為生鏽的板條箱,我們稍後將使用一個訪問樹莓Pi的GPIO引腳。

構建示例項目

回到終端窗口,確保您在項目目錄中並生成項目。

cargo build

Using the Cargo Build command to build the sample project

這將在項目中創建另一個名為target的文件夾。您還會注意到一個名為貨物鎖. 在與團隊合作或編寫要部署到服務器的代碼時,此文件會將項目鎖定到以前已成功編譯和生成的版本。學習時,您可以放心地忽略此文件。

在目標文件夾中有一個名為debug的子文件夾,這就是可執行文件所在的位置。在Mac和Linux上,通過鍵入以下命令運行項目:

./YourProject

在Windows上,您將有一個新的EXE文件,可以通過雙擊來運行。

The file structure of the built rust project along with the hello world program running.

成功!讓我們把這個項目轉換成使用GPIO引腳的東西。

設置gpio引腳

Adding the Rust GPIO Zero crate to the Cargo.toml file

我們將在這個項目中使用Rahul Thakdoor的rust\u gpiozero板條箱。雖然它不是訪問GPIO引腳的唯一方法,但這個板條箱的設計與PythonGPIOZero庫類似。

與其手動下載板條箱,不如將其名稱粘貼到貨物.toml文件。

[dependencies]rust_gpiozero = "0.2.0"

保存它,然後打開你的終端。在這個階段,沒有必要重建項目,因為沒有代碼發生更改。Cargo提供了一個函數,該函數將檢查代碼是否編譯以及是否存在所有依賴項。

cargo check

Cargo check will check code for errors and install dependencies

根據您的連接情況,這可能需要幾分鐘,但您只需要在中添加或更改項目時執行一次貨物.toml文件。

你好,眨眼

A Raspberry Pi with an LED attached

現在,您將把hello world腳本更改為閃爍的燈光腳本。從打開開始主要風險在你的編輯器裡。如果您想跳過編碼,可以在Github Gist上找到完成的腳本。

您需要讓編譯器知道您正在使用rust\u gpiozero庫,因此在腳本的最頂端添加對庫的引用。

use rust_gpiozero::*;

與常規的基於Python的眨眼草圖非常相似,我們需要一種方法來增加打開和關閉LED之間的延遲。在Rust中,我們使用標準庫的兩個元素來實現這一點:

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

現在在main函數中,為LED pin添加一個變量,並添加一個包含閃爍指令的循環。

let led = LED::new(18); // sets a variable for the led pinloop{ // starts a loop led.on(); sleep(Duration::from_secs(1)); // creates a 1 second pause led.off(); sleep(Duration::from_secs(1));}

就這樣!保存腳本,然後返回終端。

測試一下

An image showing the LED lighting up

再次生成項目以更新可執行文件。或者,run命令在一個步驟中生成並運行腳本:

cargo run

你應該看到一個閃爍的LED。做得好!你剛用鐵鏽做了你的第一個硬件程序。按Ctrl-C退出返回終端。如果您有任何錯誤,請徹底檢查您的代碼是否有漏掉的冒號、分號或括號。

樹莓皮鏽跡斑斑的美好未來

目前,Python還沒有被鐵鏽取代的危險。它很容易學習,Python在未來幾年將有許多應用程序。

也就是說,鐵鏽有相當一個嗡嗡聲圍繞著它,有很多原因,你應該學習的語言!

  • 發表於 2021-03-21 09:18
  • 閱讀 ( 59 )
  • 分類:程式設計

你可能感興趣的文章

5個很棒的電視和電影機器人,你可以用樹莓皮做

...過,這可能需要一些時間。下面是五個示例專案,展示瞭如何將樹莓Pi 2或更高版本與您最喜歡的虛構機器人相結合。 ...

  • 發佈於 2021-03-12 06:35
  • 閲讀 ( 45 )

你需要了解的12個樹莓皮音樂專案

...以從Github下載的簡單指令碼。如果您願意,指南還告訴您如何新增NFC支援,但您可以跳過這一步。這是許多不必要的工作。 ...

  • 發佈於 2021-03-12 21:52
  • 閲讀 ( 51 )

為您的第一個專案最好的樹莓皮工具包

... 在你開始考慮顯示選項之前。。。 ...

  • 發佈於 2021-03-15 13:46
  • 閲讀 ( 50 )

省錢做自己的樹莓皮入門工具包

...59美元/119英鎊)。下面,我將分解每個元件,並向您展示如何以更低的價格購買它——包括官方和非官方的模型。由於圓周率是在英國設計和**的,我將包括連結和英國股票價格以及。 ...

  • 發佈於 2021-03-17 10:52
  • 閲讀 ( 69 )

如何用retropie構建一個定製的raspberry-pi-nes或snes-classic模擬器

...了,用樹莓皮和RetroPie模擬套件來構建你自己的。下面是如何做到這一點。 ...

  • 發佈於 2021-03-23 11:41
  • 閲讀 ( 49 )

如何建立一個照片推特機器人與樹莓皮和節點.js

...機器人會教你一些有用的程式設計技巧。我們之前研究過如何用Python構建一個基本的Twitter bot(也在Raspberry Pi上),但這次我們採用了不同的方法。 ...

  • 發佈於 2021-03-23 18:07
  • 閲讀 ( 50 )

如何設定raspberry pi攝像頭模組

...pberry Pi有許多配件,但其中最流行的是攝像頭模組。但是如何安全地連線一個,然後從中得到最好的結果呢? ...

  • 發佈於 2021-03-24 02:29
  • 閲讀 ( 52 )

你可能需要升級樹莓皮的5個原因

... 但是,如何引導你的樹莓皮從USB,繞過需要一個microSD卡? ...

  • 發佈於 2021-03-24 04:27
  • 閲讀 ( 58 )

如何把電視變成一個復古遊戲系統與樹莓皮零

...結器。我們的指南連線樹莓皮零到一個RCA電纜電視解釋瞭如何做到這一點。 ...

  • 發佈於 2021-03-24 05:37
  • 閲讀 ( 61 )

2017年度最佳樹莓皮13個專案

...本家庭自動化,並把它放在一個實際的專案。它還展示瞭如何有可能的人誰沒有太多的經驗編碼仍然創造有用的DIY智慧家居建設。同樣的原則可以用來完全改變一個人與家的互動方式。 ...

  • 發佈於 2021-03-26 12:05
  • 閲讀 ( 53 )
xmqreu017728
xmqreu017728

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章