ebikinのバックエンドをCodex Solにしたので、ちょっとコーディングにも使えるレベルにはなっているハズなので、Tab5でAndroidスマホの写真や動画をバックアップするアプリを作らせてみる。
長いことデファクトのAndroid端末からのファイルコピー手段だったAndroid File Transferの公開が停止されて、写真のバックアップが不便になっている。また、LINKLETは、adbが許可されていないので、MTPで動画や写真をコピーするしか手段が提供されていない。
Tab5を使って、Android端末のストレージをTab5のSDカードにコピーするツールは作れますか?Android端末はadbは使えません。MTPで行います。

技術的にはあまりハードルはなさそう。MTPライブラリがないので、そこは自前で実装することになりそう。「同じファイル名があるときはコピーしない」という条件だけを与えて作ってもらう。
仕様案には、SDカードの存在確認やフォーマットチェックが入っていなかったので、追加を指示する。

何かと指示待ちで止まるので、待たずに判断してやるように指示する。勝手に30分ごとに進捗を報告することにしてくれたようだ。

ESP-IDF 6.0.2は勝手にダウンロードしてセットアップしている。他のバージョンも使うかもしれないので、インストールディレクトリを指示する。
ビルドはできて、自分で問題点を見つけてデバッグしている。いい感じ。
binはできたのだけど、Telegramでの添付には失敗している。まぁ、これはしょうがないかな。scpで受けることにする。なんか、ばらばらのbinをもらっても困るので、merged.binを作ってもらう。

なんか、もうやめろというまで、ずっと新しい機能の追加とかしている。もういらないんだけど。勝手に進めろと指示したからかな。なので、明確に停止する。
できたバイナリをTab5に焼いてみたけど、画面が真っ暗www こうでなくっちゃ!

暗いっていったら、勝手に問題を分析してアップデートを作ってきた。
こういうところは弱いよね。ほんとはTab5をebikinに直接接続してデバッグさせるといいのかも。


あとは、シリアルデバッグができるようにして、失敗したときのログをebikinに送る。
MTPの検出がうまくいっていないバグがあったけど、それも自力で修正している。
「この端末はMTP転送インターフェースを標準の 06/01/01 ではなく、ff/ff/00 として公開しています」とかいうのも検出して対応している。
やりとりを繰り返して、やっと動作するものができた。ちょっとリクエストを追加する。

こういう配慮は弱いか。画面のエミュレータを入れて、確認させたらよかったのかも。


ちょっとした修正で、うまく動いてたのがダメになることもある。

というわけで、ようやく想定していたものが出来上がった。

とはいうものの使ってみると問題が出る。3回繰り返すと落ちる。他にも問題が出る。

このバグはなかなか解消できなかったけれど、何回かログを作って渡すと原因を特定して修正してきた。

Githubには接続していないので、ビルドに必要なソースコードを抽出してアーカイブして渡してもらった。


ちゃんとSDカードにバックアップされているのを確認した。
起動もそこそこのスピードは出るし、タッチで制御できるし、状態確認も画面でできる。SDカードも接続できるし、なかなか便利かもしれない。
Tab5 Android Consoleのときは、本体が結構過熱していたけれど、Tab5-MTPでは、ほとんど熱くなることはなかった。熱いとつらいなと思っていたけど、使い方次第ということか。もっとも、無線も使っていないのでこんなものかも。
ebikinでの開発も、エミュレーターやカメラとタッチできる指を与えると、勝手にいろいろやって完成できるのではなかろうか。あとghコマンドを入れてgithubのアカウントを使えるようにしてやるといいかな。
オリジナル投稿:
Tab5-MTPを作る|kinneko|pixivFANBOX
https://kinneko.fanbox.cc/posts/12366582



