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
コメント