Help us understand the problem. What is going on with this article?

RustでTessel2のLチカをしてみる #rust_jp

More than 3 years have passed since last update.

こんにちは、 @n0bisukeです。 IoTLTというイベントをやってます。

今日はアドベントカレンダーということで、Rustな人にIoT周り布教の意味合いもこめて、Rustを使いつつTesselの紹介っぽい記事を書きます。

Tesselとは

Node.jsで制御可能なIoTプロトタイピングボードです。現行のTessel2になってからRustに対応しました。

Webの人が電子工作するならめちゃアツいです。

今回はRustでTessel2のLチカを試してみます。

環境

  • macOS Sierra
  • Node.js 7.2.0
  • Rust 1.12.0

もろもろ準備

Node.jsのインストール

いまアツいJavaScript!ゼロから始めるNode.js入門〜5分で環境構築編〜などを元にインストールします。

npmコマンドが使えるようになればOKです。

$ npm -v
3.10.9

Rustのインストール

Rustをインストールします。

curl -sSf https://static.rust-lang.org/rustup.sh | sh

これでcargoコマンドrustcコマンドが使えるようになります。

$ rustc -V
rustc 1.12.0 (3191fbae9 2016-09-23)

※ちなみに今(2016/12/17現在)だとRustは1.13が最新です

t2コマンドとSDKのインストール

t2はnpm経由でインストール出来ます。

$ npm install -g t2-cli

t2コマンドが使えるようになります。

次にcargo経由でtesselのRustSDKをインストールします。

$ cargo tessel sdk install

これで準備OKです。

Lチカする

プロジェクトの準備

t2コマンドでひな形を作成します。

$ t2 init --lang=rust
INFO Initialized Cargo project...
INFO Wrote "Hello World" to /Users/n0bisuke/dotstudio/1_blogsamplecode/dotstudio/tessel/rust/ledblink/src/main.rs

Cargo.tomlsrcディレクトリが生成されます。

$ ls
Cargo.toml src

lsすると分かりますが、Cargo.tomlsrcディレクトリが作成されます。
srcディレクトリ内にはmain.rsが生成されています。

この状態でt2 run blinkyを実行するとLチカができます。

$ t2 run blinky

INFO Looking for your Tessel...
INFO Connected to Tessel-xxxxxxxxxxxxx.
    Updating registry `https://github.com/rust-lang/crates.io-index`
   Compiling libc v0.2.18
   Compiling cfg-if v0.1.0
   Compiling unix_socket v0.5.0
   Compiling tessel v0.2.0
   Compiling blinky v0.0.1 (file:///Users/n0bisuke/dotstudio/1_blogsamplecode/dotstudio/tessel/rust/rust-sample)
    Finished release [optimized] target(s) in 3.64 secs
INFO Writing project to RAM on Tessel-02A3809D2F8B (338.432 kB)...
INFO Deployed.
INFO Running blinky...
I'm blinking! (Press CTRL + C to stop)

これでLチカできました!

※画像はGoogle画像検索のキャプチャです

実際にはTessel2はまだ技適問題などもあるので、「Tessel2でLチカを試す」にもあるように電波暗室などで試しましょう。

おわりに

けっこう簡単に出来ました :thumbsup:

Rust版のTesselコードはあまりまだ活発ではないみたいです。公式サイト側だとチュートリアルなどが整ってないのでtessel-rustのGitHubページを見にいくのがいいと思います。

Rustも書いてて楽しいのでTessel触りながらRust勉強とか面白いかもしれません。

2017/1/15にRust入門者向けハンズオンもあるので是非きてください :)

それでは。

n0bisuke
プロトタイピング専門スクール「プロトアウトスタジオ」で教えたりしてます。 プロフ -> https://dotstud.io/members/n0bisuke
https://protoout.studio
dotstudio
全ての人がモノづくりを楽しむ世界を目指して活動しています。
https://dotstud.io
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした