2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

RustAdvent Calendar 2016

Day 17

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

Posted at

こんにちは、 @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入門者向けハンズオンもあるので是非きてください :)

それでは。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?