SHOEISHA iD

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

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

Tessel 2ではじめるお手軽IoT

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

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


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

 Web系の知識でかんたんに操作できる初心者向けのマイコンボードTessel 2を使って、JavaScriptでのIoTを試してみます。ハードウェアに詳しくないWeb系エンジニアでもIotシステムを体験できます。

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

対象読者

 IoTに興味があり、JavaScriptの基本的な知識がある方を対象とします。

はじめに

 今回は、ワンボードマイコンTessel 2の開発環境の構築と、LEDを光らせる(いわゆるLチカ)ところまでを紹介します。

IoTとTessel 2

 IoTとは、もはや説明するまでもありませんが、Internet of Things(モノのインターネット)の略称で、PCなどに限らず、あらゆる「モノ」がインターネットにつながり、相互に制御する仕組みのことです。この概念自体は、特に新しいというわけではないものの、最近大きな注目を集めています。

 ハードウェア(デバイス)が超小型で高性能になり、デバイス上での処理やプログラム開発の制限がなくなってきたことも、IoTブームのひとつの要因でしょう。特に、Raspbbery Piというシングルボードコンピュータが、火付け役になったことは間違いありません。シングルボードコンピュータとは、プリント基板の上に、PCとして最低限のパーツを実装したものです。

 また、Raspbbery Piは、シングルボードコンピュータのブームも引き起こしました。Tessel 2の前のバージョンであるTesselも、その流れのなかで誕生したワンボードマイコンです。なお、ワンボードマイコンという言葉は、シングルボードコンピュータも含む広い意味でも使われますが、ここでは、PCのような汎用的なOSを搭載していない小型のコンピュータ(マイクロコンピュータ)の意味とします。

 本連載では、ワンボードマイコンTessel 2を紹介します。Tessel 2は、OpenWrtという組み込みシステム用Linuxディストリビューション上で動作するNode.jsのJavaScript実行環境をもっています(Tessel 2からは、まだ開発途上ながら、Rust、Pythonも実行可能)。また、Tessel 2は、本体にUSBポート、WiFi、Ethernetが実装されており、さらに拡張用に2つのポートがついています。その拡張ポートには、センサーなどの専用モジュールが用意されていて、それらを単に装着するだけで、ハードウェアモジュールが制御可能です。モジュールには、加速度、環境(音・光)、気候(気温・湿度)などの、さまざまなセンサがあり、電子工作の知識は不要です(もちろん、GPIOを使って工作することも可能です)。

 ハンダ付け不要でセンサーが扱え、JavaScriptでプログラミングできるため、ハードウェアに関して詳しくないWeb系の技術者でも、Tessel 2ではセンサーを制御するIoTシステムを構築可能です。

Tessel 2と気候モジュール
Tessel 2と気候モジュール

Tessel 2の購入

 Tessel 2の前バージョンのTesselは、スイッチサイエンスで販売されていましたが、Tessel 2はまだ国内の販売会社からは購入できません(執筆時点)。

 Tessel 2の公式サイトには、中国アメリカの通販サイトのリンクがありますので、その通販サイトから個人輸入という形で購入します。

 したがってまだTessel 2は、いわゆる技適が取れていませんので、実使用においては、注意が必要です。

開発環境の構築

 それでは、まずは開発環境を構築しましょう。本連載では、Windows環境を想定しています。

Node.jsでの開発環境

 基本的には、Node.jsの開発環境と同様で、コマンドラインを利用して操作します。なお、開発環境は、複数のツールの組み合わせですので、あまり新しいバージョンを使うと動作しないケースもあるようです。ここでは執筆時点で、正常に動作したバージョンをインストールすることにします。

 なお、Node.jsでの開発環境がインストール済みであれば、基本的にはここでの作業は不要です。

Gitのインストール

 バージョン管理システムGitのクライアントが必要ですので、まだインストールしていなければ、 最初にGit for Windowsあたりをインストールしておきます。

 インストールのオプションは、デフォルトのままでかまいません。

Git for Windows公式サイト
Git for Windows公式サイト

Pythonのインストール

 次に、Pythonをインストールします。最新は、バージョン3系ですが、Tessel 2の開発ではバージョン2系を利用します。本記事では、バージョン2.7.12をインストールしました。これもインストールは、デフォルト設定のままで問題ありません。

Python公式サイト
Python公式サイト

 ただし、このインストーラは、PATHの設定までしてくれませんので、インストール後にPATHの設定が必要です。Windowsのシステムメニューから、「システムの詳細設定」ー「環境変数」を選んで、pathに、インストール先フォルダ(C:\Python27)を追加しておきます。

PATH設定
PATH設定

Node.jsのインストール

 そしてNode.jsのインストールです。ここでは、バージョン4.4.7を選択しました。インストールオプションは、すべてデフォルトでかまいません。

Node.js公式サイト
Node.js公式サイト

 以上のツールをインストールできたら、起動を確認しておきます。コマンドプロンプトから次のように入力して、バージョンを出力してみましょう。

バージョン表示
バージョン表示

会員登録無料すると、続きをお読みいただけます

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

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

メールバックナンバー

次のページ
Tessel 2開発ツールのインストール

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

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

もっと読む

この記事の著者

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

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング