JavaScriptでも制御できる! Arduinoの基礎知識Arduinoで始めるWeb技術者のためのIoT入門(1)(1/2 ページ)

今注目のInternet of Thingsを実現するセンサーデバイスのインターフェースとしてArduinoを使い、電子工作の基礎から実装までを紹介する連載。初回は、Arduinoの概要と注目を集める理由、4つの面白い利用例を紹介します。

» 2014年05月21日 18時00分 公開
[岩永義弘株式会社インターネットイニシアティブ]
「Arduinoで始めるWeb技術者のためのIoT入門」のインデックス

連載目次

「IoT:モノのインターネット」をJavaScriptで体験

 皆さんは「IoT」という言葉をご存じでしょうか。IoTは「Internet of Things」の略称で「モノ同士がネットワーク越しに連携し合う世界」を言い表しています。

 これまで、インターネットといえば、PCやサーバー、スマートフォンなどの限られたデバイスをつないでいました。IoTが目指す世界では、その対象を大きく広げて、モノをインターネットにつなぎます。そうすることで、遠隔地のモノの状態を知り、操作することが可能になります。最近では、収集したデータを基にした異常検知、将来予測が経営に活用できるとして、ビジネスの観点から注目を集めています。

 さまざまなモノの状態を計測するには、センサーデバイスを介する必要があります。そのセンサーとのインターフェースとして注目を集めているのが、「Arduino(アルドゥイーノ)」です。

 本連載では「Arduino」を駆使して、センサーデバイスとインターネット越しのサービスを連携させたシステムを作っていきます。数回にわたり、電子工作の基礎から実装までを紹介します。

 「センサーデバイスを扱うなんて難しそうだ」と思うかもしれませんが、本連載ではWeb技術者にはおなじみのJavaScriptを使ってセンサーデバイスを制御するので、ご安心ください。電子工作も最初は難しいかもしれませんが、できるようになると、とても楽しいですよ!

 また、本連載はJavaScriptを触ったことがある人を対象に、下記の3つを体得していただくことを目的とします。

  1. 自分で回路を設計できるようになる
  2. どのようなコードを書けばよいかを理解した上で、自分の書いたコードでデバイスを操る
  3. インターネット上のサービスと連携させる

 つまり、単なるサンプル提示で終わるのではなく、ご自身で自在にデバイスを操れる状態になることを目指しています。

 第1回目となる今回は、Arduinoの概要と連載のロードマップをお伝えします。

そもそもArduinoって何?

 Arduinoは、マイクロコントローラー(以下、マイコン)と呼ばれる、電子機器を制御するためのプラットフォームです。2014年3月29日に、Arduino誕生10周年を迎えました。その24時間の間に、世界各地で240を超えるコミュニティがイベントを開催し、その注目度の高さと活動の活発さがうかがえます。

Arduinoはなぜ注目を集めているのか?

 さて、世の中には、Arduino以外にも数多くのマイコンが存在します。その中でArduinoが世界中の人の心をつかみ続けている理由はどこにあるのでしょうか? その要因は2つあります。

 1つ目は、アナログ/デジタル入出力を備えていることです。このおかげで温度、距離、光などの汎用的なセンサーの信号を簡単に読み込むことができ、モーターを回転させたりLEDを点灯させたりすることが可能になります。

 これらはプログラムで制御できるので、他のシステムと連携させるのが容易です。

 2つ目は、デバイスを動作させるまでの手間が圧倒的に少ない点にあります。「Arduino Programming Language」という、C言語をベースとするAPIの集合を利用すれば、わずか10行足らずのコードでセンサーから情報を読み出したり、モーターを制御したりといった処理をプログラムできます。

 さらに、オープンソースで提供されているIDEを使えば、Arduinoボードにプログラムをアップロードする作業がワンクリックで完了します。

 従来のマイコンでここまでたどり着くためには、電子工学に関する多くの知識と作業時間が必要でした。Arduinoがマイコンボード本体だけではなく、このような開発の環境をセットで提供してくれるおかげで、「どうやって電子回路を作るのか」よりも「何を作りたいのか」に集中できるのです。

Arduinoで何ができるのか――4つの利用例

 では、このArduinoを使うと、具体的にどんなことができるのでしょうか。そのイメージをつかむには、実際の利用例を紹介するのが一番早いでしょう。詳細は割愛しますが、筆者が面白いと感じた利用例を紹介します。

ブラインドの開閉をリモコンで操作

 リモコンの信号を受信するために赤外線レシーバーを使っています。リモコンの信号に応じてサーボモーターを回転させ、ブラインド羽を動かしています。まるでリモコンでテレビを操作するように、ブラインドを遠隔操作していますね。

荷物が投函されると携帯電話に知らせてくれる郵便受け

 普段、郵便受けの中は暗いですが、投函のために口を開けると明るくなります。この特徴を利用するため、光センサーで光量を測定します。郵便受けの中が明るくなったときに通知しているそうです。

自動的に障害物を避けるロボットカー

 ロボットの正面に装備した距離センサーを使って、障害物への接近を検知しています。障害物に近づくと、車輪につながっているモーターの回転を制御して自動的に方向転換しています。

カンファレンスの盛り上がりや快適さを判断

 他にも、2013年の「Google I/O」カンファレンスでは、人気セッションを把握したり、会場の快適さを判断したりするために、Arduinoベースのデバイスを数百台使って、会場の温度や騒音データを収集していたそうです。

 また、Arduinoでどんなことが実現できるかは、「アイデア・ハック!! Arduinoで遊ぼう」最新記事一覧もご参照ください。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。