1. ESP32 での MicroPython の始め方
MicroPython を使うと、ESP32 ボードを最大限に活用することができます。逆も同様、ESP32 チップは MicroPython を使用するための優れたプラットフォームです。このチュートリアルでは、MicroPython の設定、プロンプトの表示、WebREPLの使用、ネットワークへの接続、インターネットとの通信、ハードウェアペリフェラルの使用、およびいくつかの外部コンポーネントの制御について説明します。
始めましょう!
1.1. 必要なもの
最初に必要なのは、ESP32 チップを搭載したボードです。MicroPython ソフトウェアは ESP32 チップ自体をサポートしており、どのボードでも動作するはずです。ボードについて気にするとことは、GPIO ピンが外にどのように接続されているか、UART を PC で使用できるようにする内蔵 USB シリアルコンバータが含まれているかどうかです。
このチュートリアルではピンの名前にチップ名(例: GPIO2)を使っていますが、これが特定のボード上でどのピンに対応するかを見つけるのは簡単なはずです。
1.2. ボードの電源を入れる
ボードに USB コネクタがある場合は、PC に接続されているときに電源が供給されている可能性が非常に高いです。それ以外の場合は、直接電源を入力する必要があります。詳細については、ボードのドキュメントを参照してください。
1.3. ファームウェアの入手
まず、最新の MicroPython ファームウェアの .bin ファイルをダウンロードして、ESP32 デバイスにロードします。ファームウェアは MicroPython download page からダウンロードできます。このページでお使いのボードを検索してみてください。
注釈
ダウンロードページに特定のボードが見つからない場合、高い確率で汎用ファームウェアのいずれかが動作します。これらはダウンロードページの上部にリストされていて、ボード上の Espressif チップの名前(例: ESP32 / WROOM, ESP32-C3, ESP32-S3 など)に対応しています。
ただし、購入元のベンダーに確認することをおすすめします。
ここから、次のいずれかを選択できます:
安定版ファームウェアリリースをダウンロードする。
毎日更新される「プレビュー」ビルドをダウンロードする。
MicroPython を始めたばかりなら、安定版リリースのファームウェアを選ぶのが最適です。一方で、MicroPython ESP32 に精通し、開発の進捗を追いながら新機能のテストに協力したい場合は、プレビュービルドが役立つかもしれません。
1.4. ファームウェアの配備
MicroPython ファームウェアを取得したら、ESP32 デバイスにロードする必要があります。これを行うには、主に2つのステップがあります。まず、デバイスをブートローダモードにし、次にファームウェアをコピーする必要があります。これらの手順の正確な手順は、特定のボードに大きく依存します
詳細な手順は MicroPython download page にある、お使いのボード専用の説明を参照してください。ダウンロードページの手順は、各ボードに最適化されているため、それにしたがうことを推奨します。
上記の手順にあるコマンドがエラーなく実行されれば、MicroPython がボードに正常にインストールされたはずです! シリアルプロンプト の章へ進んでください。
1.5. インストールの問題のトラブルシューティング
フラッシュ中またはフラッシュ直後のファームウェア実行で問題が発生した場合は、次の推奨事項を参照してください:
esptool は ESP32 が接続されているシリアルポートを自動検出しようとします。これがうまくいかない場合や、複数のシリアルポートがある場合は
esptoolコマンドラインのはじめのほうに--portオプションを追加して、手動でポートを指定する必要があります。たとえば Linux ではesptool --port /dev/ttyUSB0 <残りのコマンドライン>などとなり、Windows ではesptool --port COM4 <残りのコマンドライン>などとなります。ボードが esptool にまったく応答しない場合、手動でブートローダーダウンロードモードにリセットする必要があるかもしれません。ボード上に "BOOT" または "IO0" と書かれたボタン、および "RESET" または "RST" と書かれたボタンを探してください。両方のボタンがある場合は、次の手順を試してください。
"BOOT" (または "IO0")ボタンを押し続けます。
"RESET" (または "RST")ボタンを押して、すぐに離します。
"BOOT" (または "IO0")ボタンを離します。
ダウンロードページの手順に従って、再度フラッシュ処理を実行してください。
ボードにこれらのボタンがない場合は、ブートローダーダウンロードモードに入る方法について、ボードメーカーのドキュメントを確認してください。
ファームウェアの書き込み中にエラーが発生する場合は、データ転送速度を下げてみてください。具体的には、コマンド引数から
--baud 460800のオプションを削除してみてください。ハードウェアの問題はフラッシュ失敗の原因となり得ます。原因としてよくあるのは、次の2つです。電源の品質が悪い場合とハードウェアの欠陥(特に、格安のノーブランド開発ボード など)です。電源については、単に電流量(アンペア数)だけでなく、ローリップル(low ripple)ノイズ/EMI も重要です。最も安定して便利な電源は USBポート です。
ファームウェアのフラッシュに問題が発生し続ける場合は esptool Troubleshooting documentation も参照してください。
1.6. シリアルプロンプト
デバイスにファームウェアをインストールしたら、UART 0 上で REPL (Python プロンプト)にアクセスできます。ボードにより、USB シリアルコンバータを介して接続するか、チップに内蔵のUSB デバイスで接続します。ボーレートは 115200 です。
ここまでできたならば、後は ESP8266 チュートリアルにしたがって進めることができます。これら2つの Espressif 社チップは、MicroPython を使用することに関しては非常に似ているからです。ESP8266 チュートリアルは ESP8266用 MicroPythonチュートリアル にあります(「ESP8266でのMicroPythonの使い方」の章はスキップしてください)。