🦔

Arduino IDE を使ってESP32に書き込む Mac M1

2022/05/26に公開

Arduino IDEをインストール

Arduino公式サイトよりダウンロードしたら、Finderのアプリケーションフォルダにドラッグアンドドロップで移動してあげる

Arduino IDEでESP32のボードを使えるようにする

  1. Arduino IDEを開く
  2. ファイルPreferences...を開く
  3. 追加のボードマネージャのURLに"https://dl.espressif.com/dl/package_esp32_index.json"を書き加える
  4. OKボタンを押す(もうPreferencesは閉じていい)
  5. ツールボード:"Arduino Uno"にカーソルを合わせて、ボードマネージャ...を開く
  6. 検索ボックスで"esp32"と入力して出てきたものをインストールする
  7. インストールが終わったらボードマネージャを閉じる

これでツールボード:"Arduino Uno"にカーソルを合わせたときに"ESP32 Arduino"という項目が出てくるようになるので使用するボードを選択する

Error "exec python executable file not found in $path"

上記までの状態でIDEの書き込みボタンを押したときに"exec python executable file not found in $path"というエラーが生じた。
つまりesp32のパッケージ内でpythonコマンドが使えなくて困っているわけだ。

MacOS Monterey 12.4現在、"python"とターミナルで入力しても何も実行されない。これは長らくバンドルされてきた2系統のpythonが搭載れなくなったからだ。ちなみに"python3"と打つと3系統のpythonが起動する。(もし実行したらexit()と打てばターミナルに戻れる。)

python3を使うように変更する

esp32のパッケージ内でpython3コマンドを使用するように変更してやることにする。
platform.txtというファイルにてpythonコマンドを使っているらしいので、そのファイルを書き換えてしまう。
Finderから以下のパス(1.0.6部分はバージョンが違う場合は若干異なるので注意)に発見した。

~/Library/Arduino15/packages/esp32/hardware/esp32/1.0.6/platform.txt

platform.txtの内部でpythonと書いてあるところをpython3と書き換える。

- tools.esptool_py.network_cmd=python "{runtime.platform.path}/tools/espota.py"
+ tools.esptool_py.network_cmd=python3 "{runtime.platform.path}/tools/espota.py"

- tools.gen_esp32part.cmd=python "{runtime.platform.path}/tools/gen_esp32part.py"
+ tools.gen_esp32part.cmd=python3 "{runtime.platform.path}/tools/gen_esp32part.py"

編集が終わったら保存を忘れずに。

これでArduino IDE で書き込みができるようになる。

Discussion