Arduino Nano 33 BLE SenseやArduino RP2040、Portenta H7にMicroPythonファームウェアをインストールし、MicroPython言語でボードを動作させるためのガイドです。
AUTHOR: Jacob Hylén
はじめに
かねてより、特定のArduinoボードでは、OpenMV IDEとMicroPythonを使ってプログラムを行うことができていました。
互換性のあるArduinoボード向けに公式のMicroPythonのファームウェアがリリースされ、マシンビジョンが必要でないときには、MicroPythonでプログラムを行うもう一つの選択肢ができました。
このファームウェアを実行するために、MicroPython向けの(実験的な)Arduino Labエディタを使うことができます。このチュートリアルでは、その始め方を説明します。このためには、各ボード向けに特別に開発されたMicroPythonファームウェアをボードに書き込む必要があります。
到達点
このチュートリアルを終えると、新しいファームウェアがArduinoボードに書き込まれ、MicroPython向けArduino Labを使って接続できるようになっています。
必要なもの
この記事に従い、ボードでMicroPythonを実行するには、以下のものが必要です。
- Arduino Nano 33 BLE/Arduino Nano RP2040 Connect/Arduino Portenta H7
- Arduino IDE
- Arduino Lab for MicroPython IDE
- Firmware file
Arduino Nano 33 BLE
Nano 33 BLEにファームウェアを書き込むための処理では、最初にブートローダーとSoftDeviceを更新する必要があります。その後、ボードにMicroPythonファームウェアを書きこみます。
コアをインストールする
各コアがインストールされているのを確認することから始めます。Arduino IDE(MicroPython用Arduino Labではありません)を開き、ボードマネージャーを起動します。利用しているボードを探し、最新のコアがインストールされていることを確認します。より詳細な情報はここを参照してください。
これは、次のスケッチのアップロードに必要なだけではなく、次のステージで、特定のツールを探すために、コアファイル自身を詳細に見ていくことになります。
ブートローダーを更新する
Nano 33 BLEでの中心は、、ブートローダーとSoftDeviceを更新するのに利用するスケッチ例です。Arduino IDEに戻り、ファイル > スケッチ例 > Nano33BLE_System > Nano33_updateBLandSoftDevice
と進み、スケッチを開きます。
スケッチをボードにアップロードします。注意してください。ブートローダーはまだ更新されていません。スケッチをアップロードすると、シリアルモニタを使ってボードとやり取りし、実際にブートローダーを更新することができます。
シリアルモニタで、ブートローダーを更新するかを尋ねられます。シリアルモニタの上部のメッセージテキストボックスに、“y"を投入後エンターキーを押し、ボードに送信します。
すると、ブートローダーの更新状況を見ることができます。このとき、ボードの接続を切り離したり、リセットしたりしないでください。そうしてしまうと、ボードを壊してしまいます。
更新が終わると、次の選択肢が提示されます。今回は、ボードのSoftDeviceを更新するか聞かれます。ボードに"y"を送り、これが進むのも見守ってください。
更新バーが一杯になり、SoftDeviceの更新が完了すると、ボードは再起動し、全ての手順が完了します。
ファームウェアをダウンロードする
次は、ボードに書き込む特定のファームウェアを見つける必要があります。利用可能なファームウェアを、MicroPythonのページで見つけることができます。
手持ちのボードに対応した.bin
ファイルをダウンロードしてください。
BOSSACを見つける
このステップでは、最初のステップでダウンロードしたコアファイルを利用していきます。このプロセスは、Windowsを使っているのか、MacOSを使っているのかで異なります。
Windows
利用するファイルは以下にあり、名前は、bossac.exe
です。
|
|
このファイルを見つければ、.tarアーカイブから取り出し、例えば、デスクトップなどにコピーしてください。
コマンドターミナルを開き、start
とタイプしてください。その後、見つけたbossac.exeファイルをターミナルにドラッグ&ドロップし、エンターキーを押してください。
成功すると、別のコマンドターミナルウインドウが開き、MicroPythonファームウェアをボードに書き込むためのコマンドを実行できるようになります。
以下のコマンドを実行してください。ただし、ポートはボードがつながっているポート名に、ファームウェアファイルは、先ほどダウンロードしたファームウェアを配置したディレクトリ名付きのファームウェアファイルに変更してください。
|
|
再度書きますが、この処理を行っている間は、ボードを切り離したり電源を切ったりしないで、ファームウェアがボードに書き込まれる進捗を見てください。完了すると、MicroPythonでボードをプログラムできるようになっています。
Arduino Lab MicroPython IDEで、左上の接続ボタンを押し、ポートを選択すると、Nano BLE Senseでプログラムができます。
MacOS
必要なファイルは以下にあります。
|
|
必要なファイルは、bossac
です。
ターミナルウインドウを開き、bossacファイルをターミナルウインドウにドラッグ&ドロップしてください。
MicroPythonファームウェアをボードに書き込むためのコマンドを実行できるようになります。
以下のコマンドを実行してください。ただし、ポートはボードがつながっているポート名に、ファームウェアファイルは、先ほどダウンロードしたファームウェアを配置したディレクトリ名付きのファームウェアファイルに変更してください。
|
|
再度書きますが、この処理を行っている間は、ボードを切り離したり電源を切ったりしないで、ファームウェアがボードに書き込まれる進捗を見てください。完了すると、MicroPythonでボードをプログラムできるようになっています。
Arduino Lab MicroPython IDEで、左上の接続ボタンを押し、ポートを選択すると、Nano BLE Senseでプログラムができます。
Arduino Nano RP2040 Connect
Arduino Nano RP2040ボードでMicroPythonのプログラムを行うには、以下の手順に従ってください。Nano RP2040はMicroPythonを始めるのにもっとも簡単なボードです。インストールに追加のソフトウェアツールは必要ないからです。
以下を実行するだけです。
- MicroPythonページから、
.uf2
ファームウェアファイルをダウンロードしてください。 REC
ピンをGNDに接続して、ボードのファイルシステムがPCに見えるようにしてください。ブレッドボードにボードを指すと簡単にできます。- PCに表れる外部ストレージデバイスとして見えるボードのフラッシュストレージにファームウェアファイルをドラッグ&ドロップしてください。以上です。
Arduino Lab MicroPython IDEで、左上の接続ボタンを押し、ポートを選択すると、Nano RP2040でプログラムができます。
Arduino Portenta H7
MicroPythonをPortenta H7にインストールするには、関連するコアをインストールする必要があります。このコアは、必要なコマンドラインツールを淳にインストールします。Arduino IDE(Arduino Lab for MicroPythonではありません)を起動して、ボードマネージャを開いてください。“Portenta H7"を探し、最新のコアがインストールされていることを確認してください。
このボードは、dfu-utilを使って、DFUブートローダ経由でプログラムすることができます。DFUブートローダに入るには、ボードのリセットボタンを2回クリックしてください。
ファームウェアをダウンロードする
ボードに書き込む特定のファームウェアを見つける必要があります。利用可能なファームウェアを、MicroPythonのドキュメントサイトで見つけることができます。Portenta H7用のファームウェアは、.dfu
ファイルとして利用可能です。
dfu-utilを見つける
このステップでは、最初のステップでダウンロードしたコアファイルを利用していきます。このプロセスは、Windowsを使っているのか、MacOSを使っているのかで異なります。
Windows
利用するファイルは以下にあり、名前は、dfu-util.exe
です。
|
|
このファイルを見つければ、.tarアーカイブから取り出し、例えば、デスクトップなどにコピーしてください。
コマンドターミナルを開き、start
とタイプしてください。その後、見つけたdfu-util.exeファイルをターミナルにドラッグ&ドロップし、エンターキーを押してください。
成功すると、別のコマンドターミナルウインドウが開き、MicroPythonファームウェアをボードに書き込むためのコマンドを実行できるようになります。
ボードのリセットボタンを2回押してDFUモードに入り、以下のコマンドを実行してください。ただし、ファームウェアファイルは、先ほどダウンロードしたファームウェアを配置したディレクトリ名付きのファームウェアファイルに変更してください。
|
|
再度書きますが、この処理を行っている間は、ボードを切り離したり電源を切ったりしないで、ファームウェアがボードに書き込まれる進捗を見てください。
すると2つのプログレスバーが順に現れるはずです。最初のバーは、ボードにある書き込み前のファームウェアの削除の進捗を示し、2番目のバーは、新しいファームウェアの書き込みの進捗を示します。
完了すると、MicroPythonでボードをプログラムできるようになっています。
Arduino Lab MicroPython IDEで、左上の接続ボタンを押し、ポートを選択し、コーディングしてください。
MacOS
利用するファイルは以下にあり、名前は、dfu-util
です。
|
|
ターミナルウインドウを開き、dfu-utilファイルをターミナルウインドウにドラッグ&ドロップしてください。
MicroPythonファームウェアをボードに書き込むためのコマンドを実行できるようになります。
ボードのリセットボタンを2回押してDFUモードに入り、以下のコマンドを実行してください。ただし、ファームウェアファイルは、先ほどダウンロードしたファームウェアを配置したディレクトリ名付きのファームウェアファイルに変更してください。
|
|
再度書きますが、この処理を行っている間は、ボードを切り離したり電源を切ったりしないで、ファームウェアがボードに書き込まれる進捗を見てください。
すると2つのプログレスバーが順に現れるはずです。最初のバーは、ボードにある書き込み前のファームウェアの削除の進捗を示し、2番目のバーは、新しいファームウェアの書き込みの進捗を示します。
完了すると、MicroPythonでボードをプログラムできるようになっています。
Arduino Lab MicroPython IDEで、左上の接続ボタンを押し、ポートを選択し、コーディングしてください。
ファームウェアを書き込む
ツールをインストールして、次のコマンドを実行してください。dfu-util -a 0 -d 0x2341:0x035b -D firmware.dfu
訳者註: このセクションの必要性が不明です。
おわりに
これで、ArduinoボードにMicroPython言語でプログラムするのに必要なファームウェアを書き込みました。多くのエキサイティングなプロジェクトへの扉が開かれました。Arduinoボードの新たな可能性を楽しんで探求してください。
オリジナルのページ
https://docs.arduino.cc/tutorials/nano-33-ble-sense/micropython-installation
最終更新日
March 7, 2023