§  ESP8266の後継機「ESP32(ESP-WROOM-32)」を試す

 2017年の山歩き納めをして久々にESP8266に向き合おうとしたら、何と、後継機のESP32が発表されているではありませんか。さっそくピッチ変換モジュールを入手しようとWebを眺めると、秋月電子通商から評価・開発用ボードが発売されている。12月時点の価格は1,480円で、これを購入すれば半田ごてを握ることなく即評価に取りかかれる。それこれで遅まきながら購入することにしました。
 いくつもの開発環境が準備されていたり、Bluetoothが付いていたり、さらにメモリーやI/Oが増えているなど大変な充実ぶりですが、まず手始めに、以前に開発してこのコーナーで公開済みの「ESP-WROOM-02(ESP8266)によるAirMonitor」を移行してみることにしました。
 各章では、AirMonitorの製作工程にそって、ESP8266からの移行あるいはESP8266との相違点を中心にまとめています。このため、『超小型格安チップ「ESP-WROOM-02(ESP8266)」はどこまで使えるか?』の内容と重複する説明は割愛しています。各章の構成は同じなので、分かりにくい部分は対応する章を参照してください。
 そんなことで、開発環境は今までどおりArduino IDEを利用します。現時点ではライブラリが未登録ないし開発中のものもありますが、そこは割り切って進めることにします。以下のつたない解説が、手っ取り早くESP32を活用したい皆様のお役に立てば幸いです。
 なお、ESP32はマイクロコントローラの名称で、通常われわれが入手できるのはそれをパッケージに収めたESP-WROOM-32ですが、以降ではこれらを簡単にESP32と呼ぶことにします。同様に、ESP-WROOM-02はESP8266と呼んでいます。

〔開発の制約と方針〕

 ●Webサーバー構築の制約
   現時点ではこれに対応するライブラリーがないので、GitHubで公開されている暫定的なライブラリー(実験版)
  「ESP8266/ESP32 WebServer」を使用します。
 ●ファイルのタイムスタンプの扱い
   ESP8266で使用していたSdFatに相当するライブラリーが見当たらないので、現時点ではタイムスタンプは
  考慮しないことにします。

〔プロジェクトの構成〕

  ボックスをクリックすると各ステップの内容が表示されます。


Ⅰ. 開発環境を準備する  ・ESP32の機能と性能 ・ESP32開発ボードの手配と準備
 ・ESP32用Arduino IDEのインストール ・以前のプログラムを修正する
Ⅱ. I2C接続とRTCの製作  ・RTCをESP32に接続する ・I2CのSDAとSCLを指定する ・既存コードの変更
 ・スケッチの実行
Ⅲ. 複数センサから計測  ・既存コードの変更 ・複数センサーの計測結果を検証する
 ・ESP-WROOM-32と開発ボード
Ⅳ. アナログ入力とSDカード  ・SDカード装置の設置と配線 ・土壌センサーのアナログ入力
 ・SDカード装置等のハンドリング ・既存コードの変更 ・スケッチの実行
Ⅴ. タイマー割込と自動計測  ・ソフト開発のポイント ・既存コードの変更 ・スケッチの実行
Ⅵ. Webサーバーの構築  ・所要機能を見直す ・Webサーバー用ライブラリーのインストール
 ・既存コードの変更 ・スケッチの実行
Ⅶ. ESP32によるAirMonitor  ・開発テーマの再整理 ・全体の配線について ・汎用MCUボードの製作
 ・ソフト開発のポイント ・終わりに