MPyTools

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 のグラフィカルアプリケーションです。

Screenshot1

使い方

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 で書き直しました。