ラズパイPicoのMicroPythonを使うにあたって頼り切ってきたものにThonny IDEがあります。ふれこみでは「初心者向けのPythonのIDE」であると。しかしこのツール、ラズパイPicoに限らず、マイコン上でMicroPythonを使うときの友というべきものじゃないかと思います。本日、これを使ってM5 ATOM LiteをMicroPython化、まさに一撃。
※「MicroPython的午睡」投稿順 Indexはこちら
まずは実際にM5Stack社のとても小さなWiFiデバイス ATOM LiteをThonny IDEを使ってMicroPython化するステップからご覧いただきましょう。今回はPC上のThonny使っていますが、他OSでも基本は同じじゃないかと思います。
Thonnyを立ち上げたら「ツール」メニューから「Option」を選択し、「インタプリタ」タブを開きます。インタプリタを選択するためのプルダウンメニューを引き出せばこんな感じです。
Thonnyは、汎用のPythonIDEであるので、当然ローカル環境(PC)で走っているPythonのスクリプト開発にも使えるのです。「普通のPython」のIDEとしては「初心者向け」かも。しかし注目はMicroPythonのサポートです。上記のように大変充実しています。上記では、直前にRaspberry Pi PicoのMicroPythonのスクリプトを書くためにThonnyを使っていたのでPicoが選択されています。これをESP32に切り替えてみます。ターゲットのデバイスであるM5 ATOM Lite(ESP32コア搭載)は既にPCのUSBに接続済。Thonnyはそれらしい仮想シリアルポートを直ぐに見つけるので手動での選択は不要でした。
既にデバイスにMicroPythonをインストール済で、ラズパイPicoからM5 ATOM Liteに切り替えるのであれば、ここでOK押せば完了です。しかし、今回はまだMicroPython化されていないATOM LiteをUSBに接続しています。そこで上記のウインドウの右下の方にある Install or update firmwareというリンクを押します。
するとESP32用のインストーラが開くので、Browseボタンからインストールするバイナリを指定してあげます。流石に勝手にダウンロードしてくれることまではしないです(MicroPythonのバイナリ配布元のサイトを見るとわかりますが、種類、バージョンが異なる多数のバイナリが並んでいるので、自分の要望に合ったものを選択してダウンロードしておかないとなりません。)
後は、インストール・ボタン(上の画面キャプチャでは「インストー」の末尾の「ル」が半分ですが)を押せば、フラッシュがクリアされ、バイナリが書き込まれ、即座に使用可能な状態となります。こんな感じ。
いやあ、とっても楽です。だいたいMicroPythonのインストール(アップデート)手順は簡単ではあるのです。しかし、ターゲットのデバイス毎にお作法も違い、たまにしかやらない操作ということもあって、毎度、やり方を調べてました。覚えられない自分。しかし、Thonnyのこの機能を使えば、とっても楽。
M5Stack系のデバイスであると、個々のデバイス固有の実装に合わせたMicroPythonもあるのです。しかし、このごろラズパイPicoでMicroPythonしていることも多いので、なるべく「標準的なMicroPython」で書くのが良いかと思い始めました。使いまわしができるし。ハマり込んだ実装のものは特定のシーンでは良いけれど、いろいろ制限あったりして「水平展開」(まだ古語にはなっていないか?そこはかと懐かしい匂いのするお言葉です)しずらいんだ。
Thonny1つで、いくつものデバイスの開発が楽になるのはいいね。肝心のThonnyのオフィシャルサイトへのリンクは以下です。
Thonny Python IDE for beginners
「Thonnyについて」からも読めるThonnyの出自はエストニアだそうな。
手元で使っている版は左のバージョンでしたが、上記からはもっと新しいバージョンが使えます。
なお、私のThonnyへの頼り方は若干徹底しておりません。
BBC micro:bitでMicroPythonするときは Mu Editor
それ以外のデバイスでMicroPythonするときは、Thonny
デバイス側のプログラムと連動するPython3スクリプトを書くときはThonnyとMu併用
純然たるPC/Linux上のPython3スクリプトを書くときは VS Code
という不徹底さであります。
まあ、いろいろ使った方が、良し悪しが分かるようになるかと。実際は惰性だけれども。でもま、MicroPythonの運用のためにはThonnyが一押しとなっております。Pythonには他にもいろいろあるんだけれども。。。人気者は大変だね。