ampyを用いたMicroPythonのファイル操作とプログラム実行

ESP8266のMicroPythonではWebREPL経由でファイル操作が出来るが、ampyを使えばシリアルポート経由でもファイル操作やプログラムの実行が出来る。

スポンサーリンク

ampyのインストール

pipが使える環境であれば、以下のコマンド一発で完了する。

$ pip install adafruit-ampy

ampyで行えるファイル操作

  • ls: ファイル一覧の取得
$ ampy --port=/dev/ttyUSB0 ls
/boot.py
/main.py
  • get: 指定ファイルを標準出力へ。ファイルに書きたければリダイレクトで。
$ ampy --port=/dev/ttyUSB0 get main.py
: (main.pyの中身が表示される)
  • put: ファイルを転送
    $ ampy --port=/dev/ttyUSB0 put hoge.py
  • rm: ファイルを削除
    $ ampy --port=/dev/ttyUSB0 rm hoge.py

ampyからプログラムの実行も出来る

runでプログラムの実行も出来る。

$ ampy --port=/dev/ttyUSB0 run hoge.py

通常シリアルポート経由で出力される実行結果が標準出力に表示されるので、CPythonのプログラムをローカル実行しているのと錯覚する。

環境変数の設定

シリアルポートの指定は環境変数AMPY_PORTに指定しておくと、いちいち引数で指定しなくても済む。bashであれば、~/.bashrcなどに以下の記述を追加。

export AMPY_PORT=/dev/ttyUSB0

例えば、lsした場合。短くて非常にスッキリ。

$ ampy ls
/boot.py
/main.py

コメント