LoginSignup
3
2

More than 5 years have passed since last update.

ampy: MicroPythonマイコンとPCとのファイル転送ツール

Posted at

MicroPythonは対話モードとスクリプトファイルを実行するモードがあります。スクリプトモードで動かすには、PCなどでプログラムを書き、プログラムファイルをMicroPythonが動くマイコン(ここでは「ボード」と呼ぶことにします)に転送します。
PCとボードとの間のファイル転送ツールはいくつかありますが、そのうちの一つで、M5Stackで動作確認できたampyを紹介します。

M5Stack

ampy

ampyはAdafruit社が開発したツールで、ツールの名前はAdafruit MicroPython Toolから来ているようです。ampyはシリアル回線経由でPCとボードとの間でファイル転送をします。またPC上のMicroPythonスクリプトをボード上で実行できます。

この記事はversion 1.0.3で評価して書きました。

インストール

ampyを使うにはPC上にPython 2.7.x か 3.xが必要です。インストールはpipコマンドでおこないます。MacOSでの例を示します。

$ sudo pip install adafruit-ampy

ampyを使う

ampyはportオプションでボードを接続しているデバイスを指定します。AMPY_PORT環境変数にデバイスを指定しておくと便利です。

$ ampy --port=/dev/tty.SLAB_USBtoUART ls
flash
$
$ export AMPY_PORT=/dev/tty.SLAB_USBtoUART 
$ ampy ls
flash

ampyには次のコマンドがあります。ボードはMicroPythonが動いているマイコンのことです。

  • get: ボードからPCにファイルを転送する
  • ls: ボード上でlsを実行する
  • mkdir: ボード上でmkdirを実行する
  • put: PCからボードにファイルを転送する
  • reset: ボードでソフトリセットとブートを実行する
  • rm: ボード上でrmを実行する
  • rmdir: ボード上でrmdirを実行する
  • run: ボード上でプログラムファイルを実行する

M5Stackと接続した場合の実行例

M5Stackのファイルシステムは、ルートディレクトリの下にflashというディレクトリーがあり、ファイルをputするとflashの下に置かれます。ampyのディレクトリーの扱いには少しクセがあります。

$ ampy ls
flash
$ ampy ls flash        # エラーになる
$ ampy ls /flash       # /flashの下のファイルが表示される
boot.py
main.py
config.json
$ ampy mkdir testdir    # /flash/testdirが作られる
$ ampy put test.py /flash/testdir      # エラーになる
$ ampy put test.py /flash/testdir/test.py      # test.pyが/flash/testdir/test.pyとして転送される

runコマンドはPCにあるMicroPythonのファイルを、ボードにファイル転送せずにボード上で実行できるため、デバッグ時などに便利です。

$ cat test.py
print('hello world')
$ ampy run test.py
hello world
$ 

まとめ

ampyはESP8266でもESP32でも動作するMicroPython用のファイル転送ツールです。M5Stackでプログラム開発するときの便利ツールの一つです。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2