経緯
ESP32の開発環境の一つとしてArduinoIDEがあります。Arduinoは散々使われているため、大抵のセンサのライブラリが容易されているので非常に便利です。
一方で、てきとーにネットを参考にしてやると地雷踏むことが分かったので怪しいとこだけ書きます。
世間では「gitよくわかんねーし、zipでダウンロードしてきて使えばいいじゃん」な風潮なようです。
その証拠に、ESP32 開発環境
あたりでググると平然と「download ZIPからダウンロードしたファイルを解凍して配置します」とか「BLEフォルダは空っぽなので別に用意されてるリポジトリの中身をダウンロードしてBLEフォルダにコピーしてきます」なんて書いてある記事が上位に出てきます。しかも、割と有名な人が書いています。複数。
「ダウンロードして配置すれば動く」は大嘘です。動かないです。動くケースもあるんでしょうが、私は以下のエラーで悩みました。半年くらい前に突っ込んだESP32環境に最新のBLEリポジトリを突っ込んだからな気がします。
https://github.com/espressif/arduino-esp32/issues/1299
大嘘と強い言葉を使っていますが、あながち間違いではないです。なぜならば、公式が提示している導入方法と異なるからです。少なくともarduino-esp32のリポジトリのWindowsへの導入説明には、 git cloneして入れた後にgit submodule updateしてね
と書いてあります。
ESP32は結構な頻度で更新されている上に、ArduinoIDEの機能では自動更新されません。git cloneコマンドで入れていれば、git pullなどのコマンドで比較的容易に更新ができます。「git...わからん...」な人も、これを機会に導入しましょう。よくわからんの人でも、公式はすごい少ない手順に死ぬほど丁寧にスクリーンショット貼りつけて説明してくれていますので順にやっていけばできるでしょう。英語なので無理と思う方は基本的に英語の情報しかないので諦めたほうが良いかと思います。
本題
以下は公式に書いてある内容を適当にメモしたものです。Windowsの手順です。それ以外のOSの人は適当に補完するか公式の導入手順を読んでください。 1. また、gitはコンソール版で、powershellで実行するものとします。ArduinoIDEは1.8.0です。
最初に、Powershellを起動します。
Arduinoのスケッチやライブラリが設置されているフォルダに移動します。Windowsだとデフォルトは~/Documents/Arduino/
です。
cd ~/Documents/Arduino
次にその下にフォルダを作成します。~/Documents/Arduino/hardware/espressif/
としてください。
mkdir hardware/espressif
作成したらespressifフォルダに移動して、以下のgit cloneコマンドを実行します。
cd hardware/espressif git clone https://github.com/espressif/arduino-esp32 esp32
作成されたesp32フォルダに入って、git submodule updateをします。このコマンドにより、適切なBLEライブラリが導入されます。
cd esp32 git submodule update --init --recursive
最後に、esp32以下のtoolsに入ってget.exeを実行します。
いま入れたばかりなので更新手順の確認ができませんが、たぶんgit pullすれば完了すると思います。ダメならget.exeをさらに実行すればよい気がします。