MicroPythonの動くハード、増加中
MicroPythonが動くハードは、Pyboardにはじまり、Pyboard互換品であるElecrowのCrow Pyboard、STM32(ARM Cortex-M)、ESP8266、ESP32、micro:bitなどなど拡がりつつあります。
さらに、ここに来て、ラズパイPico登場。一気に注目度が上がると思われます。
Raspberry Pi Pico 登場! RP2040関連リソースまとめ
MicroPythonの開発環境の紹介
一応、Macで、ESP32が中心ですが、それほど特殊性はありません。WindowsでラズパイPico、でもほぼ同じ。ラズパイPico対応は急速に進むはず。
まず、やりたいことベースで分解。
- 有線(USBーシリアル)接続
- 無線(WiFi / Bluetooth)接続
- REPLでコード実行(ターミナルアプリ、コマンド)
- REPLでコード実行(JupyterNotebookのカーネル)
- エディターでファイル編集
- ファイル編集時の入力補完、アシスト
- ファイル実行
- デバッガー実行
- ファイルマネジメント(リスト、アップロード/ダウンロード)
まぁ、最低限で考えると、(1)有線でつないで、(3)ターミナルコマンドでREPL実行、(9)ツールでファイルのアップロードがとりあえずできれば。
これは以前、記事に書きました。MacでESP32のLチカ(MicroPython/ターミナル版)
調べてみると、色々な手法があり、どんどん便利になっています。リモート開発全体が進化しているので、その流れですね。
上述の機能を満たすものとして、こんな材料があります。
-
iterm(iterm2) + screenコマンド
-
有線接続
-
unixアプリ/コマンド
-
VS Code
-
コード編集、入力補完
-
Microsoft製、統合開発環境
-
pyMakr
-
有線接続、~~無線接続~~、REPL実行
-
VS Codeの拡張機能、javascript、nodejs 6.9.5以上が必要。
-
https://marketplace.visualstudio.com/items?itemName=pycom.Pymakr
-
https://github.com/pycom/pymakr-vsc
-
JupyterNotebookのMicroPythonカーネル jupyter_upydevice_kernel
-
有線接続、無線接続、REPL実行
-
Python製
-
https://github.com/Carglglz/jupyter_upydevice_kernel
-
micropy-cli
-
VS Code用、コード入力補完の環境整備
-
Python製
-
https://github.com/BradenM/micropy-cli
-
Adafruit ampy
-
有線接続、ファイルマネジメント
-
Python製ツール(古い)
-
https://pypi.org/project/adafruit-ampy/
-
rshell
-
有線接続、ファイルマネジメント
-
REPL、ファイル編集(外部)
-
Python製ツール
-
https://github.com/dhylands/rshell
-
uPyFile
-
有線接続、ファイルマネジメント
-
Python製ツール(新しい、けどまだ実験中)
-
https://github.com/AwesomeCronk/uPyFile
-
uPydev
-
無線接続、ファイルマネジメント
-
Python製ツール
-
https://github.com/Carglglz/upydev
-
Thonny
-
Pythonビギナー向け統合開発環境
-
有線接続、ファイルマネジメント、コード編集、入力補完、コード実行
-
無線接続(webREPLは実験中)
-
Mac, Linux, Winアプリ、オープンソース
-
https://thonny.org
-
mu-editor
-
最近、アップデートが遅い。
-
micro:bitモード、ESP32モードが有る。けど、使い勝手悪し。
で、どれがオススメ??
Thonnyだと、単体で完結します。ラズパイPicoでも正式ツールとして対応済みなので、今後の見込みあり。
ですが、オススメは、VS Code + pyMakr + micropy-cli
(+ jupyter_upydevice_kernelでJupyter Notebook)
(+ ターミナル窓でampy、uPydev、esp-tool.pyなど)
VS CodeがJupyterサーバーを内蔵したのでとても良い感じです。
追って詳細記事を上げます。