一時間おきに手動で再接続する必要があり、Botとしてのパフォーマンスが大幅に低下する
ここではiOSのスイッチコントロール機能を用いて再接続の自動化を実現する
GoPlusの再接続の自動化
再接続の自動化には以下の3つの制御が必要になる1.GoPlusの切断を検知すること
2.GoPlusのボタンを押すこと
3.クライアント画面上のGoPlusボタンを押すこと
GoPlusの切断を検知する
GoPlusの振動モータ信号をマイコン等で監視することで切断を検知できる(GoPlusが接続された状態でBOTが動作していた場合、定期的に振動するため)
モータ停止中はほぼ0V
モータ振動中は3V程度の電圧が印加される
100msec程度の周期でモータ信号をチェックし、一定時間の連続停止を切断と判定する
LED信号の監視の方が好ましいが、配線の引き出し難易度が高すぎて断念した
GoPlusのボタンを押す
リレーなどでボタンを押せばよい配線の引き出しは自動化改造時を参照
ボタンの配線をGNDに落とせばボタンを押した状態と等価になる
プロトタイプ/ArduinoのXBeeシールドを流用 |
クライアント画面上のGoPlusボタンを押す
iOSのスイッチコントロールを使用する外部スイッチとしてRN42をHIDキーボードモードで使用する
マイコンとRN42をシリアル接続し、マイコン側から打鍵情報をRN42に転送する
参考メモ1
参考メモ2
スイッチコントロールのレシピには以下2つの連続操作を登録
・速度警告ウィンドウのボタン位置をタップ
・GoPlusアイコンボタン位置をタップ
速度警告ウィンドウへの対策を入れる所がポイント
一度表示されると『私は運転者ではありません』ボタンを押すまで閉じないため
この状態でGoPlusアイコンボタン位置をタップしても無効
GoPlusアイコンに被るのでウィンドウを消す必要がある |
結果と問題点
GoPlusを用いたBotの一時間の壁を突破することに成功した
問題は誤タップによる画面遷移に対応できないこと
速度警告ウィンドウへのタップでジムなどを誤タップしてしまう場合がある
この場合はジム画面から抜け出せなくなる
0 件のコメント:
コメントを投稿