2016年9月25日日曜日

Androidスマートフォン用ヘッドホンリモコンの自作



スマートフォンで音楽を聴きながらランニングしているときに、ワイヤードリモコンで音量を調整したり曲をスキップしたいとずっと思っていました。
しかしAndroid対応のヘッドセットでは気に入ったものが見つかりませんでした。具体的には「開放・オーバーヘッド・オンイヤー型で音量ボタンつきの軽量なヘッドセット」という条件で適当なものが見つかりませんでした(iPhone/iPod向けであれば存在しました)。
「音量ボタン(+-ボタン)付き」という条件が厳しいように見え、アナログボリューム装備の製品であれば数多くありました。しかしアナログボリュームコントロールはモバイル-特にランニング向けのUIとしては適当なものではないと思います。

そこで、既存のヘッドホンに接続する音量+-ボタン付きのリモコンを自作しました。
回路に必要な資料は次のAndroid公式サイトに完全なものがありました。




この資料に基づき、マイクの内部抵抗から音量ボタンに直列する抵抗値を計算しました。
そしてタクトスイッチ、抵抗、ユニバーサル基板、4極3.5mmプラグ、3極3.5mmジャック、マイクユニットを用意しました。マイクは100均のヘッドセットから流用しました。
ケースは防水ビニール袋的なものに入れましたが、もっとちゃんとしたものにするかもしれません。

自作したAndroidスマートフォン用ヘッドホンリモコン - 後ろにあるのは片出しコード化Porta Pro
スイッチは左から音量-、再生(次、前の曲)、音量+

作った結果、機能的にはきちんと動作するものになりました。しかしブラインド操作に難がありタクトスイッチの配置等になにか工夫が必要だと思っています(このような「触り心地の良さ」という点において、EarPodsのリモコンは最高のものだと思います)。
なお音量+-ボタンのサポートは上述の資料によるとオプショナルなものということなので、端末によって動作しないかもしれません。手元のAscend P7/P8 liteでは動作しました。Galaxy等でも動作しそうです。

ちなみにiPhone/iPodのヘッドホンリモコンの規格はAndroidと違い公開されていないようです。
リバースエンジニアリングした情報を以下のサイトで見ましたが、わりと複雑な信号が必要で、受動素子だけでボリュームをコントロールするのは難しいようです。
その結果、多分関係するパテントを回避して互換品を作るのは難しいことになっているのだと思います。




なお、今回やりたかったことは、Bluetoothヘッドセットでもできるのですが、ワイヤレスのメリットを享受できる反面、今ひとつの部分(使いにくい3ボタンUIモデルが増えている、通信障害の問題)もあり、使い分けをしています。

L Garmin vivoactive
R StayHere状態のEarPods


2016年3月31日木曜日

スマートフォンのGPSの測位が終わらない問題の解決

先月、「GPS測位が完了しないのでランニングを始められない」という記事を書きました。ホットスタートもしくはウォームスタートできそうな状況なのに、どれだけ待ってもスマートフォンのGPSの測位が終わらないことがある問題で悩んでいると書きました。

この状態になったときには「GPS機能を一度オフにし、すぐオンにする」と正常な状態に戻るようです。P8liteの場合はショートカットのGPSアイコンを2回タップします。
これは見かけ上GPSがオンになっているのに、実際にはオフになっている状態に見えます(A-GPSデータ取得とは関係ないようです)。もしかするとこの機種の独自の省電力機能が影響しているのかもしれません。

そうだとすると、その操作を自動的にやってくれるようなアプリがあれば便利です。そこで「GPS常時測位」というアプリの動作がそれに近いので、今試していますが極めて快適な状態になりました。問題は解消したみたいです。
このアプリは消費電力の面で不利なのかもしれませんが、いつ落ちているかわからないといったGPSの動作状態への不安がなくなりとても便利です。

ところで、最近GARMIN vivoactiveという、GPS内蔵のランニングウォッチを購入したので、スマートフォンのランニングアプリは今後はあまり使わなくなるかもしれません。こちらもとても便利なので、機会があればレビューしようと思います。

2016/7/31 追記: この問題はAndroid6.0にアップデートしたところ解決したようです。