ターミナルからラズベリーパイPicoにコードをフラッシングする


ラズベリーパイPico(以後、ラズピコと略す)用のコードを書く時は、



ソニー(Thonny)というエディタを使うのが一般的ですが、好みのエディタ(例えばMicro:当サイトおすすめのエディタ)でコードを作成したいと思う事があるかと思います。

クロームブックでMicroPython用のエディタをインストールする

ターミナル上でコードを書くためのMicroをインストールする


ターミナルからラズピコにフラッシングできれば、どのようなエディタでコードを書いても良い事になりますので、今回はコマンドライン上でラズピコにコードをフラッシングする方法を見ていきます。




ターミナル(コマンドライン)からラズピコにコードをフラッシングする方法はいくつかありますが、おすすめなのは アールシェル(rshell) になります。

dhylands/rshell: Remote Shell for MicroPython


アールシェルをインストールする前に、pipxをインストールする必要があり、MicroでPythonのコードフォーマッターを使えるようにするに記載されている内容を参考にして pipx をインストールしておきます。


pipxのインストールが終わりましたら、下記のコマンドでアールシェルをインストールします。

$ pipx install rshell
$ rshell -V
0.0.36



アールシェルのインストールが終わりましたら、パソコンとラズピコをUSBを介して接続します。

※クロームブックを使用しているのであれば、



画面右下に上のキャプチャのようなポップアップが出力されますので、 Linuxに接続 をクリックすます。


ターミナル(クロームブックであればクロスティーニ)を開き、下記のコマンドでラズピコが認識されているか?を調べます。

$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 2e8a:0005 MicroPython Board in FS mode
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

ラズピコが認識されていれば、下記のコマンドでパソコンとラズピコを繋ぎます。

$ rshell
Connecting to /dev/ttyACM0 (buffer-size 32)...
Trying to connect to REPL  connected
Retrieving sysname ... rp2
Testing if sys.stdin.buffer exists ... Y
Retrieving root directories ... /main.py/
Setting time ... Feb 28, 2025 12:13:45
Evaluating board_name ... pyboard
Retrieving time epoch ... Jan 01, 1970
Welcome to rshell. Use Control-D (or the exit command) to exit rshell.
/home/pi>

Trying to connect to REPL  connected

という文字列が出力されていれば成功です。

太字で示した pyboard は後に重要になります。




ラズピコのフラッシュメモリの中にあるファイルを確認してみます。

/home/pi> ls /pyboard/

ラズピコのフラッシュメモリは/pyboardというディレクトリ名でマウントされているそうです。


main.py

のような出力になり、ラズピコのフラッシュメモリ内にあるファイルが出力されます。


Thonny以外のエディタで作成したファイルをラズピコにフラッシングしてみます。

例:作成したファイルのパスは ~/main.pyになります。

/home/pi> cp ~/main.py /pyboard/

cpコマンドで/pyboard以下にファイルをコピーすれば良いです。


ラズピコのフラッシュメモリ内にあるファイルを編集する場合は、

/home/pi> edit /pyboard/

を実行します。


/pyboard/ディレクトリ以下に配置したコードを実行するには、REPLモードにしてから実行します。

REPLモードは下記のコマンドで実行します。

/home/pi> repl
Entering REPL. Use Control-X to exit.
>
MicroPython v1.24.1 on 2024-11-29; Raspberry Pi Pico W with RP2040
Type "help()" for more information.
>>> 
>>> 

※ REPL(Read-Eval-Print Loop:レプルと読む)モードとは、対話型インタープリタの一種で、ユーザーが入力したコードを即座に実行し、結果を表示する環境になります。


REPLモードに入りましたら、/pyboard/main.pyの場合は、

>>> import main

で実行できます。


終了する時はREPLモードから抜ければ良いので、Ctrl + x でREPLモードを終了します。


補足

rshellでパソコンとラズパイを繋がずにコードのみを実行する

$ rshell cp ~/main.py /pyboard/
$ rshell repl pyboard import main
同じカテゴリーの記事
マインクラフト用ビジュアルエディタを開発しています。
詳しくはinunosinsi/mcws_blockly - githubをご覧ください。