Android WearやIoTで注目のAndroidセンサー機能8選:Androidで動く携帯Javaアプリ作成入門(52)(3/3 ページ)
ついに正式版が発表されたAndroid WearやIoTでの活用で注目したい、Androidがサポートするステップカウンター/検出器、回転ベクター/接近/温度/湿度/気圧/照度センサーなどについて解説。
IoTで注目の温度、湿度、気圧、照度センサー
ここから紹介する温度、湿度、気圧、照度データは、毎日計測してそれをグラフにするだけで、面白いアプリになるような気がします。特に、現在ITや製造業の進出が進んでいる農業におけるIoT活用などで注目を浴びそうです(参考:業務アプリはもうこれ以上、進化できないのか? ―― スマートアグリカルチャーに学ぼう)。
温度センサー
温度センサーは、Android 4.0から登場した「TYPE_AMBIENT_TEMPERATURE」と、Android 1.5からある「TYPE_TEMPERATURE」の2つがあります。TYPE_TEMPERATUREはTYPE_AMBIENT_TEMPERATUREが登場してから非推奨となったセンサータイプで、既に詳細な説明はなくなってしまっていますが、私は以下のように推測しています。
もともと、TYPE_TEMPERATUREという名前でセンサータイプが定義されていました。これは「温度タイプ」と訳すことができますが、この温度が端末の温度を指すのか気温を指すのかが曖昧であり、ある端末ベンダーは端末の温度を、別のある端末ベンダーは気温をセンシングしていたのではないかと思います。
そうした状況を重く見たグーグルは、TYPE_TEMPERATUREという曖昧な名称タイプを非推奨とし、代わりにTYPE_AMBIENT_TEMPERATUREという、「外気温タイプ」と訳す新しいセンサータイプを追加して、曖昧さをなくしたのではないかと思います。
本連載第13回「iPhoneより多彩なAndroidのセンサをアプリで操作」で取り上げた温度センサーの解説を引用します。
当時Android Dev Phone 1で検証した際に、室温18℃の環境でイベントとして通知されてくる値は30〜34であったことから、Android Dev Phone 1では外気温ではなく端末温度を検出していた可能性があります(ドキュメントも不整備で通知されてくる値の意味がよく分からなかったため、氷点下の屋外に端末を放置したのは今となっては良い思い出です)。
温度センサーはSensorEvent#values[0]に温度が摂氏(℃)で渡されてきます。当時と違い、ドキュメントにしっかりと記載されています。
湿度センサー
湿度センサーはAndroid 4.0から追加された新しいセンサーです。
使用方法は難しくなく、SensorEvent#values[0]に湿度が単位パーセントで通知されてくるので、その値を使用するだけです。
Androidのドキュメントには、湿度と温度と気圧は密接に関係していると数式を用いて説明されており、それぞれのセンサーが補完し合っているように読み取れます。実際、手元の端末でも温度センサーの搭載されてない端末では湿度センサーも搭載されていませんでした。
気圧センサー
気圧センサーは古くから定義されていたセンサーで、多くの端末でも実装されているセンサーの一つだと思います。気圧センサーの使い道は大きく二つあります。
記事「気圧計がAndroidの新しい切り札だと思う理由」によると、一つはクラウドソースの気象ネットワークを形成するため、もう一つはナビゲーションの精度を上げるために気圧センサーを利用することです。
前者は位置情報を気圧データの補助として利用し、後者は気圧データを位置情報の補助として利用するアイデアです。
照度センサー
照度センサーは明るさを検出するセンサーで、スクリーン照度を自動調整することで、省電力に寄与するためのセンサーです。暗い環境では照度を下げて電力消費量を抑え、明るい環境では照度を上げて画面を見やすくします。
太陽光下だと32000luxほど、屋内蛍光灯下だと400luxほど、屋内豆電球だと5luxほどです。これだけ違えば、環境に応じた実装はしやすいですね。
3つのデバイスを用いて同一環境(屋内蛍光灯下)で計測したところ、以下のような違いがありました。
端末 | 照度 |
---|---|
Galaxy Nexus | 260lux前後 |
Galaxy S4 | 350lux前後 |
Nexus 5 | 130lux前後 |
実装されているセンサーによってこれだけ違うのですね。
Galaxy Nexus、Galaxy S4、Nexus 5のセンサーデバイスの実装状況
最後に、今回確認したGalaxy Nexus、Galaxy S4、Nexus 5のセンサーデバイスの実装状況を以下に示します。
画面解像度の都合で、ステップカウンターとステップ検出器が切れてしまっていますが、ご容赦ください。各項目の下段にセンサーデバイスの詳細を表示しています。Qualcomm、Invensense、AKMなどはなるほどと思いますが、意外な企業(グーグルやヤマハ)などもセンサーデバイスを端末に供給していることが分かり、なかなか興味深いです。
次回は、新しいAndroidプラットフォーム「Android L」の新機能まとめ
今回はステップカウンターとステップ検出器を中心に、マイナーなセンサーも一通り取り上げて解説しました。
次回は、Android Wearの正式版と同じく本日(米国時間6月25日)開催された「Google I/O 2014」の基調講演で発表された新しいAndroidプラットフォーム「Android L」開発者プレビューの新機能を開発者向けにまとめて紹介します。お楽しみに。
- グーグルのAPIを使うときに欠かせないGoogle OAuthの作り方と使い方
- 細か過ぎて伝わってないけど開発者が知っておきたいAndroid Mの新機能まとめ
- 腕時計から電話をかけるAndroid Wearアプリの作り方
- Android Wear用アプリの花形、時計アプリ「Watch Face」の基本的な作り方
- Android 5.0発表&スマホと連動する音声認識Android Wearアプリの作り方
- ウェアラブル端末用Android Wearアプリ開発の基礎知識
- 変わらないと生き残れないAndroid Lの新機能まとめ
- Android WearやIoTで注目のAndroidセンサー機能8選
- ウェアラブル時代に見直したいAndroidの加速度/重力センサー、ジャイロスコープ
- あなたの知らないAndroid SDKの便利tools、14選まとめ
- Android 4.4のメモリ使用状況を把握する3つのツールの使い方
- Androidでリアルタイムマルチプレーゲームを開発するには
- 低性能端末でも使えるか? Android 4.4 KitKatの新機能39選
- もはや無料BaaS。ゲーム以外でも使いたくなるGoogle Play Game Servicesのデータ管理機能
- アプリにGoogle+のソーシャルグラフを持ち込めるGoogle Play Game Servicesの基礎知識
- あなたのアプリはクラウドにデータをバックアップできますか?
- Eclipse ADTに代わるIDEとなるか? Android Studioの基礎知識
- ActionBarで、アプリのUIはこんなにスマートになる
- Android 4.x時代のアプリにないと残念なActionBarとは
- 動的クラスローディングでAndroidアプリ“裏”開発
- Android 4.xのAndroidビームをアプリに組み込むには
- AndroidアプリでNFCタグを読み書きするための基礎知識
- 新タブレット時代を見据えるAndroid 4.2の新機能9選
- Androidからイヤフォンやヘルス機器とBluetooth通信するには
- Bluetoothを使ってAndroidアプリ同士で通信するには
- Androidアプリをアプリ内購読に対応してもうける方法
- 開発者が知らないと残念過ぎるAndroid 4.1の新機能36選
- Androidのプロセス間通信を自由自在にするAIDL
- Android 4.0のサービス/プロセス間通信の基本
- Androidアプリでマルチメディアを扱うための基礎知識
- Androidのウィジェットにノーティフィケーションするには
- Android 4.0で注目の顔認識をアプリに組み込むには
- Android 4.0でアプリ開発を始めるための環境構築
- 開発者が知らないと損するAndroid 4.0の新機能44選
- Android Compatibility packageで2.x系でもマルチサイズ対応
- Androidの画面の大きさの違いを解決するFragments
- Android 3.0の新APIで簡単ドラッグ&ドロップ実装
- 開発者が知って得するAndroid 2.3の新機能18選
- アニメーションでAndroidに独創的な画面エフェクトを
- Androidアプリで“アニメーション”するための基礎知識
- XMLレイアウトでAndroidアプリに“設定画面”を追加
- 開発者が知っておきたいAndroid 2.2の新機能12連発
- もはやケータイに必須のカメラをAndroidで制御しよう
- 地図/位置情報/GPSを使うAndroidアプリを作るには
- Android NDKでJNIを使用してアプリを高速化するには
- Android 2.1の新機能「Live Wallpaper」で作る、美しく燃える“待ち受け”
- iPhoneより多彩なAndroidのセンサをアプリで操作
- SurfaceViewならAndroidで高速描画ゲームが作れる
- Android 1.6のジェスチャーとテキスト読み上げを使う
- Androidのホーム画面に常駐するアプリを作るには
- Netbookにも広まるAndroidで、かつてないWeb体験を
- アプリを国際化してAndroid Marketから世界へ発信
- 常駐アプリが作成できるAndroidの“サービス”とは
- AndroidでSQLiteのDB操作をするための基礎知識
- Androidアプリの使いやすさを左右する5つのレイアウト
- 簡単でワクワクするAndroidウィジェット10連発!
- ブラウザや地図、ストリートビューの基、Intentとは?
- Androidアプリ作成の基本“Activity”とは何か?
- Android Market配布を目指しEclipseでHelloWorld!
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 頭脳放談:第160回 ウェアラブルによるスマホ補完計画始動
最近、ウェラブルに注目が集まっているようだ。ただ一口にウェラブルといってもさまざまなコンセプトがあるようだ。それぞれのコンセプトについて考えてみた。 - Google Glassアプリ「Glassware」を開発するための基礎知識〜Google I/O 2013まとめレポート
何かと話題のメガネ型ウェアラブルデバイスの概要と専用アプリの作り方を4つのガイドライン含め解説。プライバシーへの懸念に対するグーグルからの回答も。 - ウェアラブルデバイスの実務参入は進むか?:業務向けGoogle Glassアプリ開発促進フォーラム「Glass at Work」開設
もう、ホビー利用だけじゃない。Google Glassのディスプレーを活用したアプリケーションを、新サービスや業務環境の効率化に本格活用する動きをグーグルが支援する。 - テクノロジは人の考え方も変える:「ウェアラブル」の先にあるのは「トランスペアレント・コンピューティング」
Google Glassは、短期間のうちに、ウェアラブル・コンピューティング・デバイスの代表格のように語られるようになった。しかし、Google Glassが目指すのは、「ウェアラブル」を超えた世界であるはずだ。 - Arduinoで始めるWeb技術者のためのIoT入門(1):JavaScriptでも制御できる! Arduinoの基礎知識
今注目のInternet of Thingsを実現するセンサーデバイスのインターフェースとしてArduinoを使い、電子工作の基礎から実装までを紹介する連載。初回は、Arduinoの概要と注目を集める理由、4つの面白い利用例を紹介します。 - 「俺たちのJavaは、まだまだこれからだ」未来の鍵はInternet of Thingsにあり?〜JavaOne 2013まとめレポート(前編)
Java開発者の年次カンファレンス、JavaOne 2013がサンフランシスコで9月22〜26日に開催された。3つの基調講演、そして400を超えるセッションが行われるなど、圧巻のボリュームは、まさに「Java開発者の祭典」といえる。基調講演と主なセッション、全体の雰囲気を前中後編に分けてレポートする。 - 業務アプリInsider 読者調査レポート:業務アプリにおける次世代テクノロジの3大トレンド
2014年3月実施のアンケート調査結果を紹介。「業務アプリでのクラウドプラットフォーム採用」「ウェアラブルデバイス開発」「スマートフォンアプリのネイティブ開発」が3大トレンドとなっている。 - 独自OS「Fire OS」はAndroidと互換性あり:アマゾン、独自スマホ端末「Fire Phone」向け「Dynamic Perspective SDK」「Firefly SDK」を発表
米アマゾンの新スマートフォン「Fire Phone」には、Androidベースのアマゾン独自OS「Fire OS」が搭載され、開発用SDKが提供される。