PyCharmでmicropythonを開発する


M5Stackで開発を始めたわけですが、micropythonを書くのにPyCharmを使って、実行するのにampyを利用していました。

私は普段Pythonを書くときにPyCharmを使っていてできればmicropythonもPyCharmで書きたいなと思っていたところ公式のブログで紹介されていました。

[jetbrainsのブログ](https://blog.jetbrains.com/pycharm/2018/01/micropython-plugin-for-pycharm/)で紹介されたプラグインの紹介になるので、この記事でわからないことがあったら参照してみてください。


# インストール
IntelliJ系でよくあるプラグインのインストールと一緒です。
設定画面を開き、pluginsを探し、Browse repositoriesを選びます。
![plugins.png](https://qiita-image-store.s3.amazonaws.com/0/12680/94e39885-8917-7e10-37ab-5883d4e4eca0.png "plugins.png")

検索バーにMicroPythonと打ち込んでみるとpluginが表示されるのでそれをインストールします。

![スクリーンショット 2018-10-10 0.38.01.png](https://qiita-image-store.s3.amazonaws.com/0/12680/876114fb-da50-e796-12ec-103e2fe2111c.png "スクリーンショット 2018-10-10 0.38.01.png")

PyCharmを再起動するか聞かれるので再起動します。
するとLanguages & Frameworks内にMicroPythonが追加されます。

![スクリーンショット 2018-10-10 0.39.22.png](https://qiita-image-store.s3.amazonaws.com/0/12680/80b747d9-3e1e-aa83-9fb0-d6da67c09c48.png "スクリーンショット 2018-10-10 0.39.22.png")

Enable MicroPython Supportにチェックを入れて、Deviceの位置を指定します。
この状態でインストールが完了です。

# 使い方
## REPLを使いたい
![スクリーンショット 2018-10-10 0.47.04.png](https://qiita-image-store.s3.amazonaws.com/0/12680/3c76ed4d-c6da-89a6-aecf-b6aa084df10d.png "スクリーンショット 2018-10-10 0.47.04.png")
Tools タブの中にMicroPythonメニューが追加されています。その中にあるMicroPython REPLというそのものがあるので選択します。

するとターミナルにMicroPythonのREPL実行されます。


![スクリーンショット 2018-10-10 0.39.02.png](https://qiita-image-store.s3.amazonaws.com/0/12680/66acbba3-6f1f-8804-9392-2bd9e1062fbb.png "スクリーンショット 2018-10-10 0.39.02.png")

こんな感じで使えます。

## 作成したプログラムを書き込む

REPLが使えるようになりましたが、今度は実際に書いたプログラムをM5Stackで実行できるように設定していきたいと思います。

![スクリーンショット 2018-10-10 0.51.53.png](https://qiita-image-store.s3.amazonaws.com/0/12680/e335a1b6-4430-aa71-6e8c-f1b6993ad56c.png "スクリーンショット 2018-10-10 0.51.53.png")

Run タブから Edit Configurationsを選択します。左上の+ボタンを押してMicroPythonを選択します。

![スクリーンショット 2018-10-10 0.54.18.png](https://qiita-image-store.s3.amazonaws.com/0/12680/00bdbd5c-40a2-b6c5-7164-a310e271cbb7.png "スクリーンショット 2018-10-10 0.54.18.png")

表示されたウィンドウでNameに名前をいれて、Pathにプログラムのフルパスを入れます。Errorが発生していますが、こちら本名丸出しなユーザ名を書き換えて存在しないディレクトリを指定しちゃってるせいです。

![スクリーンショット 2018-10-10 0.54.34.png](https://qiita-image-store.s3.amazonaws.com/0/12680/8aa00f6c-22ca-6aa4-113b-88a37bbec6e3.png "スクリーンショット 2018-10-10 0.54.34.png")

pathはちょっと特殊でディレクトリで止めるとその配下のプログラムすべてがM5Stackにロードされるので注意しましょう。

個別にファイルを転送したいときなど、例えばmain.pyだけを配置したい場合は以下の様にすれば良いです。

![スクリーンショット 2018-10-10 0.58.10.png](https://qiita-image-store.s3.amazonaws.com/0/12680/423927ca-98d4-37ba-f5f1-1b4083bc7d68.png "スクリーンショット 2018-10-10 0.58.10.png")

![スクリーンショット 2018-10-10 0.59.47.png](https://qiita-image-store.s3.amazonaws.com/0/12680/8af9b3de-97ab-6da7-14be-71a5b1b473f8.png "スクリーンショット 2018-10-10 0.59.47.png")

設定を選択して実行すると以下のような結果が得られます。メッセージを見るとわかるのですが自動でRebootまでしてくれるのでampy使ってた時に、うっかりsdを何度もマウントしてしまってバグるみたいなことがなくなります。

```
/Users/kk2170/PycharmProjects/m5stack_project/venv/bin/python "/Users/kk2170/Library/Application Support/PyCharm2017.3/intellij-micropython/scripts/microupload.py" -C /Users/kk2170/PycharmProjects/m5stack_project -v /dev/cu.SLAB_USBtoUART /Users/kk2170/PycharmProjects/m5stack_project/main.py
Connecting to /dev/cu.SLAB_USBtoUART
Uploading files: 0% (0/1)
/Users/kk2170/PycharmProjects/m5stack_project/main.py -> main.py
Uploading files: 100% (1/1)
Soft reboot
```

# まとめ
 PyCharmで開発が出来るようになったのですが、やっぱり慣れしたしんだ環境というのは新しい事を始めるときに大いに役立つのだなと思いました。