Raspberry Pi PicoでのMicroPythonの使用によるラピッドプロトタイピングのクイックガイド

システムを迅速に試作し、外部デバイスとインターフェース接続し、迅速かつ効率的にアーキテクチャをテストする能力は、多くのエンジニアリングチームにとって極めて重要となります。Arduinoやその対象ハードウェアでラピッドプロトタイピングを行うチームも少なくありません。しかし、私が見つけた解決策は、MicroPythonを使用することです。

MicroPythonは、マイクロコントローラベースのシステムで動作するCPythonの移植版です。興味深いラピッドプロトタイピングソリューションとして、低コストのSC0915 Raspberry Pi PicoボードでのMicroPythonの使用があります。このブログでは、MicroPythonをRaspberry Pi Picoボードにセットアップし、rshellを使用してそのボード上でアプリケーションを実行する方法を考察します。

Raspberry Pi PicoへのMicroPythonのインストール

Raspberry Pi Picoでラピッドプロトタイピングを行うには、まずMicroPythonをインストールします。その手順は簡単です。まず、MicroPythonのUF2ファイルをダウンロードします。次に、Raspberry Pi PicoのBOOTSELボタンを押しながら、PicoをコンピュータのUSBポートに接続します(図1)。Raspberry Pi Picoは、RPI-RP2という名前のMSDクラスのデバイスとして列挙されます。最後に、MicroPythonのUF2ファイルをRPI-RP2ドライブにコピーします。これが完了すると、ブートローダがRaspberry Pi Pico RP2040マイクロコントローラのフラッシュメモリをプログラムし、MicroPythonの実行を開始します。

図1:Raspberry Pi Picoは、BOOTSELピンを押したまま電源を投入することで、USB MSDブートローダモードに設定できます。(画像提供:ElektorMagazine.com)

1分ほど待ってから、ボードの電源を入れ直すことをお勧めします。Raspberry Pi Picoは、USD CDCクラスのシリアルデバイスとして列挙されるはずです。ターミナルアプリケーションを開いて115200ボーで通信ポートに接続し、ターミナルでCTRL-Dを押すと、システムのソフトリブートとMicroPython REPLを確認できます(図2)。

図2:CTRL-Dを押してMicroPythonインタプリタを強制的にソフトリブートすると、MicroPython REPLが表示されます。(Beningo Embedded Group)

MicroPythonにおける点滅アプリケーションの作成

最も簡単に書けるアプリケーションは、点滅LEDアプリケーションです。これは、組み込み開発者にとっての「Hello World」です。もっとも、ターミナルにも「Hello World」と書きたいくらいですが。Raspberry Pi PicoのGPIO番号25には、オンボードLEDが配置されています。お気に入りのテキストエディタでmain.pyファイルを作成し、オンボードLEDを5Hzでオン/オフする以下の点滅アプリケーションコードをPythonで記述してください。

コピーfrom machine import Pin
import time

led = Pin(25, Pin.OUT)

while True:
    led.toggle()
    time.sleep_ms(100)

リスト1:オンボードLEDを5Hzでオン/オフする基本的なLEDアプリケーション。(コード提供:Beningo Embedded Group)

rshellを使用した点滅アプリケーションのプログラミング

アプリケーションを書き終えたら、rshellを使用してMicroPythonのファイルシステムに転送できます。rshellがコンピュータにない場合は、以下のPythonコマンドを使用してインストールできます。

コピーpython -m pip install rshell

rshellは、MicroPythonだけで動作するリモートシェルアプリケーションです。rshellは、REPLとの通信、MicroPythonファイルシステムへのアクセスおよび、開発ボードとホストOSの間のファイル転送に使用することができます。rshellコマンドを実行すると、図3に示すように、開発ボードとの接続が開始されます。

図3:rshellは、MicroPythonのファイルシステムやREPLにアクセスし、通信操作を行うためのリモートシェルとして使用されます。(画像提供:Beningo Embedded Group)

いくつかのコマンドがrshellでサポートされています。「help」と入力することで、サポートされているコマンドを確認できます(図4)。

図4:helpコマンドは、rshellがサポートしている全コマンドを一覧表示します。(コード提供:Beningo Embedded Group)

ファイルをファイルシステムにコピーするのは簡単です。まず、main.pyアプリケーションを保存したディレクトリに移動します。そして、次のようにcopyコマンドを発行します。

コピーcp main.py /pyboard

その結果、main.pyがpyboardディレクトリの直下にコピーされます。「ls /pyboard」と入力すると、これを確認できます。ここで、rshellにreplコマンドを入力して、MicroPython REPLに入ります。MicroPython REPLが表示されます。CTRL-Dを押すと、ソフトウェアが強制的に再起動されます。これで、PicoボードのLEDが5Hzで点滅するようになります。

その後のステップは、迅速に試作を行うために必要となるものに応じてまったく異なります。RP2 MicroPythonのドキュメントを読み、APIの詳細や各種ペリフェラルの使用方法を学んでください。

まとめ

さまざまなソリューションを迅速に試作し、システムがどのように機能するかを考察する必要性は常にあります。MicroPythonは、そのための迅速で効率的かつ強力な手段となります。したがって、Raspberry Pi Picoのような低コストの開発ボードにインストールすれば、非常に強力な効果を発揮します。開発者はrshellを利用してアプリケーションを簡単に転送し、MicroPythonインタプリタと対話できるようになりました。このインターフェースにより、ソフトウェアとハードウェア両方の開発者が、より深く掘り下げてから生産コードを決定することが容易になります。

著者について

Image of Jacob Beningo

Jacob Beningo氏は組み込みソフトウェアコンサルタントで、現在、製品の品質、コスト、市場投入までの時間を改善することで、ビジネスを劇的に変革するために数十か国以上のお客様と作業しています。同氏は、組み込みソフトウェア開発技術に関する200以上の記事を発表しており、引っ張りだこのスピーカーでありテクニカルトレーナです。ミシガン大学のエンジニアリングマスターを含む3つの学位を取得しています。気楽にjacob@beningo.comにメールするか、彼のウェブサイトwww.beningo.comから連絡してみてください。そして毎月のEmbedded Bytes Newsletterにサインアップしましょう。

More posts by Jacob Beningo
 TechForum

Have questions or comments? Continue the conversation on TechForum, Digi-Key's online community and technical resource.

Visit TechForum