見出し画像

Poke-Controller②環境構築・インストール

最新情報について

最新情報は今後以下のPoke-Controller Guideにまとめていくので、導入方法など含め、こちらのサイトを優先してご覧ください。

https://pokecontroller.info/

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

今回は、環境の構築とインストールまで説明していきます。機材の準備は前の記事をご覧ください。

また、本記事の内容は、GitHubに書かれている内容を丁寧にStep by Step書いている初学者向けのものになっております。詳しい内容は、下記リンクのGitHubをご覧ください。

また、GitHubには安定版の案内がありますが、今後開発された環境に合わせていくためにAnaconda Pronptから実行環境を整える方が有用かと考え、本記事ではそちらを紹介します。


- Poke Controllerのダウンロード -

1.GitHubのPoke-Controllerのトップページにアクセスします。

2.「Code」と書いてあるボタンをクリックし、「Download ZIP」をして圧縮されたファイルをダウンロードします。

スクリーンショット 2020-12-19 21.07.59

3.ダウンロード後、zipファイルを「右クリック→すべて展開」をクリックし、解凍します。

4.使いやすい場所にフォルダを移動させておきます。

本記事では、デスクトップ上にフォルダを設置し、「Poke-Controller」とフォルダ名を変更して説明していきます。フォルダは、画像のようにダブルクリックした後に中のファイルが見れる構造にしておくと使いやすいでしょう。

スクリーンショット 2020-12-19 23.53.29

参考までに...
解凍したままだと「Poke-Controller-master>Poke-Controller-master>ファイルがいっぱい入ってる」という階層構造になってるはずなので、1.「Poke-Controller-master>ファイルがいっぱい入ってる」の部分だけをデスクトップへ移動。
2.Poke-Controller-masterのフォルダ名を「Poke-Controller」にする。
これで同じファイル構造になるはずです。


- 環境構築 -

ここの項目では、プログラミング言語のPythonを仮想環境上で実行可能な環境を整えていきます。

1.Anacondaのインストール

Anacondaは、Pythonを実行するための環境を設定済みで配布しているパッケージだと思ってもらえると良いです。

下記のリンクより、Anacondaをダウンロードします。

特殊な環境下でなければ、Windows10は64bitで動かされているはずなので、「64-Bit Graphical Installer」をダウンロードし、インストールすると良いです。(筆者は、Python3.8のバージョンの最新版で実行しました。2020.12.19時点)

スクリーンショット 2020-12-19 21.16.54


2.Anaconda Pronptを立ち上げる

Anacondaのパッケージのインストールが完了すると、Windowsの検索窓から、「Anaconda Pronpt」を探すことができます。

スクリーンショット 2020-12-19 14.34.00

ここからは、コマンドを入力で進めていきます。
コードは、コピペでも進めていけますが、フォルダの位置などには注意してください。

3.仮想環境を作り、名前をつける

立ち上がったAnaconda Pronptに以下を入力し、Enterを押します。

conda create -n [任意の環境名] python=3.6

今回は、PokeConと名前のついた仮想環境を準備してみようと思ったので、例では、[任意の名前]を PokeCon にして、以下を入力しました。

conda create -n PokeCon python=3.6


スクリーンショット 2020-12-19 14.36.19

また、pythonのバージョンは、3.6でないと動かないものがあるため、末尾に「python=3.6」でバージョンの指定をしています。


4.Enterを押して進むと、続行(Proceed)するかをきかれます。

スクリーンショット 2020-12-19 14.36.48

5. 続行に同意します。

y を入力し、Enterを押します。

スクリーンショット 2020-12-19 14.36.56

([y]/n)?は、Yes or Noの意味です。

6.フォルダが完成すると以下のように表示されます。

スクリーンショット 2020-12-19 14.37.15

書かれている内容は、仮想環境の立ち上げ方と、閉じかたです。

7.仮想環境を立ち上げてみる

conda activate [任意の環境名] で仮想環境が立ち上がるので、下記を入力し、Enterを押します。

conda activate PokeCon

スクリーンショット 2020-12-19 14.40.15


8. 仮想環境が立ち上がり、(base)が(任意の仮想環境名)になってれば成功です

スクリーンショット 2020-12-19 14.40.29

9.必要な環境のインストール

ここからは、必要な環境をインストールしていきます。仮想環境から離脱せず、そのまま進めていきます。

①OpenCV

画像処理のフレームワークである「OpenCV」をインストールします。

pip install opencv-python

スクリーンショット 2020-12-19 14.42.14

自動的にインストールが進み、以下のように表示されます。

スクリーンショット 2020-12-19 14.42.41

②pynputのインストール

pythonの環境で、マウスやキーボードの入力を検知・取得するパッケージの「pynput」をインストールします。

pip install pynput

スクリーンショット 2020-12-19 14.43.24

③pySerialのインストール

pythonの環境で、シリアル通信をするためのパッケージ「pySerial」をインストールします。

conda install pyserial

スクリーンショット 2020-12-19 14.43.51

先ほどと違い、Proceed([y]/n)?と聞かれるので、 y を入力し、Enter

スクリーンショット 2020-12-19 14.44.27

ダウンロードが進み、完了します。

④PIL(Python Imaging Library)のインストール

Python用の画像処理ライブラリをインストールします。OpenCVとは、形式が異なるものになります。同じく、Proceedを聞かれるので、yと答えます。

conda install Pillow

スクリーンショット 2020-12-19 14.45.10

⑤pythonnetのインストール

pythonから.NETを呼び出すフレームワークの「pythonnet」をインストールします。(Poke-ControllerではGUIをC#で作ってるのでしょうか...?)

同じく、Proceedを聞かれるので、yと答えます。

conda install -c pythonnet pythonnet

スクリーンショット 2020-12-19 14.45.54

10.ここまできたら、一旦Anaconda Pronptを閉じる

※本当は閉じなくても良いんだけど、PokeContollerの起動の手順を汎用的にするために形式的に閉じて説明します。


- マイコンをUSBデバイスに書き換える -

PokeController内のATmega16U2用のhexファイルをバッチファイルにしました。マイコンをDFUモードに移行し、解凍後にBAT_JoyStickをクリックしてもらえれば書き込みができるはずです。

DFUモードなどの手順が不明な方は、過去記事をご覧ください。


- 各種機器を接続する -

スクリーンショット 2020-12-19 23.15.37

上記のような機器構成を目指して接続してください。

USBシリアル通信とATMega16U2のジャンパワイヤでの接続は2箇所です。①(ATmega16U2)[GND] - [GND](USBシリアル)
②(ATmega16U2)[TX→1] - [TX](USBシリアル)

GNDは、基本電位の位置なので、マイコンのどこでも大丈夫です。

画像19

(デスクの上汚くてすみません...。)


- Poke-Controllerの起動 -

いよいよ、Poke-Controllerを起動します。

1.仮想環境の立ち上げ

Anaconda Pronptを開き、仮想環境を立ち上げます。

conda activate [任意の環境名]で立ち上がるので、以下のように入力し、Enterを押しました。

conda activate PokeCon

スクリーンショット 2020-12-19 14.55.25

(base)が(PokeCon)に変わります。

2.起動のファイルの場所までコマンドを使って移動

フォルダの置き方によって変わるので、置き換えて書き込んでください。
Poke-Controllerの起動ファイルは、「SerialController内のWindow.py」です。

a.フォルダの場所を確認する

PokeControllerのフォルダを右クリック→プロパティ を押すと以下のような画面が出るので場所がわかります。デスクトップ上だとこんな感じ。

スクリーンショット 2020-12-19 14.56.51

b.SerialControllerフォルダの場所を確認する

Poke-Controllerフォルダ内に、SerialControllerがあることを確認します。

スクリーンショット 2020-12-19 15.01.46

c.Anaconda Pronptからcdコマンドを使って移動します。

Anaconda Pronptに以下を入力します。
(デスクトップ>PokeController>SerialControlleというフォルダの階層になっている場合の入力です。)

cd Desktop¥Poke-Controller¥SerialController

スクリーンショット 2020-12-19 21.58.25

これで、PokeControllerのSerialControllerのフォルダ内に入ります。

やらなくても大丈夫ですが、自分の居場所を確認する場合は、dir を入力し、Enterを押すと現在のディレクトリ内の情報が見られます。

スクリーンショット 2020-12-19 15.06.03

※Gitからおとしたまんまだと、cd Desktop¥Poke-Controller-master¥Poke-Controller-master¥SerialController とかかもしれません。フォルダの位置は各自確認ください。

コマンドについての説明:
cd:カレントディレクトリを変更するコマンド。フォルダ移動に使います。
dir:ディレクトリ内のファイルなどを参照します。

※コマンドプロンプトの使い方について、慣れない方が多いようなので補足記事を書きました。わからない方はこちらを見て操作を確認してみてください。


3.Poke-Controllerの実行

Serial Controllerフォルダ内の「Window.py」を起動させます。以下を入力し、Enterを押します。

python Window.py

スクリーンショット 2020-12-19 22.05.50

4.起動!!!

こんな感じで立ち上がるはずです!
(もしかすると、画面やシリアルポートのエラーは出ていないかも?)

スクリーンショット 2020-12-19 22.08.11


- PokeController内の設定 -

入力の情報を設定していきます。

1.カメラの設定

キャプチャーボードを読み込むためのものです。「Reload Cam」を入力すると多くの場合、キャプチャーボードを認識するはずです。

2.USBポートの確認

正しい確認方法は、Windowsの検索窓から、デバイスマネージャーを検索し、USBデバイスのCOMポートを確認し、それを入力します。
ただ、デバイスマネージャーから確認しても良いですが、1-4あたりの数字を入れてリロードすれば、接続できるはずです。←


- 動作の確認 -

最後に問題なく動作しているかの確認をしてみましょう。

下部の「Controller」ボタンを押し、シミュレーターを立ち上げます。Aで話しかけたり、Xを押してメニューを開けるかなど確認をしてみてください。

スクリーンショット 2020-12-19 22.10.43


以上でインストールと起動までの説明は終わりになります!

おつかれさまでした!!!


ここまでの手順で動作しない場合は、接続不良やエラーが右側のウインドウに出ていたりするはずなので、そちらを確認ください。


この記事が参考になったら、Twitterのフォロー、noteのスキなど是非お願いします!めーっちゃ助かった!って方は、サポートも是非!

Twitter: https://twitter.com/junky_poke_


たまに発生する事象

◎ numpyのインストールエラー
→python Window.pyの実行時に、Import Error: numpy.core...とでていたら、仮想環境の状態で、再インストールすると解決する場合があります。

アンインストール
 pip uninstall numpy
インストール
 pip install numpy==1.19.3

◎ USBシリアル変換のドライバがインストールされていない

下記のFTDIのサイトから、該当のドライバをインストールすると解決する場合があります。

下記の「setup excutable」にドライバの更新用のexeファイルが入っているはずです。

スクリーンショット 2021-06-29 21.20.05


この記事が気に入ったらサポートをしてみませんか?