TL;DR
設定ファイルがサブモジュール化されているので、サブモジュールごとcloneしましょう。
問題
Arduino IDEで、スクリプトを動作させようとすると、
「/Users/XXXX/Documents/Arduino/hardware/espressif/esp32/libraries/BLE」に、無効なライブラリ「/Users/XXXX/Documents/Arduino/hardware/espressif/esp32/libraries/BLEにはヘッダファイル(.h)がありません」があります。
などと言われてしまうときは、設定ファイルの libraries/AzureIoT と、libraries/BLE がgit のsubmoduleとなっており、それが正常にダウンロードされていない可能性があります。Zipでダウンロードしたり、無印のgit cloneしたときに発生します。
このときは、
cd ~/Documents/Arduino/hardware/espressif/esp32
git submodule update --init --recursive
してやるか、まだダウンロードしてないときは、
mkdir -p ~/Documents/Arduino/hardware/espressif && \
cd ~/Documents/Arduino/hardware/espressif && \
git clone --recursive https://github.com/espressif/arduino-esp32.git esp32 && \
cd esp32/tools/ && \
python get.py
としてやりましょう。--recursive がキモ。
ダウンロードしていたときは、
rm -rf ~/Documents/Arduino/hardware/espressif/esp32
してから、上のコマンドで治ると思います。
蛇足
。。。この記事、ニーズありますかね?ニッチすぎる?