SHOEISHA iD

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

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

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

IoT Starter Studio

Web屋がIoT始める際の注目デバイス「Tessel 2」を試してみよう

IoT Starter Studio 第8回


実際にTessel 2を動かしてみよう

 実際にTessel 2を動かしてみましょう。Tessel 2は現時点で技適認可が降りていないため国内で利用する際には注意をして下さい。シールドルームなどの電波を遮断してくれる設備で試すと問題ないです。

参考

筆者の環境

  • macOS Sierra v10.12.1
  • Node.js v7.2.0
  • npm v3.10.9

 nodeコマンドやnpmコマンドは利用できるようにしておきましょう。

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

 Tessel 2を制御するためのt2コマンドを開発マシン(筆者の場合はMac)にインストールします。 npm経由でインストールできます。

$ npm i -g t2-cli

 t2コマンドが使えるようになれば成功です。

$ t2

command argument is required

Usage: t2 <command>

command
  install
    Install additional system dependencies

・
・
(省略)
・
・
  version            Display a list of present Tessel 2 environment versions (CLI, Firmware, Node)
  ap                 Configure the Tessel as an access point
  root               Gain SSH root access to one of your authorized tessels

Lチカプログラムを試してみる

 t2 initでLチカプログラムのひな形を作ることができます。

$ t2 init
Initializing tessel repository...
Created package.json.
Wrote 'Hello World' to index.

 t2 initを実行したディレクトリにindex.jspackage.jsonが作成されていますね。

$ ls
index.js     package.json

 この状態でTessel 2と開発マシンをUSBケーブルで接続してt2 runでindex.jsを実行してみましょう。

$ t2 run index.js

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

 Lチカができました!

Lチカプログラムをのぞいてみる

 index.jsの中身を全く確認せずにLチカができてしまいましたが、中身を確認してみます。

// Import the interface to Tessel hardware
var tessel = require('tessel');

// Turn one of the LEDs on to start.
tessel.led[2].on();

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

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

 コード量も少ないので、初心者でもなんとなく読めるかと思います。

  • 5行目:tessel.led[2].on()の部分で2番目のLEDを点灯させます
  • 9、10行目:.toggel()で2番目と3番目のLEDを点けたり消したりします。
  • 8~11行目:setInterval()で0.1秒おきに実行させます。

 setInterval()を使ってループ処理を書くあたりはJavaScriptを触ったことがある人なら馴染みがある書き方だと思います。このようにJavaScriptを書くだけでボードの制御が出来てしまうのでWeb開発者の方はすぐに始めることができますね。

おわりに

 いかがでしたでしょうか。Tessel 2を使えばJavaScriptだけで色々な表現が出来るのでWebエンジニア的には胸アツなデバイスなのが分かると思います。ぜひチャレンジしてみて下さい。

 ただ、Tessel 2は現状国内で購入することはできず個人輸入などになると思います。重ねて言いますが、現時点で技適認可が降りていないため利用には注意をして下さい。

購入はこちら

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

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
IoT Starter Studio連載記事一覧

もっと読む

この記事の著者

菅原のびすけ(dotstudio株式会社)(スガワラ ノビスケ)

 日本最大規模のIoTコミュニティ「IoTLT」主催。岩手県立大学大学院ソフトウェア情報学研究科を卒業後、株式会社LIGでWebエンジニアとして入社し、Web開発に携わる。2016年にdotstudio株式会社を立ち上げ、今はIoT領域を中心に活動している。JavaScript RoboticsコミュニティNodeBotsの主催や、IoTバックエンドサービスであるMilkcocoaのエバンジェリストとしても活動中。共著: 『JavaScriptでインタラクティブ3Dコンテンツを作ろう』 共著: 『現場のプロが教える WEBデザイン 新・スタンダードテクニック37』 共著: 『フロントエンドエンジニアのための現在とこれからの必須知識』twitter: @n0bisuke URL: dotstudioのプロフィールページ

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

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

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/9849 2017/01/05 15:07

イベント

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

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

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

メールバックナンバー