はじめに
本日は小ネタです。
MicroPython スクリプトの開発環境としては、ThonnyなどのIDEが使われることが多くなってきました。私はというと、古い人間なので、どちらかというとコマンドラインツールを使うことのほうが多いです。
少し前まで、MicroPython 用のコマンドラインツールとしては ampy や rshellなどを使うのが定番でした。かつては私もよく使っていました。
MicroPython公式からコマンドラインツールとして mpremoteが提供されるようになってから、もっぱら mpremote ばかり使っています。スクリプトの転送以外にも、ファイル一覧表示、削除などが Linux 風にできたり、ホストPCのディレクトリをマウントして使えたりするところが気にいってます。
参考:
mpremote のインストール
mpremote は CPython で作られて、pip コマンドで PyPI からインストールできます。
$ pip install mpremote
mpremote を使って、デバイス内のファイルを編集する
ここからが本日の本題です。
デバイス内のファイルシステムに保存されているMicroPythonスクリプトを編集していことがよくあります。PC上に同じものが存在する場合には、それを編集してデバイスに転送すればよいのですが、それが無い場合には一度デバイスからPC上にMicroPythonスクリプトを転送して編集し、デバイスに再転送するといった手間がかかります。
mpremote を使えば、デバイス内のファイルを PC にインストールされている好きなエディタを使って編集できます。
前提として、まず、自分の使うエディタを環境変数 EDITOR に設定します。たとえばエディタとして Emacs を使いたい場合は、そのコマンド名を設定します。
export EDITOR=emacs
その上で、mpremote edit を使うと、指定したエディタでデバイス内のスクリプトが読み込まれて編集できるようになります。たとえばデバイス内のmain.pyを編集するときには次のようにします。
$ mpremote edit main.py
編集後にセーブして、エディタを終了すると。自動的に編集後の内容がデバイスに反映されます。