MPyTools は MicroPython デバイスの開発を支援するためのツール群です。Pharo Smalltalk により作られています。
MPyTools は主に以下の2つからなります。
- MicroPython デバイスと通信するためのツール
- Smalltalk で書かれたクラスやメソッドを MicroPython のコードに変換するためのツール
MPyTools を使えば Pharo のシステムブラウザを使って MicroPython デバイスのアプリケーションを作ることができます。また、作成したプログラムを MicroPython デバイスに転送して動作を確認することもできます。
MPyTool
MPyTool クラスのオブジェクトは MicroPython デバイスとシリアル通信します。 MicroPython の式をデバイスに送信して、その結果を受け取ります。また、ファイルのアップロードやダウンロードもサポートしています。
使い方
1+2を計算して結果をインスペクタに表示します。
| mp |
mp := MPyTool new.
mp useSerial.
(mp evaluate: '1+2') inspect.
Hello と表示するプログラムを main.py に格納します。
MPyTool new
useSerial;
upload: 'print("Hello")' fileNamed: 'main.py'.
MicroPythonCoder
MicroPythonCoder クラスのオブジェクトは、Smalltalk のクラスやメソッドから MicroPython のプログラムを生成します。
たとえば、以下のような Smalltalk のコードがあったとします。
helloWorld
self isFunction: true.
self print: 'Hello, World!'
これを以下のような MicroPython プログラムに変換します。
def hello_world():
print("Hello, World!")
MicroPython デバイスにはたくさんの種類があります。現在、MicroPythonCoder はESP8266/ESP32 ベースの MicroPython とmicro:bit ベースの MicroPython をサポートしています。
使い方
あるクラスから MicroPython プログラムを生成するには、そのクラスに #asMicroPython メッセージを送ります。
ESP8266Sample asMicroPython
そのクラスのプログラムを MicroPython デバイスに送るには以下のようにします。
MPyTool new
useSerial;
execute: ESP8266Sample asMicroPython.
生成したプログラムを ‘main.py’ ファイルに格納するには以下のようにします。
MPyTool new
useSerial;
upload: ESP8266Sample asMicroPython fileNamed: 'main.py'.
MPyToolGUI
MPyToolGUI は、MPyToolと MicroPythonCoder のグラフィカルアプリケーションです。
使い方
SpMPyTool new open
インストール方法
(準備中)
ファームウェアの転送
(準備中)
インストール方法(開発者用)
Metacello new
baseline: 'MPyTools';
repository: 'github://EiichiroIto/MPyTools/src';
load.
謝辞
このプロジェクトは John Malony の MicroSqueak プロジェクト(https://web.media.mit.edu/~jmaloney/microsqueak/)に影響を受けており、いくつかのコードは Pharo Smalltalk で書き直しました。