今回は、下記 腹腹開発 のサイトを参考にELECOM Wireress GamePadを使ってみる。
https://github.com/coolerking/donkeypart_game_controller
結果的に失敗なので、記録として残す。
インストール
- Raspberry Pi にターミナル接続します。
- 以下のコマンドを実行して、前提パッケージ
donkeypart_bluetooth_game_controller
をインストールします。cd git clone https://github.com/autorope/donkeypart_bluetooth_game_controller.git cd donkeypart_bluetooth_game_controller pip install -e .
- 以下のコマンドを実行して、本リポジトリをcloneします。
cd git clone https://github.com/coolerking/donkeypart_game_controller.git
- 以下のコマンドを実行して、必要なファイルを
~/mycar/elecom
(ELECOM JC-U3912Tの場合)へコピーします。mkdir ~/mycar/elecom cp ~/donkeypart_game_controller/elecom/* ~/mycar/elecom/
~/mycar/manage.py
を、以下のように編集します(ELECOM JC-U3912Tの場合)。- Raspberry Piをシャットダウンします。
- コントローラ同梱のUSBドングルをRaspberry Piに刺します。
- Raspberry Piを再起動します。
#ctr = get_js_controller(cfg) from elecom import JoystickController ctr = JoystickController()
キー割り当ての変更
Logicool製品の場合は logicool/part.py
、Elecom製品の場合は elecom/part.py
上の各 JoystickController
クラス上のインスタンス変数 self.func_map
を編集することで、ジョイスティックのキーの割当機能を変更できます。
とりあえず試したいので、キー割り当ての変更が後回しする。
実行(手動/自動運転)
- 以下のコマンドを実行して、ジョイスティックを使った手動運転を開始します。
cd ~/mycar # JC-U3912Tのデフォルト設定の場合"4"ボタンで運転モードを切り替え python manage.py drive --js
(env) pi@donkeypi3chen02:~/mycar $ python manage.py drive --js using donkey v3.1.0 ... loading config file: /home/pi/mycar/config.py loading personal config over-rides config loaded cfg.CAMERA_TYPE PICAM cfg.CAMERA_TYPE PICAM PiCamera loaded.. .warming camera Adding part PiCamera. /home/pi/donkeypart_bluetooth_game_controller/donkeypart_bluetooth_game_controller/part.py:101: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details. config = yaml.load(f) Device matching 'nintendo' couldn't be found. Trying again in 3 seconds. Device matching 'nintendo' couldn't be found. Trying again in 3 seconds. Device matching 'nintendo' couldn't be found. Trying again in 3 seconds. Device matching 'nintendo' couldn't be found. Trying again in 3 seconds. Device matching 'nintendo' couldn't be found. Trying again in 3 seconds. Device matching 'nintendo' couldn't be found. Trying again in 3 seconds. Device matching 'nintendo' couldn't be found. Trying again in 3 seconds. Device matching 'nintendo' couldn't be found. Trying again in 3 seconds. Device matching 'nintendo' couldn't be found. Trying again in 3 seconds. Device matching 'nintendo' couldn't be found. Trying again in 3 seconds.
結果は、上記の文字が繰り返し、なんてnintendoだね!!!