\r\n\r\n

Raspberry Pi Rustのはじめかた

RUSTを始めてみませんか? Raspberry Piで基本的なハードウェアプログラムを作る方法を紹介します...

プログラミングに興味のある方なら、Mozillaが設計し、開発者に広く愛され、愛好家の間でも人気が高まっている言語、Rustをご存じでしょう。

Raspberry Piは、小型コンピュータのSwiss**であり、コードを学ぶのに最適です。この2つを組み合わせて、ラズベリーパイにサビを描いてみよう。

ラズベリーの周囲を設定する

このプロジェクトに必要なものは、以下の通りです。

  • ラズベリーバーク
  • 道を切り開く。
  • 220-1kΩの抵抗。
  • テストボードと接続ケーブル。

GPIO 18をLEDのプラス端子に接続し、LEDのマイナス端子を抵抗に接続し、PiのGND端子に接続しなおします。

このチュートリアルは、Raspberry Pi 3B+とRaspberry Stretchをデスクトップモードで使用しています。また、リモートのSSH接続でもうまく動作しますが、Piの機種やOSが異なると結果が異なる場合があります。

ラズベリーの樹皮にサビを取り付ける方法

rustをインストールするには、rust langのインストールページに行き、インストールコマンドをターミナルにコピーしてください。プロンプトが表示されたら、デフォルトのインストールを選択します。

接続状況によりインストールに時間がかかる場合がありますが、インストールが完了するとインストーラーが通知します。

インストール後

インストールは成功しましたが、まだなかなか使い始められません。バージョン別に錆や品物を調べようとすると、エラーが発生します。通常、コマンドラインで使用するには、言語をパスに追加する必要があります。

幸いなことに、Rustがこれをやってくれるので、Piを再起動するか、ログアウトして再度ログインするだけでよいのです。これでRustをチェックすれば、品物は問題ないはずです。

ターミナルからすべてのスクリプトをコンパイル、ビルドすることになりますが、コードエディターも必要です。このプロジェクトでは、PiにインストールできるVSコードのコミュニティビルドであるcodeossを使用しますが、必須ではありません。どんなコードエディターでも構いません。

プロジェクトの作成

Rustプロジェクトを作成するには、新しいディレクトリを作成し、次のように入力します。

mkdir YourFoldercd YourFolder

Cargoを使用して新しいRustプロジェクトを作成します。

cargo new YourProject

新しい項目が作成されたことを確認する画面が表示されます。

新しいプロジェクトフォルダを入力し、その内容を一覧表示します。

cd YourProjectls

srcというフォルダとgoods.tomlというフォルダがありますが、この2つが各プロジェクトのベースとなります。

簡単な錆び取りのプロジェクト、解説

まず、srcディレクトリを開き、コードエディタでメインベンチャーを開きます。新しいプロジェクトには、"helloworld "スクリプトが付属していることがおわかりになると思います。

CやJavaを使ったことがある人なら、Rustの構文に馴染みがあるはずだ。これは、スペース、セミコロン、中括弧を使ってコードのブロックを表現するPythonとは異なります。

プロジェクトの親フォルダに戻り、コードエディタでgoods.tomlを開きます。JavaScriptやRubyでコードを書いたことがある人なら、きっと分かると思います。プロジェクト情報、生成指示、依存関係が記載されています。このパッケージはRusty Crateと呼ばれ、後ほどRaspberry PiのGPIOピンにアクセスするために1つ使用する予定です。

サンプルプロジェクトのビルド

ターミナルウィンドウに戻り、プロジェクトディレクトリにいることを確認し、プロジェクトを生成します。

cargo build

これにより、プロジェクト内にtargetという別のフォルダが作成されます。また、cargo lockというファイルがあることに気がつくでしょう。チームで作業したり、サーバーに配備するコードを書いたりする場合、このファイルは、以前にコンパイルと生成に成功したバージョンにプロジェクトをロックします。学習時には、このファイルを無視しても大丈夫です。

ターゲットフォルダ内にdebugというサブフォルダがあり、ここに実行ファイルが格納されています。MacとLinuxでは、以下のコマンドを入力して、プロジェクトを実行します。

./YourProject

Windowsでは、新しいEXEファイルが作成され、それをダブルクリックすることで実行することができます。

成功です!このプロジェクトをGPIOピンを使うものに変換してみましょう。

gpioピンの設定

このプロジェクトでは、Rahul Thakdoorのrustu gpiozero crateを使用します。GPIOピンにアクセスする唯一の方法ではありませんが、このクレイトはPythonGPIOZeroライブラリと似たような設計になっています。

crate を手動でダウンロードする代わりに、その名前を goods.toml ファイルに貼り付けてください。

[dependencies]rust_gpiozero = "0.2.0"

保存して、ターミナルを開いてください。この段階では、コードが変更されていないので、プロジェクトを再構築する必要はありません。cargoは、コードがコンパイルされ、すべての依存関係が存在することをチェックする関数を提供します。

cargo check

接続状況によっては数分かかることもありますが、goods.tomlファイル内の項目を追加・変更する際に一度だけ実行すればよいのです。

こんにちは、ウィンク

今度は、hello worldスクリプトを光の点滅スクリプトに変更します。開封による主なリスクは、エディタにあります。コーディングを省略したい場合は、完成したスクリプトをGithubのGistで見ることができます。

コンパイラにrustu gpiozeroライブラリを使用していることを知らせる必要があるので、スクリプトの先頭にライブラリへの参照を追加してください。

use rust_gpiozero::*;

通常のPythonベースのブリンクスケッチと同様に、LEDの点灯と消灯の間の遅延を大きくする方法が必要でした。Rustでは、これを実現するために、標準ライブラリの2つの要素を使っています。

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 pinloop{ // starts a loop led.on(); sleep(Duration::from_secs(1)); // creates a 1 second pause led.off(); sleep(Duration::from_secs(1));}

以上!スクリプトを保存して、ターミナルに戻ります。

試してみる

実行ファイルを更新するために、再度プロジェクトを生成します。または、runコマンドでスクリプトを生成して実行することもできます。

cargo run

LEDが点滅しているのが確認できるはずです。あなたは今、Rustを使って最初のハードウェアプログラムを作りました。Ctrl-Cを押して、端末に戻ります。エラーが発生した場合は、コロン、セミコロン、括弧が抜けていないか、コードをよく確認してください。

Raspberry Pi Rustの明るい未来。

今のところ、Pythonは錆に取って代わられる危険はありません。習得が容易で、Pythonは今後多くの応用が期待できます。

とはいえ、Rustはかなり話題になっていますし、この言語を学ぶべき理由はたくさんあります。

あなたが興味を持っているかもしれない記事

匿名者
匿名者

0 件の投稿

作家リスト

  1. admin 0 投稿
  2. 匿名者 0 投稿

おすすめ