JavaScriptでも制御できる! Arduinoの基礎知識:Arduinoで始めるWeb技術者のためのIoT入門(1)(2/2 ページ)
今注目のInternet of Thingsを実現するセンサーデバイスのインターフェースとしてArduinoを使い、電子工作の基礎から実装までを紹介する連載。初回は、Arduinoの概要と注目を集める理由、4つの面白い利用例を紹介します。
Arduinoは今後、どのように発展していくのか?
現在、Arduinoコミュニティの参加者は10万人を超えているとされています。ライブラリは豊富に存在していて、現在もなお活発に開発されて続けています。他のマイコンベンダーがこれと同じ状況を作り上げるのは非常に難しく、Arduinoの優位性は今後も継続するでしょう。
加えて、近年、無線通信の機能がビルトインされたボードや、後付けで追加するための拡張ボード(シールド)が充実してきました。この流れに乗って、デバイス同士が無線通信で連携し合い、自律的に動作する利用例が増えてくることでしょう。
また、Webでデータをビジュアライズするためのライブラリが充実してきています。Webをインターフェースとして、PCやスマートフォンからセンサーデバイスを一元管理するプロジェクトが既に勢い付いています。
ただし、実際の家電製品の中にArduinoが直接組み込まれる可能性は低いと思われます。
なぜかと言いますと、まず、場所を取らないコンパクトな製品にしようとすれば、Arduinoボードの大きさがボトルネックになります。また、持ち運びするためにバッテリで駆動させたい場合は、消費電力の大きさが問題になることでしょう。
従って、エンタープライズでArduinoが利用されるとすれば、製品開発のプロトタイピングフェーズであり、実際の製品にはプロトタイプを基に設計された必要最低限の回路とマイコンが搭載されることになるでしょう。
次回以降の内容
第2回:Arduino基礎編
次回は、オリジナルのデバイスを作るために必要な知識を押さえていきます。具体的には、Arduinoの役割は何なのか? 電子回路はどうやって組めばいいのか? コードはどう書けばいいのか? という疑問に答えていきます。
特に、回路の作り方を間違うとArduino本体やセンサーを壊してしまう場合がありますので、そういった悲劇が起こる原因と対策を解説します(※「Espruino」は使いません。最もポピュラーな「Arduino UNO」を使います)。
また、通常はArduinoの制御にC言語をベースとしたArduino Programming Languageを使いますが、本連載はWeb技術者向けということで、JavaScriptを使った制御方法を紹介します。
- Arduinoのピン、インジケーターの役割
- 電子回路の組み方
- JavaScriptで制御するためのセットアップ
- JavaScriptを使ってLEDを点滅させる
LEDを点滅させること自体に面白みがあるわけではありません。しかし、LEDを制御することを通して、Arduinoを使いこなすための多くの基礎知識を得ることができます。
第3回以降:応用編
土壌湿度センサーを使い、観葉植物の土が乾いたらメール通知するシステムを作ります。センサーデバイスをシステムに取り入れる際の、センサー値の揺らぎ対策や状態管理など、実用的にするために考慮すべき処理もカバーします。
- 利用するパーツ、回路
- センサーからデータを読み出しメール通知するプログラムを作る
- 状態を管理しつつ、センサー値の揺らぎに起因する不要な通知を抑制して実用的なシステムに仕上げる
ネットワークを介して、センサーとシステムが自律的に連携し合う。そんな未来を感じさせるようなデバイスを作るきっかけとなれば幸いです。
著者プロフィール
岩永 義弘(いわなが よしひろ)
株式会社インターネットイニシアティブ
データ分析とワインが好物。通信アノマリ検知システムや地震速報配信システムの開発と運用を経た後、Webアプリのフロントエンドに手を伸ばし、図らずもフルスタックな道を突き進んでいる。最近は趣味でHTTP/2の実装を楽しんでいる。
Twitter:@y_iwanaga_
Bot:@quake_alert @WeatherAlertJP
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 三国大洋の箸休め(26):忘れずに手を洗おう……ビッグデータとIoTの活用例
張り紙に頼る代わりに、センサーとInternet of Things(IoT)、ビッグデータといった技術を活用して手洗い忘れ防止を実現したケースを紹介する。 - Database Watch(2014年2月版):確定不能なデータたち――IoT時代を受け止めるOracle NoSQL、JSON Anywhere
エンタープライズを指向するOracle NoSQL、マルチデバイスでのデータハンドリングのための環境を整備するCouchbase、適用用途は異なるものの、IoT時代を見据えた開発を進める2つの非RDBをウォッチした。 - ATが影響、ただし「将来的には元凶となる恐れ」:冷蔵庫は「無実」――シマンテックがスパム発信元を調査
「インターネットにつながったスマート家電から75万通以上のスパムメールが発信された」という報道に関して、シマンテックは2014年1月27日、実際に感染していたのは同じホームネットワーク内のWindows搭載PCであり、冷蔵庫は「無実だ」とするブログを公開した。 - 「俺たちのJavaは、まだまだこれからだ」未来の鍵はInternet of Thingsにあり?〜JavaOne 2013まとめレポート(前編)
Java開発者の年次カンファレンス、JavaOne 2013がサンフランシスコで9月22〜26日に開催された。3つの基調講演、そして400を超えるセッションが行われるなど、圧巻のボリュームは、まさに「Java開発者の祭典」といえる。基調講演と主なセッション、全体の雰囲気を前中後編に分けてレポートする。 - Microsoft Azure情報アップデート:IoTをクラウドで管理、「Microsoft Azure Intelligent Systems Service」プレビュー公開
米マイクロソフトは2014年4月15日、デバイスやセンサーといった「モノのインターネット」(IoT)からのデータを収集し、ビジネスインテリジェンスツールと結び付けて分析する「Microsoft Azure Intelligent Systems Service」の限定パブリックプレビューを公開した。