SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Tessel 2ではじめるお手軽IoT

JavaScriptで動かせるマイコンボード「Tessel 2」でLチカに挑戦しよう!

Tessel 2ではじめるお手軽IoT 第1回


  • X ポスト
  • このエントリーをはてなブックマークに追加

LEDを光らせる

 これまでで開発の準備が整いました。いよいよコードを実行して、LEDを光らせてみましょう。

コードの作成

 最初に、今回のコード用にフォルダを作成して、初期化コマンドを実行します。

> mkdir tessel-led
> cd tessel-led
> t2 init
INFO Initializing new Tessel project for JavaScript...
INFO Created package.json.
INFO Created .tesselinclude.
INFO Wrote "Hello World" to index.js

 初期化コマンドでは、次の3つのファイルが作成されます。

  • package.json:プロジェクトのマニフェストファイル
  • .tesselinclude:コードと一緒に書き込みたいファイルの指定
  • index.js:サンプルコード

 サンプルとして作成されるindex.jsファイルが、Hello World的なもので、LEDを光らせるコードになっています。

リスト1 index.js
// モジュールの読み込み
var tessel = require('tessel');   //(1)

// 起動時に点灯
tessel.led[2].on();               //(2)

// 点滅
setInterval(function () {
  tessel.led[2].toggle();         //(3)
  tessel.led[3].toggle();
}, 100);

console.log("I'm blinking! (Press CTRL + C to stop)");

 Tessel 2のハードウェアを制御するためのモジュールが用意されていますので、コードの(1)のrequire文でモジュールを読み込んでいます。(2)、(3)のように、tessel.ledが、LEDを制御するオブジェクトの配列になっていて、順番に、赤、オレンジ、緑、青のLEDに対応しています。したがって、このコードは、緑のLEDを点灯させて、次に緑、青のLEDをを点滅させます。

コードの実行

 次に、このコードを、実際にTessel 2に書き込んで実行してみましょう。

> t2 run index.js
INFO Looking for your Tessel...
INFO Connected to Tessel-WINGS.
INFO Building project.
INFO Writing project to RAM on Tessel-WINGS (3.072 kB)...
INFO Deployed.
INFO Running index.js...
I'm blinking! (Press CTRL + C to stop)

 次のようにLEDが点滅するはずです。

LEDの点灯
LEDの点灯

 動画では、次のような感じになります。

LEDの点滅の様子
LEDの点滅の様子

 点滅動作は、CTRL+Cで停止します。このようにrunコマンドでは、一時的に(RAM領域に)書き込んで実行する形になります。

 コードを独立してずっと実行させたい場合は、pushコマンドを使い、Flashメモリに書き込みます。Flashメモリに書き込んだコードは電源OFF後も保存され、電源ONと同時に自動で起動されます。

> t2 push index.js
INFO Looking for your Tessel...
INFO Connected to Tessel-WINGS.
INFO Building project.
INFO Writing project to Flash on Tessel-WINGS (3.072 kB)...
INFO Deployed.
INFO Your Tessel may now be untethered.
INFO The application will run whenever Tessel boots up.
INFO      To remove this application, use "t2 erase".
INFO Running index.js...

> t2 erase
INFO Looking for your Tessel...
INFO Connected to Tessel-WINGS.
INFO Erasing files from Flash...
INFO Files erased.

 Flashメモリをクリアするには、eraseコマンドを使います。これで、実行しているコードは削除されます。

まとめ

 今回は、開発環境の構築とLチカまでを紹介しました。次回は、気候モジュールによる、気温、湿度の測定など、センサーモジュールを使った計測を紹介する予定です。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Tessel 2ではじめるお手軽IoT連載記事一覧

もっと読む

この記事の著者

WINGSプロジェクト 高江 賢(タカエ ケン)

WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9697 2016/11/30 16:29

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング