|
テーマ:車に関するお話(10420)
カテゴリ:車
表題の通りです。 以前からアベレージラリーやドライブラリーで使い勝手の良いアプリを探して彷徨っていました。 現状、アベレージラリーについてはRally Tripmeterというアプリを使用していて、ひょんなことから開発者と繋がることができたので、改良して欲しい点などはチャットでやり取りして対応していただいていました。 お陰で最初に使い始めた時と較べると格段に使いやすくなったと思うのですが、まだまだ改良したいポイントはあるんですよね。 開発者に言わせると、そもそもアベレージラリー(TSDラリー、あるいはRegularityラリー)は世界中で様々なルールで行われているので、それら全てに合わせて機能を追加させていくのは難しいということなんですな。 まぁ、これは去年の夏頃に言われていた話で、それでもいくつかの機能を追加してくれてはいたものの、つたない英語を使って、しかもチャットで先方にこちらの意図を伝えるのは結構大変で、改良点はもちろんのこと、何故それが必要なのかを説得させるのも一苦労。 こうなってくると、 自分で作った方が早いんじゃないか? なんて思うこともしばしば。 最近じゃあ、AIにアプリを開発してもらうことができるなんていう話もありますからね。 実際、試しにAIに「こんなアプリ作りたいんだよね~」と相談してみると、ちゃちゃっとコードを書き出してくれるんですよね。 そんなことを考えていたら、先日関東デイラリーの開幕戦に向けて、運営代表でラリーコンピューターの製造メーカー「ARM products」の中の人、入夏氏が「AIにアプリ作ってもらった」と。 ラリコンみたいな単純な計算&表示アプリであれば、ゲーム作るのとかと較べるとそれほどハードルも高くないんじゃないかとは思っていましたが、やっぱりAIって凄いなぁと。 実際、開幕戦でもBクラスで優勝しちゃうし、動作も問題なかったということ。 ARMはかつてもラリコン用のアプリを作っていましたので、元々知識やノウハウがあったのだと思いますが、それにしても片手間にちゃちゃっと作れるというのは魅力です。 知識ゼロのシロウトでもできるだろうか・・・ という訳で、物は試しと作ってみることにしました。 いきなりアベレージラリーのアプリを作るのは大変なので、簡単そうなドライブラリー用のアプリを作ってみることに。 まずは要件定義です。
まずはこれらの機能を表示できるようにイラレでレイアウトを作成します。 ![]() 画像をJPEGで保存して、PCにGoogleが無料で提供しているAndroidアプリ作成用のソフト「Android Studio」をインストール。 アプリ内でGeminiを立ち上げて、画像と各ボタンの役割をチャットに入力します。 ![]() そうすると、コードをザザッと書いてくれます。 ![]() 肝心のOBD2アダプタとのBluetooth接続についてもきちんとコードを書いてくれますが、読み取る速度については、Gemini曰く、「OBD2(ELM327)はそれほど高速ではありません。01 0D(車速)の問い合わせは、100ms〜200ms程度の間隔で行うのが安定します。あまり速すぎると「NO DATA」やエラーが返ってくることがあります。」ということですが、OBDLink MX+を使うことを伝えると、「通信速度が非常に速い(STN命令セット対応で20ms毎)ので、それ用にセットアップするよ」と提案してくれました。 ある程度できたら、実際の画面をAndroid Studio上のエミュレーターで確認することができるので、それを見たり、ボタンを押してみたりして挙動を確認しながら、変更などを指示します。 ![]() この間、私、一切コードを触ってません。 作業時間はレイアウト作成に15分。 その後Android Studioを使って40分ほど。 あとは、デバッグするためにスマホにインストールするためにapkファイルに書き出したらOK。 実際に自分のスマホにapkファイルをぶち込んだ後、インストールして起動してみます。 ![]() レイアウトが崩れてしまっていますが、車に乗り込んで実際に走って動作確認をしてみます。 エンジンをスタートさせてOBD2アダプタが起動したのを確認し、アプリのOBDボタンを押してみると・・・ ![]() ちゃんとOBD2のアダプタが選択肢に出てくるので、OBDLing MX+を選択。 すると、ちゃんと指示した通りにインジケーターが緑色に変わりました。 ![]() 実際に走行してみると、きちんとTripが動きます!! ![]() リセットボタンや補正用のボタンも問題なく動きます。 ただ、走行中に画面を触らないと画面がスリープしちゃうとか、リセットボタンをタップしたら音が鳴るようにしてほしいとか、レイアウト修正と併せて気になる所があるので、Geminiに改善を依頼します。 とまぁ、こんな感じでアプリが出来上がってしまいました。 ![]() 想像以上に簡単、ビックリです。 これで良い練習になったので、あとは本番のアベレージラリー用のアプリ開発ですな。 でもまぁ、私自身、仕事柄アプリを業者に依頼して作ってもらったことが何度かありますが、アプリは作るのよりもメンテナンスの方が大変なんですよね。 iOS用は楽ですが、Androidは複数のメーカーがデバイスを作っていて、OSも各社がカスタマイズしているので、それら全てに対応するのが凄く大変なんですな。 なので、アプリを一般に公開するというのは絶対やりたくない作業です。 本来はあらゆる実機を入手してデバッグをやるべきで、実際仕事では下請け業者にそれを依頼していました。 それでも、全てを網羅することなんてできないので、OSのバージョンと、機種を10数種類用意して、それで市場シェアの〇%分は確認した・・・ってことでOKとしていました。 とてもじゃないけど、全てのデバイスで問題なく動作することを保証できないから。 なので、今回作ったのもあくまでも自分の持っているデバイスでの使用を前提です。 その方が楽だし早いから。
当然、商業化する気もありません。気が向いたら公開するかもしれませんが、責任取れないので期待しないでくださいませ。 お気に入りの記事を「いいね!」で応援しよう
[車] カテゴリの最新記事
|