UfoTwCtrl Ver1.10 U.F.O. TWをBluetoothで左右独立ランダム制御するアプリ

Ver1.00で発覚したバグの修正と『UfoSaCtrlTrip』との同時使用をアシストする機能を組み込みました。
また接続時の不具合対策と利便性向上を行っています。

このアプリはBluetooth通信によりU.F.O. TWの制御を左右別々にも左右同調も左右反転もランダム動作もできるAndroid端末用野良アプリです。
BLEに対応しているBluetoothが使用できるAndroid4.4以上を対象にしておりますが、Android12での実機確認はできていませんので、動かなかったらごめんなさい。

バグ修正

画面オン時に画面タップではなくボタン操作等で停止(ボリューム0)にしても停止しない、というバグについて修正しました。

接続機能改善

U.F.O. TWは従来のデバイスとは少し異なる接続形態になっています。
前バージョンではその対応が不十分で、例えば再接続が機能していなかったため、再接続したい場合は一旦アプリを終了していただく必要がありました。
今バージョンではそこを少し修正しています。

前バージョンのときには先にU.F.O. TWを両方起動して親子関係を確立してからアプリとの接続を行うような手順となっていたのですが、この順序を順不同でOKとなるようにしました。
どの順序で起動しても動きます、多分。

また、うっかり電源ボタンに触れてしまってオフになってしまったなんていうときに再度電源を入れたなんていう場合でも自動で再接続しにいくようにしました。
ただし、当然のことですがアプリ上で接続状態にしていた場合に限ります。

少し技術的なお話をしておきますと、U.F.O. TWでは親子関係の構築ができているかどうかで取得(接続)できるデバイスが変わってきます。
このアプリではデバイス名称でU.F.O. TWかどうかを判定しているのですがそれが「UFO-TW」である場合と「UFO TW」である場合の2通りがあるのです。
そして、1セットのうちのどちらと接続するかでまた場合分けが2パターンありますのでトータルで4パターンの接続種類があることになります。

どのパターンで接続してもU.F.O. TW同士の通信は行ってくれるため、1つの接続で1セット2個のU.F.O. TWを別々にコントロールすることが可能です。(ただし、このアプリと接続した側が入れ替わると左右の動きが入れ替わることにはなってしまいますので、そこが気になる方はアプリと接続する側だけを先に電源を入れてアプリとの接続を確立してからもう一方のU.F.O. TWの電源を入れてU.F.O. TW同士の連携を取らせると良いでしょう。)

また、タイミングの問題などでたまにアプリとの接続はできていないのにU.F.O. TWは接続できている(青色点灯)状態になってしまうことがあります。
これはAndroid端末本体とは接続ができてしまっているという状態です。

こういったケースが発生した場合、今まではBluetoothを一旦オフにしてオンにし直して接続状態を解除してもらってからこのアプリでの接続作業をやり直してもらう必要がありました。

これについて、筆者は今までアプリで知る手段が無いとしていたのですが、どうやら筆者の勘違いにより間違ったAPIを使用していたために取得ができなかったみたいです。すみません。

というわけで、こういった『先にAndroid端末とは接続してしまっているがこのアプリとは接続ができていない』というケースについても拾い上げてこのアプリで接続できるように改修しました。

ただ、この手のイレギュラーケースは意図的に起こすことが難しく、実機テストが十分に行えません。
よって上手く機能しないケースが残っているかも知れません。
逆にとんでもない状況に陥ってどうにもならないので最初からやり直すしかないということもまだ十分に起こりえます。
といいますか、アプリでの完全解決ができないのは従来通りです。(それでも結構いろんなケースで接続を拾えるようにはなりました。)

特にU.F.O. TWでは、Android端末との接続、当アプリとの接続、U.F.O. TW同士での接続が入り乱れますのでタイミングや通信失敗の発生などによってグチャグチャになることもあり得ます。
例えば筆者が遭遇したものとして、片側は当アプリと接続済になって青点灯、もう片側は緑点灯のまま一向に変わらず、でどちらも動かない、という状況に陥ったことがあります。

いずれにせよ、あまり慌ててアレコレと操作しなければ、それほど問題になるケースは発生しないとは思いますので、接続まわりの操作をするときはあまり無茶をしませんように、ということで。
逆に技術的興味がある方は試しにグチャグチャに操作してみても良いかも知れませんが。(故障しても当方は責任持てませんのであしからず)

デバイスの方だけは接続状態になってしまったままどうしてもアプリで接続できないという場合にはすみませんが従来どおり一旦Bluetoothをオフにして接続状態を解除してからやり直すという手順を踏んでください。
また、上記のような『先にAndroid端末とは接続してしまっているがこのアプリとは接続ができていない』というケースを拾い上げてこのアプリで接続した場合、当アプリから接続解除したり当アプリを終了したりしてもAndroid端末本体との接続が残るためU.F.O. TWが電源オフにならずにLED青点灯のままになるかと思いますのでU.F.O. TWの使用を終えたい場合は電源を手動でオフにしてください。(もしくはAndroid端末のBluetoothをオフにするかAndroid端末本体の電源をオフにしてください。)

UfoSaCtrlTripとの同時使用アシスト機能

今回のU.F.O. TW対応では制御周りが今までの対応機器とは似て非なるものとなってしまったために従来のアプリであるUfoSaCtrlTripとの統合が難しく、その他のA10サイクロンSAA10サイクロンSA +PLUS(プラス)バッハスマートROCKET+1D等を同時に使用したい場合はこちらのUfoTwCtrlとUfoSaCtrlTripとを同時起動して使って頂きたいと思います。
そのときの操作補助機能として、メディアボタン連携機能を実装しています。

Androidでは基本的に表に画面が出ているアプリしか操作を受付ません。
ですので、UfoTwCtrlとUfoSaCtrlTripとを同時起動して使う場合はいちいち画面を切り替えて操作する必要があるのですが、例えば同時に停止したいとか同時に動かし始めたい、なんてときには超絶面倒臭いことになりますし同期が取れません。
そこで、今回、どちらの画面が表に来ていても、ボタン類の操作はUfoSaCtrlTripとUfoTwCtrlの両方に反映させるようにしました。

実はこれ、過去にUfoSaCtrlProとUfoSaCtrlDualを公開していたときに実装していたものと同じ仕組みで、当時はこれで最大3台コントロール出来るぜ!って息巻いていたのですが、その後1つのアプリで最大3台まで制御出来るようになったUfoSaCtrlTripを公開したことでこのアプリに収束してお役御免となっていたものです。

UfoSaCtrlProとUfoSaCtrlDualのときには対応出来る機器に差が無く、単に筆者がU.F.O. SA2台を制御したいという目的で開発したUfoSaCtrlDualと、その他のA10サイクロンSAA10サイクロンSA +PLUS(プラス)バッハスマートROCKET+1D等を同時に使用したいケースを考慮して実装していたロジックでした。

対応できるバージョンはUfoSaCtrlTripVer2.10以上とこちらのアプリUfoTwCtrlVer1.10以上の組み合わせのみとなります。
古いバージョンでは連携が働きませんのでご注意ください。
また、連携するのはメディアボタンと呼ばれるボリュームボタンとか音楽再生関連ボタンに限られます。
(100均などでも良く見かけるイヤホン端子に付けるリモコンシャッターは大抵ポリュームアップボタンとして機能します。筆者はこのリモコンシャッターでアプリのボリューム調整をしています。)

リモコンシャッターで両方のアプリのボリューム調整を行っているデモ動画を撮影しました。
ここをクリックorタップするとYoutubeに遷移します。

画面操作まで連携させると完全にワヤクチャになりますので、ボタン類のみの連携です。
動作させる前準備は全て画面操作を個別に行い、ボリューム操作のみを連携させる使い方が想定している使い方です。
なお、ボタン類の操作を連携させるだけですので、例えば連携前のボリュームが各アプリで違った状態になってますと、違ったままボリュームがズレて行くことになりますのでご注意ください。
値を同じにするのではなくてボリュームボタンが押されたという情報を両方のアプリに流す、という連携です。

その他については従来同様ですので、
UfoSaCtrlTrip Ver2.00
UfoSaCtrlTrip Ver1.0
にある説明をご参照ください。
上記の説明はUfoSaCtrlTrip用の説明なんですが、UfoTwCtrlでもノリは同じです。

ここから下の説明は『UfoTwCtrl V1.0 U.F.O. TWをBluetoothで左右独立ランダム制御するアプリ』の丸コピーですので、使用方法をご存知の方は飛ばしてください。

使用方法

まずは普通にU.F.O. TWを左右とも起動させて、片方が緑点灯、もう片方が緑点滅という状態にしてください。
それからこのアプリの「Connect」ボタンをタップしてください。(ここが順不同になったのは上記のとおりです)

UfoTW-027.png

接続できると「UFO-TW」の文字が出ます。
また、U.F.O. TW本体はどちらも青点灯になります。

接続は1つ分だけですが、パターンは左右別で選べるようにしています。(といいますか、緑点灯だった方が接続されて上のパターンが適用に、緑点滅の方が下のパターンが適用されると思いますがゴメンちゃんと確認してない逆かもしれない。けど、左右って言ってけど実際は親子、点灯側だったか点滅側だったかで決まるはずです。)
また、同期・反転・複合などを選べるのもUfoSaCtrlTripと同じです。
ランダムパターンも固定パターンも自由に変更出来ますし、どちらも複数書けるのも同じです。

一旦接続をして動作させた後、接続を切るとU.F.O. TW本体の電源もOffになります。

筆者はこれからこの版を元にチクニー実践使用しながらチューニングやバグ取りをやっていくつもりでいますが、かなり時間が掛かると思いますので、それまでの間はこちらのバージョンでよろしくお願い致します。
致命的もしくは重要なバグが見つかった場合にはバグ修正を優先したいと思います。

動作デモ動画を撮りました。
ここをクリックorタップするとYoutubeに遷移します。

ダウンロードファイル

勝手な再配布はしないでください。
特に、うちのサイトは弱小なので、検索で上位に表示されるサイトに勝手にコピーされると、盗まれたのとほぼ同じ状況に陥ります。
何かしらの問題が発覚して、こちらのサイトでファイルを差し替えても、それが皆さんの元には反映されなくなることにも繋がります。

諸事情によりアプリの無料配布を終了致しました。
今後は活動を支援してくださる方とのみ細細と共有していければと思います。

今後のUfoCtrlアプリ配布ページはこちらです。
UfoCtrl Ver1.00 (UfoCtrl開発活動支援プラン)

ブログに無理矢理載せている都合上、ちょっと特殊なダウンロード形式にしているので、Androidの標準ブラウザではダウンロードに失敗するかもしれません。Chromeなら大丈夫みたい。ブラウザをある程度選んでしまうようです。ご了承ください。

アップデートインストール後に動作がおかしくなった場合は再起動してみてください。
それでもおかしい場合はキャッシュのクリアや一旦アンインストールしてからインストールし直してみてください。
その際、設定を書き換えている方はその設定が消えてしまいますので、操作をする前に設定の退避(テキストファイルなどに移して保存)をしてください。

最後に

アダルドグッズや同人コンテンツなどをご購入の際にはこのサイトのリンクを踏んでから購入していただけると、いくばくかの紹介料をいただけるので筆者が大変助かります。(リンクは1回でOK。また、リンクと異なる製品の購入でもOKです。)
筆者の作成コンテンツやアプリなどが役に立ったとか面白かったとか、ありましたら応援していただけると幸いです。

2022-02-02

コメント

No title 7743 [2022-03-13 10:14]

いつも活用させてもらってます。
スピード調整について、現在3段階で調整が可能だと思いますが、追加で超低速モードがあるといいなぁなんて思ってます。
この辺りの感度についてら個人差あると思いますが。

ある程度プログラムに理解のある方は自分自身でカスタマイズ可能なのかと思いますが、私はかなり疎い方で、、
いつもアップデートがあるたびに目を通してるのですが、元々業界が違うためついていくのに精一杯です。

不都合なければご検討されている実装項目のうちの一つに入れていただければ幸いです。

Re: No title 山牧田 湧進 [2022-03-13 14:40]

超低速モードについてはできれば他の方のご意見もお伺いしたいところです。

元より今現在の初期設定値は筆者が実際に使用開始する前に想像で適当に決めた値であり、長く使用していく中で最適化の余地がまだあるとは思っています。
(筆者は相変わらずボリューム1でしか使っていないのですが。)

初期設定値に関してもうちょっとこうだったらなあ、というご意見がございましたらお手数お掛けしてすみませんがお伝えいただけると幸いです。
ちなみに、モード追加というよりはまずは3段階の初期値の調整という方向で検討したいと思っています。
理由はモード追加をするとUfoSaCtrlTripとの仕様の剥離が大きくなりより一層仕様の理解が困難になるのでできれば避けたいからです。

よろしくおねがい致します。

この記事のタグ

U.F.O.

TW

アプリ

制御

自作