概要
ESP32のArduinoライブラリのバージョンが一年以上ぶりにアップデートされましたので、差分をかんたんに確認してみたいと思います。
ESP-IDF3.4ベースに変更
長らくサポートの切れている3.2系でしたが3.3系に上がりました。しかしながら3.3系もそろそろサポートが切れるので、次回からは4.x系に上がるとのことです。。。
GitHubの履歴
上記から差分が確認できます。ただし、大量にありすぎてよくわかりません。一年以上間が空いているので、変更点がたまりすぎている感じです。
リリースノート
276個のコミットが書かれています。んー、ちょっと多すぎてよくわからない。何個か私のプルリクエストも含まれていたはず、、、
ボードマネージャ
LoRa系のサポート追加
メニューにLoRa系のリージョンや、デバッグレベル選択のメニューが追加されています。
heltec_wifi_lora_32.menu.LORAWAN_REGION.0=REGION_EU868
heltec_wifi_lora_32.menu.LORAWAN_REGION.0.build.band=REGION_EU868
heltec_wifi_lora_32.menu.LORAWAN_REGION.1=REGION_EU433
heltec_wifi_lora_32.menu.LORAWAN_REGION.1.build.band=REGION_EU433
heltec_wifi_lora_32.menu.LORAWAN_REGION.2=REGION_CN470
heltec_wifi_lora_32.menu.LORAWAN_REGION.2.build.band=REGION_CN470
heltec_wifi_lora_32.menu.LORAWAN_REGION.3=REGION_US915
heltec_wifi_lora_32.menu.LORAWAN_REGION.3.build.band=REGION_US915
heltec_wifi_lora_32.menu.LORAWAN_REGION.4=REGION_AU915
heltec_wifi_lora_32.menu.LORAWAN_REGION.4.build.band=REGION_AU915
heltec_wifi_lora_32.menu.LORAWAN_REGION.5=REGION_CN779
heltec_wifi_lora_32.menu.LORAWAN_REGION.5.build.band=REGION_CN779
heltec_wifi_lora_32.menu.LORAWAN_REGION.6=REGION_AS923
heltec_wifi_lora_32.menu.LORAWAN_REGION.6.build.band=REGION_AS923
heltec_wifi_lora_32.menu.LORAWAN_REGION.7=REGION_KR920
heltec_wifi_lora_32.menu.LORAWAN_REGION.7.build.band=REGION_KR920
heltec_wifi_lora_32.menu.LORAWAN_REGION.8=REGION_IN865
heltec_wifi_lora_32.menu.LORAWAN_REGION.8.build.band=REGION_IN865
heltec_wifi_lora_32.menu.LORAWAN_REGION.9=REGION_US915_HYBRID
heltec_wifi_lora_32.menu.LORAWAN_REGION.9.build.band=REGION_US915_HYBRID
えーっと、、、日本のが無いですね。。。周波数帯的には韓国と一緒なのですが、ESP32自体の技適がなかったりするので、日本向け製品がまだ出でていません。
ボード追加
- DOIT ESPduino32
- ETBoard
- Heltec Wireless Stick Lite
- HONEYLemon
- IMBRIOS LOGSENS_V1P1
- INEX OpenKB
- KITS ESP32 EDU
- Labplus mPython
- M5Stack-ATOM
- M5Stack-Core2
- M5Stack-CoreInk
- M5Stack-Timer-CAM
- Metro ESP-32
- MGBOT IOTIK 32A
- MGBOT IOTIK 32B
- Piranha ESP-32
- ProtoCentral HealthyPi 4
- S.ODI Ultra v1
- Senses’s WEIZEN
- SparkFun ESP32 Thing Plus
- TTGO LoRa32-OLED v2.1.6
- TTGO T7 V1.3 Mini32
- TTGO T7 V1.4 Mini32
- WEMOS LOLIN32 Lite
- WiFiduino32
いろいろ追加されていますね。
スケッチ例の変更
カテゴリ | スケッチ |
ArduinoOTA→OTAWebUpdater | フォーマットのみ変更 |
BLE→BLE_Beacon_Scanner | 新規追加 |
BLE→BLE_client | スペルミス修正 |
BLE→BLE_EddystoneTLM_Beacon | 新規追加 |
BLE→BLE_EddystoneURL_Beacon | 新規追加 |
BLE→BLE_iBeacon | setAdvertisementType()の呼び出し追加 |
BluetoothSerial→SerialToSerialBT_SSP_pairing | 新規追加 |
DNSServer→CaptivePortal | DNSサーバーをGoogle(8.8.4.4)に変更 |
EEPROM→eeprom_class | delay()の追加とput()からwriteString()に変更 |
ESP32→Camera→CameraWebServer | 対応機種追加 |
ESP32→ChipID | 取得方法の変更 |
ESP32→RMT→RMTCallback | 新規追加 |
ESP32→RMT→RMTLoopback | eventsが未作成だったのを修正 |
ESP32→RMT→RMTReadXJT | 内部関数の引数追加(未使用) |
ESPmDNS→mDNS_Web_Server | コメント修正(esp8266.local→esp32.local) |
Ffat→FFat_Test | file.close()追加 |
HTTPUpdate→httpUpdate | コメント修正(file.bin→/file.bin) |
HTTPUpdate→httpUpdateSecure | コメント修正(file.bin→/file.bin) |
HTTPUpdateServer→WebUpdater | 新規追加 |
SPI→SPI_Multiple_Buses | PIN定義をdefineに修正 |
SPIFFS→SPIFFS_Test | file.close()追加 |
Update→HTTPS_OTA_Update | 新規追加 |
WebServer→HelloServer | hello from esp8266!→hello from esp32! |
WebServer→PathArgServer | UriBracesとUriRegexを使ったPath指定に変更 |
WiFi→WPS | コメントとスペルミス修正 |
WiFiClientSecure→WiFiClientInsecure | 新規追加 |
WiFiClientSecure→WiFiClientSecureEnterprise | キーなどの入れ替え |
WiFiProv→WiFiProv | 新規追加 |
個別の変更は差が多すぎるので、スケッチ例から差分を確認してみます。既存への影響はあまりないようですね。新規追加されたスケッチ例は後日内容を確認してみたいと思います。
独自生成したDoxygen
上記にリリースファイルからDoxygenにて出力したドキュメントを入れてあります。
まとめ
BLEまわりは結構手が入っているので、個別に確認したほうがいいかもしれません。公式スケッチ例を何個かビルドしてみましたが、やっぱりコンパイル警告が何個も出てきますね。RCの段階でチェックしてプルリクエストを出さないとだめですね。。。
ESP32の公式ライブラリも、M5Stackのライブラリもリリース間隔が開き気味なので、あまりプルリクエストを出すモチベーションが上がらない、、、
ちなみにプレコンパイルオプションも、1.0.5で動かないままでした。
コメント