月曜, 2月 19, 2018

電子書籍リーダーNook Simple TouchでGPSアプリを動かす

米Barnes & Noble社の電子書籍リーダー「Nook Simple Touch」。

電子書籍りーダーとしても機能に特化したNook Simple Touchには、GPSも内装されていないし、BlueTooth機能もない。

それでも驚いたこちに、Nook Simple TouchでGPSアプリを動かすことができた・

この方法でNookに限らず、GPS非搭載の安価なAndroidタブレット でもナビゲーションなどのGPSアプリを動かすことができるようになる。

2回に分けて、その方法を解説。

 

事の発端は、太陽光下でも視認性の高い(Sunlight Readable)なディスプレイについて調べていたときに、偶然にYouTubeでこの動画を見つけたことだった。

 

”なんだ、白黒のタブレットで何かのアプリが動いているだけじゃないか” と思われた方も多いだろう。

しかし、私はこの動画を見たとき、正直驚いてしまった。

  • 太陽光下でこんなにもクッキリと画面が見えるタブレットがあるのか
  • こんなにも薄くて小型のタブレットでGPSも搭載されているなら(動画ではGPSアプリのXCSoarが動いているのでそう思った)なら、パラグライダーのコンテナに載せられる

 

さっそく調べてみると、このタブレットと思われたものは、米Barnes & Noble社の電子書籍リーダー「Nook Simple Touch」(以下 Nook Touch) であることがわかった。(日本未発売)

Nook Touchは E-Ink社のE-Ink電子ペーパーを採用し、太陽光下でもくっきりと読める。

※米Amazonの電子書籍リーダー「Kindke」 でも使われていて(Kindle Fireを除く)、私も1年前に個人購入しているので、E-Inkの視認性の良さは承知している。(現 Kindle Keyboard 3G

nooktouch

 

Nook Touchは、Kindleが独自OSを採用している(現Kindle Fireを除く) のと違って、OSがAndroid。

そのままでは電子書籍リーダーとしての機能しか使えない(制限されている)はずだが、このようにアプリが動いているということは、つまり「Root化」されているということだ。

サイトを検索してみると、Root化の方法は簡単に見つかった。これなら私にもできそうだ。

 

ただ、Nook Touchに、GPSは搭載されていなかった。さらにBluetooth機能もないことがわかった。

それなのに、この動画ではGPSアプリであるXCSoarが動いている???

どうすれば良いかは皆目わからないが、眺めているだけではいつまでもわからない。さっそくNook Touchを入手してみた。

 

Root化は、簡単にいくと思っていたが、結構面倒なことも多かった。しかしまずはRoot化には成功。

 

詳しくは こちら の記事で。

 

次はNook TouchでどうやったらGPSデータがリアルタイムに利用できるかだ。

 

実は、この記事を書いている現在、まだNook TouchでGPSデータが)使えるかどうかは確認できていない。

確認するには、GPS搭載のAndroidスマホ(ケータイ)が必要だからだ。正確には、GPS内蔵のAndoroidスマホ(ケータイ)とセットでの運用となる。

ただ残念ながら私のスマホは、Androidではないので、新たにAndroidスマホを調達しなくてはならない。

だが、ここまでで、備忘録として書きとめておくことには意味があると思っている。

日本では未発売のNook Touchなので、今回の記事がどれほどの人に役立つとも思えないが、海外のユーザでRoot化したNook Touchを使っている人には参考になるだろう。但し記事の翻訳が必要だけれど(笑)

というのも、Root化不要で最初からAndroidタブレットとして使える「Nook Color」や「Nook Tablet」でGPSを使うという記事や、YouTube動画はあっても、Nook TouchでGPSを使えたという成功記事やその方法が書かれた記事を未だに目にしていないからだ。

 

おかげで悪戦苦闘したが、第一の難関は突破できたのではないかと思っている。


 

Nook Touchには、GPSは内蔵されていない。元々が電子書籍リーダーなのでGPSを搭載する理由もなく、当然といえば当然だろう。

それでも、せめてBluetoothが搭載されていれば、Root化済みのNook Touchでも、Bluetooth対応のGPSを使うことができたはずだ。

ところが、Nook TouchにはBluetoothさえ搭載されていない。

あるのは miniUSB端子とWiFi だけだ。

蛇足だが、Nook TouchのUSBはUSBホスト機能があるので、USBキーボードなどが接続できる。

 

ではUSB対応のGPSが使えるのではないか。確かにUSB接続のGPSはあるにはある。しかし、Android対応を謳ったUSB対応のGPSはまだないようだ。

 

しかし、最初に見た動画がFakeでなければ、必ず方法があるはずだと、さらに調べてみると・・・

 

これだと思われるAndroidアプリが見つかった!

 

TetherGPS

 

メーカー・サイトにある概要と、紹介ビデオをこちらに転載しておいたので見ていただければ。

TetherGPS allows you to share GPS data from your Android phone to your Android tablet via Wi-Fi. This allows tablets without GPS to run applications requiring GPS, such as Google Maps and Navigation.

 

つまり、GPS内蔵のAndroidケータイやスマホのGPSデータを、WiFi経由でGPS非内蔵のAndroidタブレットへ転送し、Googleマップやナビゲーションソフトを動かすことができるというもの。

紹介動画では、GPS内蔵のAndroidスマホとして HTC Evo、GPS非内蔵のタブレットとして Nook Color が使われている。

※Nook ColorはNook Touchと違って、最初からAndroidタブレットとして使える。

 

ならば、Root化済みのNook Touchでも使えて不思議ではない。

 

残念ながら、現在私のスマホは、Androidではないので、新たにAndroidスマホを調達しなくてはならない。すぐにこのアプリを試してみることがができないのは残念だ。

 

しかし、ここで大きな壁にぶちあたった。TetherGPSを使う条件として、メーカサイトでは以下の4つの前提条件が書かれている。

メーカサイトにはTetherGPSを使うには、

  • Android 2.1 (Eclair) or higher
  • Phone and tablet must be on the same WiFi network
  • GPS location must be enabled on both devices
  • Mock locations on the client device must be enabled (Settings > Applications > Development > Allow mock locations)

 

1番目の条件については、Nook TouchはAndroidのバージョンは2.1 なので多分問題なし。2番目、3番目はAndroidスマホを入手できれば設定はできると思われる。

4番目の条件はクライアント側、つまり Nook Touchの設定で、「mook location」をenableにしておかねばならない。

 

ところが・・・

  • Root化後の Nook Simple Touchの設定(Settings)で、アプリケーション(Application)タブが表示されない!
  • Root化後にインストールされる「Nook Color Tools」の「All Settings」では、Developmentタブはあるが、「Allow mock location」 の項目がない!

 

これには正直参った。サイトを検索してみると、ようやく こちら に参考になる記事を見つけた。

記事によれば、ADBとSqLiteを使って直接データベースファイルを操作して設定値を変更しなくてはならない。

 

ADB?

 

ググってみると ADB とは”Android Debug Bridge”の略で、Androidのデバッグをサポートするツール群とある。ADBはAndroid SDKに含まれている。

これが悪戦苦闘の始まりだった。Nook Touchの設定画面に「Allow mock location」の項目がなかったばかりに、Android開発者でもない私が、自分のPCにAndroid開発環境を作る羽目になってしまった。

ところが通常の手順を踏んでやったつもりが、PCのadbでNook Touchをどうしても認識してくれない。そのためADBを使ってNook Touchを操作できないのだ。※いまではちゃんとADBも使えるようになった。

 

結論から言うと、Nook TouchにES File Explorer (Root化対応)、 PC側に「PupSQLite」(フリーウェア)をインストールしておけば、同等の作業を行うことができた。

つまり、「Allow mock location」をenable にするには,

 

  1. Root化済みのNookの data/data/com.android.providers.settings/databases/ の階層化にある settings.db をカードスロット内のmicroSDカードにコピー
     ⇒Rootファイルの操作が可能なES File Explorerを使用 
  2. オリジナルの settings.db は settings.bak に名前を変更しておく (バックアップのため)
  3. PC側で「PupSQLite」を使って、microSDにコピーした settings.db の中の secure タブにある mock allocation の設置値を 0 から 1 に変更し上書き保存

    2012-08-31_11h52_52

  4. Nook TouchでES File Explorerを使って、変更後の settings.db を data/data/com.android.providers.settings/databases/ に保存
    ES File Explorerで見ると次のようになっていればOKだ。
    20120831121158 

以上で完了。

実際にちゃんとできているかどうか確認するには、Androidアプリ「My Fake Location」をインストールして起動してみるとわかる。地図が表示されずに、次のエラーが表示されたら、設定は失敗しているのでやり直しが必要だ。

20120830154659

次回は、Androidスマホを入手次第、スマホ、Nook Touch双方に TetherGPSをインストールし、スマホのGPSデータをNook Touchで読み込めるかどうかを確認してみる。

なお、参考まで、Nook Touchで ADB を使う方法についても別記事として書きとめておく予定。なかなか一筋縄ではいかず苦労した。きちんとした成功事例をまとめた記事が見当たらなかったので参考になれば。

この記事をソーシャルネットワークにシェア またはEverNoteにクリップできます

Submit to FacebookSubmit to TwitterSubmit to LinkedInこのエントリーをはてなブックマークに追加 Clip to Evernote
Share
先頭へ戻る