SHOEISHA iD

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

連載記事

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

CodeZine BOOKS(コードジン・ブックス)は、CodeZineの連載からカットアップした、開発現場の課題解決に役立つ書籍シリーズです。

書籍に関する記事を見る

'); googletag.cmd.push(function() { googletag.pubads().addEventListener('slotRenderEnded', function(e) { var ad_id = e.slot.getSlotElementId(); if (ad_id == 'div-gpt-ad-1659428980688-0') { var ad = $('#'+ad_id).find('iframe'); if ($(ad).width() == 728) { var ww = $(window).width(); ww = ww*0.90; var style = document.createElement("style"); document.head.appendChild( style ); var sheet = style.sheet; sheet.insertRule( "#div-gpt-ad-1659428980688-0 iframe {-moz-transform: scale("+ww/728+","+ww/728+");-moz-transform-origin: 0 0;-webkit-transform: scale("+ww/728+","+ww/728+");-webkit-transform-origin: 0 0;-o-transform: scale("+ww/728+","+ww/728+");-o-transform-origin: 0 0;-ms-transform: scale("+ww/728+","+ww/728+");-ms-transform-origin: 0 0;}", 0 ); sheet.insertRule( "#div-gpt-ad-1659428980688-0 div{ height:"+(90*ww/728)+"px;width:"+728+"px;}", 0 ); } else { if ($(window).width() < 340) { var ww = $(window).width(); ww = ww*0.875; var style = document.createElement("style"); document.head.appendChild( style ); var sheet = style.sheet; sheet.insertRule( "#div-gpt-ad-1659428980688-0 iframe {-moz-transform: scale("+ww/320+","+ww/320+");-moz-transform-origin: 0 0;-webkit-transform: scale("+ww/320+","+ww/320+");-webkit-transform-origin: 0 0;-o-transform: scale("+ww/320+","+ww/320+");-o-transform-origin: 0 0;-ms-transform: scale("+ww/320+","+ww/320+");-ms-transform-origin: 0 0;}", 0 ); sheet.insertRule( "#div-gpt-ad-1659428980688-0 div{ height:"+(180*ww/320)+"px;width:"+320+"px;}", 0 ); } } } }); }); } else { document.write('
'); document.write('
'); }
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
" ); }

おすすめ

アクセスランキング

  1. 1
    デスクトップアプリ開発に必要な「Rust」の文法を理解しよう NEW
  2. 2
    より使いやすくなったPHP 8.4の新機能──クラス定義や言語仕様とデータベース関連の強化ポイント NEW
  3. 3
    アジャイル開発の推進において、必ずしも"すごい人"は必要ない──現場のエンジニアがDevOps推進で実現する組織改革 NEW
  4. 4
    Google、社内AIエージェント「Google Agentspace」発表 NEW
  5. 5
    テストは増え続ける、でもボトルネックにはできない──テスト効率化の2つのカギを朱峰 錦司氏が解説!
  1. 6
    デスクトップアプリを開発しよう! 「Rust」と「Tauri 2.0」の基本情報と環境整備の仕方を解説
  2. 7
    「イテレータ」 ~マンガでプログラミング用語解説
  3. 8
    いいエンジニアになるための2つのポイント ──元Google技術者・石原氏が説く「シリコンバレー流ソフトウェア開発術」
  4. 9
    Fish Shell 4.0 ベータ版リリース、C++からRustに移行 NEW
  5. 10
    Amazon ECSのオブザーバビリティが強化、監視に「Amazon CloudWatch Container Insights」の機能を利用可能に NEW

アクセスランキング

  1. 1
    デスクトップアプリ開発に必要な「Rust」の文法を理解しよう NEW
  2. 2
    より使いやすくなったPHP 8.4の新機能──クラス定義や言語仕様とデータベース関連の強化ポイント NEW
  3. 3
    アジャイル開発の推進において、必ずしも"すごい人"は必要ない──現場のエンジニアがDevOps推進で実現する組織改革 NEW
  4. 4
    Google、社内AIエージェント「Google Agentspace」発表 NEW
  5. 5
    テストは増え続ける、でもボトルネックにはできない──テスト効率化の2つのカギを朱峰 錦司氏が解説!
  6. 6
    デスクトップアプリを開発しよう! 「Rust」と「Tauri 2.0」の基本情報と環境整備の仕方を解説
  7. 7
    「イテレータ」 ~マンガでプログラミング用語解説
  8. 8
    いいエンジニアになるための2つのポイント ──元Google技術者・石原氏が説く「シリコンバレー流ソフトウェア開発術」
  9. 9
    Fish Shell 4.0 ベータ版リリース、C++からRustに移行 NEW
  10. 10
    Amazon ECSのオブザーバビリティが強化、監視に「Amazon CloudWatch Container Insights」の機能を利用可能に NEW
  1. 1
    いいエンジニアになるための2つのポイント ──元Google技術者・石原氏が説く「シリコンバレー流ソフトウェア開発術」
  2. 2
    「CUDA」 ~マンガでプログラミング用語解説
  3. 3
    ITエンジニア本大賞2025、投票締切直前! みんなで選んだ歴代の大賞本を振り返って一挙紹介
  4. 4
    デスクトップアプリを開発しよう! 「Rust」と「Tauri 2.0」の基本情報と環境整備の仕方を解説
  5. 5
    2024年12月に開催される注目のITエンジニア向けカンファレンス5選
  6. 6
    日本在住の英語を話すソフトウェア開発者、年収の中央値は950万円に
  7. 7
    管理職の24.1%、今後管理職を「続けたくない」と回答。理由は「責任やストレス」が最多に
  8. 8
    VSCodeをドキュメント作成に活用――テキストエディタ、Markdownエディタの設定と拡張機能を解説
  9. 9
    2024年の提示年収が高いプログラミング言語は? paiza調査によるランキングが発表
  10. 10
    ランサーズ、「2024年必要とされたスキルランキング」を公開。「Lancers」上のデータを集計

イベント

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

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

メールバックナンバー

アクセスランキング

  1. 1
    デスクトップアプリ開発に必要な「Rust」の文法を理解しよう NEW
  2. 2
    より使いやすくなったPHP 8.4の新機能──クラス定義や言語仕様とデータベース関連の強化ポイント NEW
  3. 3
    アジャイル開発の推進において、必ずしも"すごい人"は必要ない──現場のエンジニアがDevOps推進で実現する組織改革 NEW
  4. 4
    Google、社内AIエージェント「Google Agentspace」発表 NEW
  5. 5
    テストは増え続ける、でもボトルネックにはできない──テスト効率化の2つのカギを朱峰 錦司氏が解説!
  1. 6
    デスクトップアプリを開発しよう! 「Rust」と「Tauri 2.0」の基本情報と環境整備の仕方を解説
  2. 7
    「イテレータ」 ~マンガでプログラミング用語解説
  3. 8
    いいエンジニアになるための2つのポイント ──元Google技術者・石原氏が説く「シリコンバレー流ソフトウェア開発術」
  4. 9
    Fish Shell 4.0 ベータ版リリース、C++からRustに移行 NEW
  5. 10
    Amazon ECSのオブザーバビリティが強化、監視に「Amazon CloudWatch Container Insights」の機能を利用可能に NEW

アクセスランキング

  1. 1
    デスクトップアプリ開発に必要な「Rust」の文法を理解しよう NEW
  2. 2
    より使いやすくなったPHP 8.4の新機能──クラス定義や言語仕様とデータベース関連の強化ポイント NEW
  3. 3
    アジャイル開発の推進において、必ずしも"すごい人"は必要ない──現場のエンジニアがDevOps推進で実現する組織改革 NEW
  4. 4
    Google、社内AIエージェント「Google Agentspace」発表 NEW
  5. 5
    テストは増え続ける、でもボトルネックにはできない──テスト効率化の2つのカギを朱峰 錦司氏が解説!
  6. 6
    デスクトップアプリを開発しよう! 「Rust」と「Tauri 2.0」の基本情報と環境整備の仕方を解説
  7. 7
    「イテレータ」 ~マンガでプログラミング用語解説
  8. 8
    いいエンジニアになるための2つのポイント ──元Google技術者・石原氏が説く「シリコンバレー流ソフトウェア開発術」
  9. 9
    Fish Shell 4.0 ベータ版リリース、C++からRustに移行 NEW
  10. 10
    Amazon ECSのオブザーバビリティが強化、監視に「Amazon CloudWatch Container Insights」の機能を利用可能に NEW
  1. 1
    いいエンジニアになるための2つのポイント ──元Google技術者・石原氏が説く「シリコンバレー流ソフトウェア開発術」
  2. 2
    「CUDA」 ~マンガでプログラミング用語解説
  3. 3
    ITエンジニア本大賞2025、投票締切直前! みんなで選んだ歴代の大賞本を振り返って一挙紹介
  4. 4
    デスクトップアプリを開発しよう! 「Rust」と「Tauri 2.0」の基本情報と環境整備の仕方を解説
  5. 5
    2024年12月に開催される注目のITエンジニア向けカンファレンス5選
  6. 6
    日本在住の英語を話すソフトウェア開発者、年収の中央値は950万円に
  7. 7
    管理職の24.1%、今後管理職を「続けたくない」と回答。理由は「責任やストレス」が最多に
  8. 8
    VSCodeをドキュメント作成に活用――テキストエディタ、Markdownエディタの設定と拡張機能を解説
  9. 9
    2024年の提示年収が高いプログラミング言語は? paiza調査によるランキングが発表
  10. 10
    ランサーズ、「2024年必要とされたスキルランキング」を公開。「Lancers」上のデータを集計