« 100均で330円のBluetoothリモートシャッターを改造しようとしたら別物だったお話(2022/12/26追記) | トップページ | BOOX Poke Proの電池交換(2021/11/27追記) »

2021/10/16

Androidの電子書籍用ページめくり機を作りました(2022/12/26追記)

先日HIDデバイスとして動作するBluetoothリモートシャッターがAndroidの電子書籍用ページめくり機として使えるかを実験しました。結果として、ボタンを押すと音量上げのコマンドが出ることが確認できた一方で、電子書籍アプリのページめくり機能が不統一でボタンを押すと前のページに戻ってしまうものがあり、それがよりによって私が最も多用しているSONY Readerでした。
手元で確認した状況を次に示しますが、Kindle以外は音量ボタンでのページめくりに対応していました
アプリ音量上げ音量下げメモ
SONY Readerページ戻りページ送り使わない設定も可
Kinoppyページ送りページ戻り設定なし
読書尚友送りor戻り戻りor送り双方向設定可
なろうリーダ送りor戻り戻りor送り双方向設定可
BOOK☆WALKERページ戻りページ送り使わない設定も可
ブックライブ送りor戻り戻りor送り双方向設定可
Kindleページ戻りページ送り使わない設定も可
※KindleやReaderで不使用に設定できるのはオーディブルや「ながら聴き」を考慮した仕様かも知れません。

そしたら、自分で作るしかないでしょ?ということで少し前から気になっていたSeeeduino XIAOを使い、併せて新しい環境も勉強しようかとCircuitPython(←日本語チュートリアル)を使ってみることにしました。なお、リンク先のmain.pyはcode.pyに読み替えて下さい。

結果としてできたものは、こんな感じです:
Et01
ケースは定番のFRISKを久しぶりに使いました。ボタンは3つあり、ページ送り/戻りと本棚に戻る、です。それぞれ音量上げ下げとマウス右クリックに対応しています。そしてアプリによって送り/戻りを切り替えるためにスライドスイッチを付けています。
なお、ここで使っているAndroidタブレットはASUSのZenPad 3 8.0で、USB Type-Cケーブルで接続しています(公式ページが無くなってしまったのでPC Watchの解説記事にリンク)。開いている本は香月美夜先生の本好きの下剋上〜司書になるためには手段を選んでいられません〜の、原作小説・初巻です。

回路図はとっても簡単です:
Ebook_turner_sch
CircuitPythonのコードはGitHubに上げておきました。ライブラリとして、Adafruit HID libraryからconsumer_control_code, consumer_control, mouseの3つが必要です。

蓋を開けたところです:
Et02
部品はSeeeduino XIAOと、タクトスイッチ3つにスライドスイッチ1つと基板だけ。あとはラベルとケーブルです。いま気が付いたのですが、前から持っているのを流用したUSBケーブルが、他の部品全部を足したよりも高い。むむむ

基板は秋月電子さんのを使いました(便利):
Et03
ちなみにスペーサーとして段ボールを詰めています。

最後に完成品のアップを置いておきます:
Et04
左下の白丸は、Seeeduino XIAOのインジケーターLEDがうっすら見えるようにしてあります。

今回はじめてCircuitPythonを使ってみましたが、Pythonの心得があって、ボード定義などのお約束が分かれば、Arduinoより楽な開発環境だと思いました。ピン定義をまとめてやるところなどPythonならではのコーディングができますし、サンプルプログラムを色々と読んでいても可読性の良さを感じました。また、Arduinoは続けてやっていているときや、ひとつのデバイスに限っているうちはいいのですが、複数のデバイス(UNOとATmega328P自励発振とATtiny85など)を使っていて間が空くと、環境を思い出すのがハードルになってしまうところがあります。その点CircuitPythonだと「そこ」にあるストレージにコードを置くだけで、そのコードの中味は時間が経っても開けば一目瞭然ですし、コードを書き換えて保存した瞬間に動き出しますし、Mu Editorを使えばデバッグも簡単です。逆に困るのは、必ずマスストレージとして繋がってしまうので、取り外さずに抜くと叱られること。まぁ、ファイルさえ開いていなければ大丈夫だと思います。あと、使えるデバイスが限られるのは進歩の代償だと割り切っています。(開発環境を飛ばしても成果物だけは残るというメリットもありますね。考えたくも無いですが…)

ちょうど今夜から寒くなるという予報なのですが、これでコタツや布団の中に手を入れたままで電子書籍が読めるようになりました。我ながら、なんてズボラなんだ…

以上、何かの参考になれば幸いです。ご利用は自己責任で。

パドラッパ from MacBook Air (2017)

【2021/10/17追記】
一晩使ってみて手首の角度が固定されるのが気になり、上面にも「ページ送り」を付けました。回路的には元のスイッチと並列に繋いだだけです:
Et05
手の中で転がしながら読書できるようになりました。ちょっとナースコールみたいですけど(汗

【2022/12/26追記】
Kindleアプリではページめくり不可と書いていましたが、BOOX Leaf2の製品紹介を読んでいてできることに気が付き、修正しました。設定は深いところにあって、次の通りです:
(読書画面で)画面中央をタップ→【Aa】をタップ→「その他」タブの下の方にある「音量ボタンでページをめくる」をON

| |

« 100均で330円のBluetoothリモートシャッターを改造しようとしたら別物だったお話(2022/12/26追記) | トップページ | BOOX Poke Proの電池交換(2021/11/27追記) »

コメント

コメントを書く



(ウェブ上には掲載しません)




« 100均で330円のBluetoothリモートシャッターを改造しようとしたら別物だったお話(2022/12/26追記) | トップページ | BOOX Poke Proの電池交換(2021/11/27追記) »