Poke Controllerの使い方 - KawaSwitch/Poke-Controller GitHub Wiki
Poke-Controllerを動かすまでの準備と各種機能について説明します
不明点があればお気軽にIssueまで
以下のいずれかの方法で行えます
<直接ダウンロード>
-
安定版
リリースページからAssets内のPoke-Controller.zipを取得
zipファイルを解凍しておいてください
こちらを選択した場合はpythonの環境構築が不要なので本手順の4番へ
Windows OSの場合, かつ最新版の取得が必要でない場合はこちらがお勧めです
※Windows OSでない場合はAssets内のSource code.zipを取得して本手順の2番へ -
最新版
ホームから以下のように取得
<git使用>
gitのcloneコマンドを用いてクローンする
git clone https://github.com/KawaSwitch/Poke-Controller.git
自分で.hexファイルを作成する場合はこちら
clone時に--recursiveを付与することでmake用のLUFAが付いてきます
git clone --recursive https://github.com/KawaSwitch/Poke-Controller.git
もしくは自分でリポジトリから最新版なりを配置
更新の取得
git pull origin master
python3を実行するための環境が必要になります
ここではWindows10とAnacondaを用いる方法を示します(別OSは調べるかIssueへ)
あくまで一例で他にも色々な環境の作り方がありますので気になる方は変えても大丈夫です
1: Anacondaをインストール
ここから3.7の方を選択してダウンロード→インストール
2: 下記画像のようにアプリを検索し"Anaconda Prompt"を開く
3: Anaconda上にpython3の仮想環境を作成する
conda create -n [name] python=3.6
バージョン3.6でしか動かないパッケージがあるので指定
[name]の部分は好きな仮想環境名に変更
conda activate [name]
作成した仮想環境へ移動する
実行後に一番左の(base)が([name])と変わっていれば成功です
Anaconda Promptを開いたまま次のように実行しすべてインストールする
([Y/n]のように聞かれたらYを入力してエンターか, そのままエンターを押す)
pip install opencv-python
(OpenCV)
pip install pynput
(pynput)
conda install pyserial
(pyserial)
conda install Pillow
(PIL)
Windowsのみ
conda install -c pythonnet pythonnet
(pythonnet)
用意したマイコンをSwitchのコントローラとして認識させます
別途記事を用意していますのでこちらを参考に進めてください
→ マイコンをUSBデバイスとして設定する
※手順1で安定版を取得した方はPoke-Controller/SerialController/Window.exeから実行できます
Window.pyというファイルを実行することでウィンドウが開きます
cd [Poke-Controllerまでのパス]\Poke-Controller\SerialController
Poke-Controller/SerialControllerまで移動
python Window.py
実行. これでウィンドウが開けば問題なしです
Windows 10 例
Ubuntu 18.04 LTS 例
PC側のCOMポート番号の確認をし, Poke-Controller側へ番号を設定する必要があります
こちらの記事で説明していますので参照して設定を行ってください
→ Switchをシリアル通信で動かす
コマンドの実行やキーボードでのコントローラ操作で動作確認をしてください
これらを含めた機能の概要は下記の「各種機能」にて説明しています
いくつか代表的なQ&Aはこちら
解決済みIssueも参考にしてみてください
それでも分からなければIssueへ投稿してください
備わっている各種機能について簡単に説明します
画像は適宜追加するかもしれません
-
キャプチャ機能
-
カメラ指定
カメラが接続されている場合, "Camera"欄にキャプチャ映像が映し出されます
実行後にカメラを変更する場合は隣の"Reload Cam"ボタンを押してくださいWindowsOSではカメラ名, それ以外のOSではカメラIDを直接指定します
ただしWindowsでも一部環境でカメラ名を指定できないことがあります(Issue #7) -
キャプチャ映像の表示/停止
"Show Realtime"のチェックボックスのオン/オフで操作
オフでも画像認識は使用できます -
画面の静止画キャプチャ機能
現在表示しているフレームのキャプチャを撮影しPoke-Controllerディレクトリ化に保存します
内部の画像認識で用いる解像度(1280×720)と同じ解像度で保存します -
FPS変更
表示されているキャプチャ映像の滑らかさを指定できます
現在は15, 30, 45(fps)から選択可能です -
スクリーン座標の表示
キャプチャ映像上でマウスの左ボタンを押下すると押下位置の座標がログに表示されます
showは表示解像度での座標, captureはキャプチャ画像/画像認識での解像度です
-
-
シリアル通信設定
-
設定値の保存
Poke-Controlelrの正常終了時に次の設定値が保存され, 次回起動時に自動で設定されます- Camera ID
- FPS
- COM Port番号(正常に接続できた場合)
- Show Realtime / Show Serial / Use Keyboard のチェック状態
現在は以上の設定値のみ
-
コントローラ機能
-
キーボードのコントローラ化
"Use Keyboard"チェックボックスのオン/オフで切り替え
オンの時にはReadme.mdの"コントローラ"欄に記述したキーバインドでのSwitchの操作が可能 -
コントローラGUIの表示
"Controller"ボタン押下でコントローラ画面が開き, ボタン操作でSwitchの操作ができます
現在はGUIでのスティック入力の長押しには対応していません
-
-
コマンド実行機能
あらかじめ用意されたコマンドor自分で追加したコマンドを選択して実行できます-
MCU実行
MCU用に書かれたコマンドを実行
"Start"ボタンを押した後はシリアル通信なしでも動きます
ver1.0では一応追加はできますが非推奨で, 後のバージョンでこの辺りを整えていくつもりです -
Python実行
Pythonでシリアル通信用に書かれたコマンドを実行
デフォルトのコマンドの概要はこちら
コマンドの追加方法などはこちらに記載しています -
Utility実行
少し操作を楽にする程度のコマンドを置いています
デフォルトではコントローラ画面用のコントローラ接続/解除が実行できます -
コマンドのReload
ReloadボタンでPoke-Controllerを終了することなくコードの変更を適用できます
コマンド作成時の調整などに便利な機能です(PR #11)
-
-
ログ表示
押下判定のあったボタン/コマンド内でprintされた内容を表示します
追加や変更があった場合はこちらも編集しますのでご了承ください
疑問点や記載の仕様と異なる点, また追加/変更要望などあればお気軽にIssueまでお願いします