前回ラズパイPico用のMicroPythonをソースからビルド。環境できたのでラズパイPicoに限らず他のマイコン向けのMicroPythonもビルドできるハズ。今回はLinux用のMicroPythonをビルドしてみます。ビルド後、Windows上のThonnyIDEからSSH接続しバックエンドとしてみます。
※「MicroPython的午睡」投稿順 Indexはこちら
Linux版MicroPythonのビルドの準備
Linux版をビルドするにあたっては、特殊なツールチェーンは必要なく、セルフ開発用のgccやmakeなどがインストールしてあればよいようです。ただし、以下には依存しているようです。手元の母艦、Raspberry Pi 4 model B(64ビットOS)上では、pkg-configは入れてありましたが、libffi-devは不在だったので、aptでインストールしました。
-
- libffi-dev
- pkg-config
なお、libffiはPythonからC用のライブラリなどを呼び出すときにインタフェースとして使われるみたいです。
ビルド
前回、ラズパイPico用にMicroPythonのソース一式をクローンしてあります。該当のディレクトリに入り、各種バージョンが並んでいる ports 内の unix ディレクトリで以下の処理を行います。
cd ports/unix
Makefileは出来上がったものが含まれているので順番にコマンドを打つだけです。まずは submodulesを makeせよと。こんな感じ。
つづいて、本体のmake です。開始したところが以下に。
お茶を一杯飲む時間くらい(個人の感想です)で、所定のディレクトリ内にmicropythonインタプリタができあがっております。
実行確認
とりあえず、ビルドされた結果をコマンドラインから動かしてみます。動いてるみたいっす。
表示されているように、MicroPythonのREPLから抜けるのは、CTRL-Dです。
つづいて test を行ってみました。make test とな。
大量のテストケースが流れたあとの、ボトムラインの帳尻が以下に。
エラーが2件でてます。839件はパスして、69件スキップして、2件エラーだと。上記みるに浮動小数のparse関係みたいです。「大勢に影響なし」という甘い判断で、現象と理由はまた今度調べることにして今日はパス。
普通にコマンドラインから使えるようにインストールしてしまいました。
Windows上にThonnyIDEからSSH接続
上記でRaspberry Pi OS上でMicroPythonが使えるようになりました(実際にはWindows TerminalからSSH接続で上記の操作を行っているのですが。)しかし、Windows上ではThonnyIDEをMicroPythonの開発環境として使わせていただいております。ThonnyIDEはラズパイPico上のMicroPythonなど各種をバックエンドとして接続可能。その中にSSH接続のMicroPythonもありました。オプションメニューからInterpreterタブを開くとこんな感じ。
SSH接続するとホストのアドレスなど記入するウインドウが出てくるので設定し、接続してみます。
シェルウインドウに今ビルドしたばかりのRaspberry Pi OS上のMicroPythonが見えています。また、右下の使用中のバックエンドの表示もSSHになってます。
基本、MicroPythonなのでラズパイPico用のものとは大きく変わりはないですが、今までラズパイPico用のMicroPythonでは不在だったモジュールもちらほら。マイコンのハードに依存しないモジュールであればLinux上で作成して、コンパイル済のモジュールにしてマイコン側に送るといったこともできそうですな。夢が広がります。ホントか?