ダイソーでスマホ用Bluetoothリモートシャッターを発見→分解→ちょい改造:ウェブ情報実験室
最近の100均はスマホ用の周辺機器が充実していて、なんとBluetooth接続のカメラ用リモートシャッター(税抜300円)まで売っています。ちょっと前からダイソーで見かけるようになって気になったので、購入してみました。そして改造しました。

この記事は、身近にある「疑問」や「不思議」をゆるく検証する『ウェブ情報実験室』です。(※編集部注:この実験は海外で行っています。)

実験の目的

「Bluetoothリモートシャッター」のボタンに別機能を割り当てたい

動機

スマホのカメラアプリは、その多くがボリュームボタンにシャッター機能が割り当てられています。画面上のシャッターボタンをタッチしなくても、スマホの側面にあるボリュームボタンを押せば撮影できるので、便利に使っている人も多いでしょう。

この「ボリュームボタンを押せば撮影できる」という部分に注目し、ボリュームボタンだけをBluetooth接続で提供している機器が、今回ダイソーで購入した「Bluetooth リモートシャッター」。税抜300円という安さながらしっかり技適まで取得しているようで、背面には技適マークが印刷されていました。

▲表側はボタンが2つだけ、裏側は電池のカバーがあるだけという潔い仕様。しっかりと技適マークもあります。

本体の2つのボタンにはそれぞれ「iOS」と「Android」と書かれていますので、どうやらOSの違いで異なる機能が割り当てられているように思えます。しかし、実際にAndroidのスマホ(Moto Z2 Play)、iOS端末(iPad mini 4)にそれぞれ接続して試してみると、どちらのボタンを押してもカメラアプリで撮影ができました。基本的に違いはないようですが、Androidの方のボタンを連打してると、突然アプリが終了するなど、挙動不審なこともありました。

単純なリモートシャッターとして使うなら十分ですが、当然ながらカメラアプリ以外でボタンを押すと、ひたすらボリュームアップし続けるだけの機器となります。せっかくボタンが2つあるのだから、両方ボリュームアップではなく、片方ボリュームダウンにしておけばいいのにと思うのですけど。そうすれば、もうちょっと使い道が増えるのに。

ないものは作ればいいと、なんか昔に聞いたことがあります。そんなわけで、改造の余地がないか調べてみました。

実験対象

ダイソーで購入した「Bluetoothリモートシャッター」が対象です。Amazonで探してみると似たようなものがわんさか出てきますが、技適マークがあるのかは不明。また、同じものかどうかはわかりませんので判断は各自でお願いします。


▲改造前提で購入したので、予備も含め2つ購入しました。8個ほどあったのですが、2日後に見たら残り2個になってたので人気なのかも。

なお、いつも通りですが改造は自己責任でお願いします。事故や故障、その他のトラブルが起こっても責任とれません。

実験方法

Bluetooth機器なので、接続設定は簡単です。「設定」の「Bluetooth」を選択し、デバイスの検出を開始。Bluetoothリモートシャッターの電源を入れ、「AB Shutter3」と出てきたデバイスをタッチするだけでペアリングは完了です。ここでボタンをおせば、ボリュームが上昇しているのがわかるでしょう。


▲Bluetoothリモートシャッターはペアリング設定がない場合、電源オンで自動的に接続モードになります。ですので、電源を入れるだけで簡単に見つかります。

この画面を見てわかる通り、このBluetoothリモートシャッターはキーボードデバイスとして認識されます。これが何を意味するかというと、これを接続している間はソフトウェアキーボードが表示されないということです。カメラ機能を使うときはキーボードはいらないので問題ないのですが、つなぎっぱなしにしていると、twitterやらfacebookやらに投稿したくとも文字が入力できなくなってしまいます。単純にBluetoothリモートシャッターの電源を切ってあげれば解決するので、「文字が入力できない!」などと焦る前に電源を切りましょう。

ボタンを押してみて、ボリュームアップとなれば基本動作は問題なし。カメラアプリを起動して、ボタンを押せば写真が撮影できるはずです。とはいえ、当然ながらこのままではボリュームアップ以外の操作ができません。

そんなわけで、改造できるか調べてみましょう。まずは中身がどんな構成なのか調べるため分解してみます。分解といっても、背面のネジを外して電池を抜き、側面から開いていくだけです。接着されていないので、薄っぺらいものを挿し込んで軽くひねれば、簡単に3枚におろせます。


▲電池のカバーはねじ止めされているので、まずはこれを外します。そしてカバーをスライドしてはずし、電池を抜きます。


▲接着などはされておらず、単純にはめ込んであるだけ。今回は時計用のこじ開けを挿し込み、軽くひねって外しました。


▲上下カバーと基板の3枚になれば分解終了。気を付けるのは、電源部分のスライドパーツをなくさないように注意する程度でしょうか。

基板を見てみると、スイッチにクリスタル、そしてコントローラーくらいしかないというシンプルな構成です。採用されているコントローラーは「ST17H26」というもの。この型番で検索してみると、BLEタグやらプレーヤー用のリモコン、ゲームパッドやら、色々と出てきますので、かなり多くの機器で採用されているようですね。さらに検索していると、この製品ズバリそのものを調べている方がいました。しかも、各ボタンのキーコードまでチェックされています。

・ VolumeUp キー を押したことと等価
・ Androidボタンのほうは、先に Returnキー(Enterキー)を押す(EnterしてVolumeUp)(引用)


なるほど、Androidボタンの方を連打してると挙動がおかしいことがあるのは、Returnキーのコードが送られるためっぽいですね。もやもやとしていた部分が晴れた気がします。さらに......

OTP(ワンタイムプログラム)なので、弄れる余地はありませんが、Lenze SDK と呼ばれる開発キットも提供していて、この手の BLE アプリケーションがすぐに作れるというフレコミ。(引用)


という重要な情報が。ワンタイムプログラムとは、一度書き込んだら内容を書き換えられないという意味です。つまり、別のファームウェアを持ってきて書き換えることができません。早い話が、改造できるといいなという淡い期待が潰えたわけです。

ここで引けばいいのですが、あきらめは悪い方なので、もうちょっと何かできることはないかなと、データシートを見てみることに。ピンの表をボケーっと眺めていると、8〜11ピンに渡りinputが4つあることに気がつきました。


▲inputとなっているのが、8〜11ピンの4つあります。ちなみにoutputも4つあって、1〜3、5ピンとなっていました。「http://www.docin.com/p-1814297477.html」より引用。

続いてピンアサインの図から、実際のICでどの部分にあたるのかを確認。


▲ピンの順番は、「●」マークを1ピンとしてぐるっと反時計回りというのが一般的。8〜11はICの下の部分になりますね。「http://www.docin.com/p-1814297477.html」より引用。

そして、基板上でパターンを軽く追ってみたところ、8ピンがAndroidボタン、9ピンがiOSボタン、10ピンがオープン、11ピンがGNDといった接続になっていました。ん?オープン?


▲赤線が接続されているもの。10ピンだけがどこにも接続されておらず、オープンとなっていました。

多くの場合、コントローラーの供給元からサンプルプログラムが提供され、それを目的にあわせて改変することで開発されていると考えられます。もし自分であれば、必要な機能さえ実装できてしまえば、他の部分は放っておくでしょう。だって、いじってもいじらなくても結果が変わりませんから。

この基板を例に具体的にいうと、8ピンと9ピンでボタン2つの機能という目的が達成できているので、10ピンと11ピンに関してはノータッチのままなのではないか、ということです。つまり、元となったサンプルプログラムのまま放置されているのであれば、何か機能が残されている可能性があるわけです。

11ピンはGNDに接続されていることから別の用途で使われていそうですが、10ピンはオープンとなっていて使われていないので、期待するならこの10ピンです。ということで、この10ピンにスイッチを付け、何か機能しないかなと実験することにしました。

実験結果

結論から言ってしまえば、この10ピンがボリュームダウン機能でした。試し方はものすごく簡単で、10ピンにラッピングワイヤーを半田付けし、この状態のまま電池を入れてスマホと接続。ワイヤーの先をGNDにタッチして(スイッチと同じ動作)、挙動を確認しただけです。結果、期待通りに別の機能として動作してくれました。効率的な開発をしたと考えられる設計者に感謝。

ぶらーんとワイヤーが伸びてる状態で使うのもアレなので、せっかくなのでボタンを追加してみましょう。といっても、元々ある2つのボタンが両方ボリュームアップ。それなら余計なキーコードがついてくるAndroidボタンはいらないだろうということで、こちらのボタンをボリュームダウンに改造します。

改造といっても、スイッチから8ピンに伸びるパターンをカットし、10ピンとスイッチを接続するだけという簡単なもの。ちょっとピッチが狭いので半田付けは厳しいですが、がんばればなとかなる範囲です。後で元に戻せるほうがいいというのであれば、スイッチの足を浮かしてポリイミドテープを滑り込ませて絶縁し、その後、10ピンとスイッチを接続するといいでしょう。今回はこの方法で改造しました。


▲8ピンとAndroidボタンとの接続を外した後、10ピンとAndroidボタンをラッピングワイヤーで接続しています。


▲Androidボタンは浮かせて、ポリイミドテープで絶縁。これで元の8ピンへの接続を切断しています。

あとは元通りに組み立てれば完成。iOSボタンでボリュームアップ、Androidボタンでボリュームダウンとなることが確認できれば成功です。

ところで、昔はポリイミドテープってものすごく高かった記憶があるのですが、今って数百円で買えるくらい安いんですね。耐熱性に優れ絶縁もできるので、工作するなら1つ持っておくと便利です。

結論

ということで、この実験結果から分かったことをまとめると、

1.ワンタイムプログラムなので、書き換えによる改造は不可
2.オープンになっていた10ピンはボリュームダウン※
3.見た目はそのままにボリュームコントローラーになる
といったところでしょうか。

任意のキーを割り当てるといった高度な改造はできませんでしたが、ボリュームアップだけでなく、ボリュームダウンも可能となったのは大きいです。カメラアプリではボリュームダウンでも撮影ができるので、改造後であっても、どちらのボタンからでも撮影が可能です。

......意味ないですね。

タブレットを使い、くつろいだ姿勢で動画を見ているときにボリューム操作ができるというのは、ちょっとだけ便利かもしれません。

最も便利だと思うのは、Kindleで電子書籍を読むときに使えること。Androidタブレットに限定されてしまいますが、実は、ボリュームのアップ・ダウンでページがめくれるのです。


▲ボリュームボタンによるページめくり機能があるのは、Androidタブレットだけ。本体のボタンで操作するなら画面タッチする方が早いので、あんまり使ってる人はいないかも。

寝る前にKindleでマンガや本を読んでいますが、ページをめくるのに布団から手を出すのが嫌なんですよね。とくにこれから寒くなってくる季節は、この思いが非常に強くなります。そんなときにこの改造済みBluetoothリモートシャッターがあれば、ぬくぬくとした布団の中から一切手を出すことなく、ページがめくれるわけです。最高かよ!

問題は、Kindleで本を読むのに使っているのがiPad mini 4だということ。iOS版のKindleですと、ボリュームでのページめくりに対応していないのです。これから寒くなってくるとさらに布団から出たくないので、そのためだけにAndroidタブレットを買ってもいいなと思ってるほどでして。とくに、AndroidをベースにしたFire HD 10 タブレットを狙ってますが、これがボリュームボタンでページがめくれるかわからないのが悩みどころ。持ってる人、誰か試してみません?

※今回試した個体では10ピンにボリュームダウン機能が残っていましたが、製造時期やロットによっては残っていない、もしくは別の機能になっている可能性があります。今回たまたまボリュームダウンだったというだけで、必ずしも同じ結果となるとは限りません。

おまけ

Kindle限定(しかもAndroidのタブレットのみ)というのは利用価値がかなり薄くなっちゃうので、もう少し便利になるものを紹介。「Button Mapper: Remap your keys」というアプリです。


▲本体にあるボタンを別の機能に割り当てられるアプリ。今回の改造で追加できたボリュームダウンに別機能を割り当てれば、リモートシャッターとさらに別の機能が両立できます。

ボタンの機能を任意に変更できるAndroidアプリで、ボリュームボタンもその対象になっています。ボタンのシングルクリック、ダブルクリック、長押しで別の機能を割り当てられるので、2つのボタンを使えば合計6つの機能が割り当てられます。

このアプリを使えば、かなりの操作ができるようになるでしょう。単純に便利なアプリなので、Bluetoothリモートシャッターと関係なく活用できると思います。