Arduino IDEの更新と、Arduino core for the ESP32 1.0の導入

概要

キーボードばかりやっていたら、いつの間にか Arduino core for the ESP32の正式バージョン(1.00)がリリースされていたので、早速導入することにした。ついでに、Arduino IDEも最新(1.8.7)に更新することにした。順序としてはArduino IDEを更新し、その後にESP32の導入を実施した。

※ 最後の方に、導入後にダウンロードエラーとなる場合の対策を追加しました。

Arduino IDE 1.8.7に更新

今までは1.8.3版を使っていたが、これを入れたのは最初にArduino core for the ESP32を入れたとき (2017年7月)だった。今回は1.8.3から1.8.7への更新インストールということになる。Arduino IDEのリリースノートを見ると、1.8.3から1.8.7の間には数多くの修正が入っていたようだ。

Arduino IDE Release Notes

https://www.arduino.cc/en/Main/Software からWindows Installer をダウンロードしてそのまま実行した。すると、まず古いのをアンインストールしますよ、というメッセージが表示された。

Arduino setup

前のバージョンで、HIDやKeyboardといったいくつかのArduino標準ライブラリファイルを直接変更していたので、このメッセージが開いているあいだに退避してから OK をクリックした。

OK によってアンインストーラが走り、”C:\Program Files (x86)\Arduino\” 以下のファイルやディレクトリはすべて削除される。そして新しい版のインストールが始まるので、前回同様に “C:\Program Files (x86)\Arduino\” を指定してやるとすぐに完了した。
いちおう、最近作ったいくつかのスケッチをビルドし、今までと同じように使えることは確認した。

前からやっていることだが、環境設定の中のコンパイルに関わる項目は初期値から変更しておいた方がいいと思っている。

  • より詳細な情報を表示する:「コンパイル」をチェックしておく。
  • コンパイラの警告:「より多く」にしておく。

これらによって、コンパイルされるライブラリファイルの在り処が分かるし、ワーニングも(書き方によって)たくさん表示されるようになる。

「書き込み」の詳細情報を表示するようにしておくと、Arduino IDEがArduinoのフラッシュにスケッチを書き込むために呼び出す avrdudeの実行結果も表示されるようになるが、これについては書き込みがうまくいかないときにだけチェックすればいいと思う。

Arduino core for the ESP32の導入

以前やったときは、githubからzipを落としてきて自分でディレクトリ作って展開するなんてことをやった(もう覚えていないが、投稿にそう書いてある)。前回参照していたWindows用の導入手順(https://github.com/espressif/arduino-esp32/blob/master/doc/windows.md)は既に削除されているようなので、前の投稿にも注釈を入れた。

ボードマネージャーを使う

正式版の導入は、他の追加パッケージ(esp8266やsparkfunボード関係)と同様に、ボードマネージャを使って行う。

ファイル/環境設定の、追加のボードマネージャのURL に以下を入力して OK する。 https://dl.espressif.com/dl/package_esp32_index.json

そして、ツール/ボードを開き、先頭のボードマネージャ…を選択して開く。検索フィールド(検索をフィルタ… と表示)に、esp32 と入力すると、以下のように esp32 by Espressif Systems が出てくるので、インストール をクリックする。

esp32 core for Arduino の導入

25MBytes程度の esp32-1.0.0.zip がダウンロードされ展開後に所定の場所にコピーされて導入は完了。“c:\users\[ユーザー名]\AppData\Local\Arduino15\packages” 内に、esp32というディレクトリが作られ、その中に必要なファイルが収まっていた。

古いバージョンを削除しておく

以前に手動で導入したバージョンを削除しておかないと、Arduino IDEのボード選択に複数のesp32が登場してしまう。

以前は [Arduino-src]\hardware\espressif\esp32 に一式を入れていたので、espressif 以下をとりあえず tempディレクトリに移動した。

これにより、ボードメニューを開くと、以下のようにESP32の開発対象ボードがズラッと表示されるようになった。

esp32 core for Arduino

以前にESP32用に書いたスケッチをいくつかビルドしてみて、うまく導入できたことを確認した。

きょうのまとめ

esp32を使うならwifiかBluetooth を使う工作になるのだけど、そろそろBluetooth でもやってみようかと思ってgithubを見たら、Arduino core for the ESP32の安定バージョンが載っていることに気がついたので早速導入した。さて、何から手をつけようかな、というところです。

どうでもいいことですが、Google日本語入力で「ばーじょん」と打って変換候補を表示させると、バージョン番号もでてくるのね。

google日本語

追記(ダウンロードエラー対策)

Arduino IDEでしばらくのあいだESP32を使わず、ATmega用の別のボードマネージャURLの追加なんかをやっていたら、いつの間にかArduino Core for the ESP32 が利用できなくなっていた。メニューからツール/ボードを開いてもESP32のボード一覧が表示されなくなっていた。そしてツール/ボード/ボードマネージャを開くと、

と表示されるようになってしまっていた。
ファイル/環境設定追加のボードマネージャのURLに、上記のURLをもう一度入力しなおしても同様。ボードマネージャ内にESP32の項目がでてこないので、削除することもできなかった。

ボードマネージャ経由で追加したパッケージは、Windowsでは、c:\useres\[user-name]\AppData\Local\Arduino15の下の packages フォルダに格納されるのでそのあたりを見てみると、Arduino15 フォルダに、package_esp32_index.json.sig.tmp とpackage_esp32_index.json.tmp はあるのだが、”.tmp” 無しのjsonファイルが存在しないことに気がついた。

やはりボードマネージャを使って導入した、SparkFun社のパッケージについては、package_sparkfun_index.jsonがちゃんとあったので、このへんに問題があるんだろうと思って上記の2つの.tmpファイルを削除してみた。

その後Arduino IDEを再起動してボードマネージャを開いたところ、ようやく Arduino core for the ESP32が復活し、使えるようになった。念のためにボードマネージャ内でこのパッケージを削除してから再度インストールしてみたところ、問題なくESP32用スケッチがビルドできることを確認できた。

再インストールは2018年の12月はじめに行ったが、まだバージョン1.0.0のままだった。githubを見るとBLE関係のライブラリがけっこう更新されているので、そろそろバージョンアップされるような気配なのだが。