読者です 読者をやめる 読者になる 読者になる

ブログ

クソブログ

SensorTag 旧アプリ

注意:この文書の内容は古くなっています。すでに新しいバージョンのアプリにOTAアップロードの機能も実装されているため、何か特別な目的がない限りわざわざ旧アプリを使う理由はもうありません。新アプリには加速度センサの扱いでバグっぽい動きがありますが・・・。

旧アプリが欲しい

Play StoreではTIのSensorTag用のアプリがアップデートされており、グラフ化やSensorTag2への対応などの新機能が実装されています。それはそれで良いのですが、ジャイロスコープが使えなくなったり、ファームウェアのOTAアップロード機能が無くなるなど、人によっては致命的な機能が失われています。そこで旧アプリを再び使えるようにする方法をメモします。

旧アプリはソースコードごと入手可能

SensorTag-Android - Gitorious@TI Open Source Collaboration

上記リンクからSensorTag用(旧)アプリのソースコード一式を入手してAndroid Studioにインポートします。下記のように実デバイスを指定して実行すれば自動的にインストールできます。

f:id:XX-Prime:20150325200912p:plain

 なお、新アプリとの共存が可能なので躊躇なくインストールできます。ただし、アイコンファイルをいじらないと下のように同じアプリが二つ見えてちょっとぶざまです。

f:id:XX-Prime:20150325202009p:plain

上が旧アプリです。AndroidManifest.xmlを見ると、/res/drawable/tible.png/にあるのがアイコンファイルなので、これらのアイコンファイルを適当に加工して旧アプリであることを強調すると良いかもしれません。

実際に動作させてみて、旧アプリの機能が正しく動作することを確認できました。各センサのON/OFFはセンサタグ内部ではなくアプリで制御していたことがわかりました。センサの出力を取る手順は、まず読みたいセンサ(群)をONにして、少し待ってから出力を読み取ります。

旧アプリもSensorTag2に対応?

旧アプリと呼んで良いのか不明ですが、アプリのメイン画面を定義しているxmlファイルが二つあります。

/res/layout/services_browser.xml

が以下。旧アプリそのものです。

f:id:XX-Prime:20150325203247p:plain

/res/layout/services_browser2.xml

が以下。LuxometerがあるのでSensorTag2用の画面定義でしょう。SensorTag2を持っていないので実際の動作は確認できません。SensorTag2にはマイクロフォンが実装されているはずですが、それに対応する行は(まだ)無いようです。

f:id:XX-Prime:20150325203300p:plain

Barometerの単位が変じゃね?

新旧アプリとも、Barometerセンサの物理単位がnPAになってます。ナノパスカルなわけないです。1000ナノパスカルじゃそこそこの高真空です。正しいのはhPaですよね。たぶん、アプリ設計者の手書きメモの段階ではhPaと書いてあって、「インド人を右に」現象を経てnPAという単位になってしまったと思われます。今の今まで誰も気づかずに誰も直してないのが不気味です。

まとめ

アプリが勝手にアップデートされてしまって、ファームウェアのOTAアップロードができなくなって困って酒を飲んで寝ていたナイスガイには、ソースコードのダウンロードとビルドとインストールをお勧めしたいです。